2021/01/05

Script to prevent SSH attacks while allowing you to connect from dynamic IP address.

while most of the time connecting to a remote server using openvpn would be a smart choice, sometimes it's not an option. This script is for a linux behind a firewall/router. It's intended to prevent SSH attacks (by simply denying access to the SSH port) while allowing you to connect from your own dynamic DNS, that is, if you have a dynamic ip given by your ISP, otherwise you could simply use iptables.

#!/bin/bash
valor=`host yourdyndns`
OK=$?
if [ $OK -ne 0 ]; then
  exit
fi
addr=$(echo $valor |egrep "address .*" -o)
ip=$(echo $parte |egrep "[0-9\.]*" -o)

whitelist=/root/whitelist
touch ${whitelist}

exists=`cat ${whitelist} | grep "${parte2}"`

if [ $? -ne 0 ]; then
  echo $ip >$whitelist
  iptables -F   iptables -A INPUT -s $ip -j ACCEPT
  iptables -A FORWARD -s $ip -j \ ACCEPT                                                                                         
  iptables -A INPUT -p tcp --dport 22022 -j DROP                                                                                   
fi

add this to rc.local to reload iptables during bootup:

# delete whitelist

rm /root/whitelist

# run previous script

/root/bin/testso.sh


2021/01/03

x2x on Slackware

 I had to write something. This was kinda shocking to me. I was looking for a KVM (Keyboard, Video and Mouse) software to be able to control my notebook from my PC.  Been using an old free version of Synergy, but for some odd reason seems to be compiled for 32 bits and I felt it was a terrible waste to install multilib just to run it. So I decided to look for an alternative.

As usual, went to google and discovered that Slackbuilds has Barrier but when I tried to install it, it asked for avahi, and avahi asked for something else and that something else asked for other-something-else. So I gave up. Then I came across x2x.

This particular software has a wikipedia page so I wont bother telling the story about it.

    cd

    mkdir -p install/util/x2x

    cd install/util/x2x

    wget https://slackbuilds.org/slackbuilds/14.2/desktop/x2x.tar.gz

    tar xf x2x.tar.gz 

    cd x2x

    wget https://slackware.uk/~urchlay/src/x2x-1.30_beta+20200121_ec10215.tar.xz

    su

    ./x2x.SlackBuild

    installpkg /tmp/x2x-1.30_beta+20200121_ec10215-x86_64-1_SBo.tgz

then I have to create an script to connect to my notebook, but before I get into that I had to read the man page, last section, after the examples, gives an important tip when you have multiple monitors 

Left: 1920*1080 (primary)

Right: 1366*768

So I had to do the math and write the parameters to x2x according to the man page:

#!/bin/bash
ssh -YC rudy@macabra x2x -north -to :0.0 -big  -completeregionleft 0 -completeregionup 0 -completeregionright 3286 -completeregionlow 768

I have ssh configured so it wont ask me for password. North parameter means I placed my notebook "over" my monitors and it doesn't really matter from which monitor my mouse goes up, it appears on my notebook and it's able to travel  the entire notebook screen.

What shocked me about this is the fact it's a very old proyect, but works like a charm.