[SSH, port forwarding...] Колико је ово паметно?

tuks

Member
Joined
Sep 5, 2012
Messages
409
Reaction score
0
Пало ми је нешто на памет, па реко да ипак видим ако се неко боље разуме, колико ми је паметно то што сам урадио 🙂

Дакле идеја је да увек са било ког рачунара у било које време могу приступити свом рачунару преко SSH.

Отворио сам подешавања рутера, ставио да порт 22 преусмери на мој рачунар и то ради ок.

Е сада проблем је што немам статичну јавну IP адресу тако да не могу увек знати на коју адресу да се повежем преко SSH. Ево шта сам ја урадио:

Пошто имам свој веб сајт (shared hosting) направио сам php скрипту на њему, која кад се отвори, очитава IP адресу рачунара, повезује се на базу података коју сам направио и проверава да ли се та адреса поклапа са оном у бази. Ако се не поклапају, у базу се уноси нова IP адреса - адреса са које се приступило скрипти.

Затим сам на свом рачунару у crontab уписао да на сваких сат времена отвара ту скрипту, овако некако:
wget mojsajt.com/ip_refresh.php?key=blabla > /dev/null
Ово ?key=blabla сам ставио чисто онако, да не може да се приступи скрипти директно него мора да се укуца key као GET метода - скрипта проверава да ли је исправан кључ унет једноставном if наредбом. Знам да није нека мера безбедности али из неког мог трипа сам ставио тако.

Исто тако сам и направио скрипту којој се приступа преко mojsajt.com/ip_show.php?key=blabla, која приказује тренутну IP адресу овог мог рачунара из базе.

Тако да ако нисам код куће а рецимо треба ми неки фајл са рачунара, могу увек да сазнам преко те странице која је IP адреса мог рачунара код куће и да му приступим преко SSH.

Е сада, да ли неко може да сазна да ове скрипте уопште постоје на мом сајту и да им приступи, и чак и ако успе, да ли је то опасно за мене - ако неко зна моју IP адресу и отворен ми је SSH порт?

Ја колико капирам у најгорем случају може да покушава да ми се накачи на рачунар, и ако поред тога успе још и да ми погоди корисничко име и шифру, е онда је и заслужио да ради шта хоће

Заправо могу и да подесим apache да тражи шифру за приступ тој страници која приказује моју адресу (ако је дозвољено то на овом мом хостингу)

Можда је глупо питање, али ето, занима ме ваше мишљење, јер сад постоји начин да ми било ко уђе у рачунар па ме мало лупа параноја 🙂
 
Last edited:

Kex

New member
Joined
May 5, 2013
Messages
20
Reaction score
0
Promeni port za SSH na neki iznad 1024 kako bi izbegao smaranje od strane botova/skripti.
Za dodatnu zastitu, mozes da instaliras fail2ban ili koristi kljuceve umesto lozinke, ali i nema potrebe ako samo povremeno obratis paznju na auth.log i imas solidnu lozinku.
Dodatna sigurnost je i ako zabranis logovanje kao root i logujes se kao obican korisnik.
 
Last edited:

crni_bombarder

New member
Joined
Jun 24, 2013
Messages
6
Reaction score
0
Ovo je nesto sto bi verovatno vecina Linux korisnika htela da ima ukoliko imaju neki racunar koji im je stalno ukljucen. Problem je samo sto nemaju svi neki hosting i mogucnost da to urade na taj nacin. Tako da se postavlja pitanje kako na najjednostavniji nacin proveriti javnu IP adresu i poslati neko obavestenje o promeni.
Postoje servisi kao sto su ident.me i ifconfig.me pomocu koji se jednostavno moze dobiti javna IP adresa:
$ curl ident.me
Sledece pitanje je kako poslati obavestenje. Ne znam za Debian, ali ostale distribucije koje su zasnovane na Debian-u ne dolaze sa instaliranim sendmail-om ili postfix-om. Samim tim slanje e-mail a iz konzole je mali problem. Na svu srecu, postoje programi kao sto su SendEmail i SSMTP. SendEmail je zaista jednostavan za koriscenje, u jednoj kobasici na komandnoj liniji se navede sve sto treba, ali na zalost ne podrzava TLS pa samim tim je mucenje namestiti slanje preko gmail-ovog smtp servera. Ukoliko koristite smtp nekog od provajdera, onda je sve ok 🙂
Ako hocete da koristite gmail smtp - SSMTP je resenje. Ima konfiguracioni fajl koji se nalazi u /etc/ssmtp/ssmtp.conf
U taj fajl treba ubaciti sledece:

[email protected] AuthPass=sifra FromLineOverride=YES mailhub=smtp.gmail.com:587 UseSTARTTLS=YES

Ovaj program, SSMTP, se instalira kao “alternativni” sendmail. Tako da, ukoliko imate neke skripte koje vam se pokrecu preko crontab-a, ne zaboravite da dodate >/dev/null 2>&1 na kraju komande kako ne biste primali email obavestenja…

I tako dolazimo polako do skripte koja nam omogucava proveru javne IP adrese 🙂
Code:
#!/bin/bash

adresa="[email protected]"

ip="ip_adresa.txt"
iptmp="ip.tmp"
email="obavestenje.txt"

echo "To: $adresa" > $email
echo -e "Subject: Nova IP adresa\n" >> $email
echo -e "Tvoja nova IP adresa je:\n" >> $email


if [ -e $ip ]; then
curl ident.me > $iptmp
if diff $ip $iptmp > /dev/null ; then
echo "IP adrese su iste. Ne radi nista."
rm $iptmp
else
mv $iptmp $ip
cat $ip >> $email
ssmtp $adresa < $email
sed -i '$ d' $email
fi
else
curl ident.me > $ip
cat $ip >> $email
ssmtp $adresa < $email
sed -i '$ d' $email
fi
Sve sto je potrebno je da se ubaci skripta u crontab:
Code:
$ crontab -e

0 * * * * * /home/crni/skripte/ip.sh >/dev/null 2>&1
Kao sto je rekao Kex, treba promeniti default ssh port. Alternativa za fail2ban je DenyHosts (u sustini isto, denyhosts je samo za ssh, dok f2b nadgleda i druge servise)
 
Last edited:
Top