Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
CRON i włamania na SSH http://forum.freesco.pl/viewtopic.php?f=22&t=18188 |
Strona 1 z 2 |
Autor: | jpglobal [ sobota, 13 marca 2010, 22:10 ] |
Tytuł: | CRON i włamania na SSH |
Swego czasu, na forum pojawił się taki wątek "Banowanie ludkow łaczacych sie przez ssh". W tym wątku kolega Czerwo zamieścił dwa skrypty, które u mnie wyglądają następująco: #!/bin/sh # blokowanie ip przy atakach po ssh # skrypt zapisz w /etc/ssh pod nazwa blokada # nadaj atrybut wykonywalnosci chmod 755 /etc/ssh/blokada # sprawdzic atrybut i przynaleznosc pliku 'rwx r-- r-- nobody nograp' # if [ ! -r /etc/ssh/stare ]; then touch /etc/ssh/stare fi for IP in `cat /var/log/auth | grep "Invalid user" | awk '{print $10}' | uniq` ;do ile=`cat /var/log/auth | grep "Invalid user" | grep -w $IP | wc -l` if [ $ile -gt 3 ]; then echo $IP >> /etc/ssh/nowe fi done if [ ! -r /etc/ssh/nowe ]; then touch /etc/ssh/nowe fi for IP in `cat /etc/ssh/nowe` ;do cat /etc/ssh/stare | grep -w $IP > /dev/null let wynik=$? if [ $wynik = 1 ]; then iptables -I INPUT -s $IP -p tcp -j DROP iptables -I FORWARD -s $IP -p tcp -j DROP iptables -I INPUT -d $IP -p tcp -j DROP iptables -I FORWARD -d $IP -p tcp -j DROP echo $IP >> /etc/ssh/stare fi done rm /etc/ssh/nowe # do rc.local dopisac ponizsze ale odkratkowane # ---------------w /etc/rc.d/rc.local-------- # or IP in `cat /etc/ssh/stare` ;do # iptables -I INPUT -s $IP -p tcp -j DROP # iptables -I FORWARD -s $IP -p tcp -j DROP # iptables -I INPUT -d $IP -p tcp -j DROP # iptables -I FORWARD -d $IP -p tcp -j DROP # done # ------------------------------------------ # do /var/spool/cron/root dopisac ponizsze odkratkowane # za pomoca polecenia crontab -e root # ---------/var/spool/cron/root------------ # */5 * * * * /etc/ssh/blokada # ---------------------------------------- # jezeli chcemy odblokowac jakies ip bo nam sie zablokowalo to : # ----------------kod:--------------------- ##!/bin/sh # IP="81.1.110.199" # iptables -I INPUT -s $IP -p tcp -j ACCEPT # iptables -I FORWARD -s $IP -p tcp -j ACCEPT # iptables -I INPUT -d $IP -p tcp -j ACCEPT # iptables -I FORWARD -d $IP -p tcp -j ACCEPT # ----------------------------------------------- oraz skrypt: #!/bin/sh # odblokowanie ip po atakach po ssh # dla skryptu czerwa. # Moze byc przydatne jezeli iptables dluzej nie jest restartowane i regulki # moglyby sie bardzo rozrosnac.... # zapisac jako /etc/ssh/czysc_bany # nadac atrybut wykonywalnosci chmod 755 /etc/ssh/czysc_bany # sprawdzic atrybut i przynaleznosc pliku 'rwx r-- r-- nobody nogrup' # do pliku /var/spool/cron/root/ dopisac # poleceniem crontab -e root # ------------------------------------------ # */* 6 * * * /etc/ssh/czysc_bany # ------------------------------------------ # odblokowywanie co 6 godzin # if [ -r /etc/ssh/stare ]; then for IP in `cat /etc/ssh/stare` ;do iptables -D INPUT -s $IP -p tcp -j DROP iptables -D FORWARD -s $IP -p tcp -j DROP iptables -D INPUT -d $IP -p tcp -j DROP iptables -D FORWARD -d $IP -p tcp -j DROP done fi Niestety w: Pojawiają się zapisy tego typu: 13-Mar-2010 00:15 USER root pid 15716 cmd /etc/ssh/blokad 13-Mar-2010 00:19 failed user root parsing */* 5 * * * /etc/ssh/czysc_bany a plik: zawiera listę, jak się domyślam, adresów IP z pod których dokonywano próbę włamania do mnie po SSH. Plik: się nie pojawia w katalogu. Pytanie brzmi: Dlaczego cron wywala taki komunikat, jak mniemam potwierdzający odmowę wykonania skryptu „czysc_bany” i co należy zrobić, żeby ten problem usunąć? Pozdrawiam J |
Autor: | Maciek [ sobota, 13 marca 2010, 22:37 ] |
Tytuł: | |
Najpierw powiem tak, używanie bashowych skryptów w tym zastosowaniu nie ma dziś już logicznego uzasadnienia. Jest program fail2ban, który skutecznie zabezpieczy ssh i nie tylko (np jeszcze ftp, pocztę...). Zatem w tym układzie szkoda czasu na dalsze rozważania. Zapewne jednak dla zasady wolisz wiedzieć na czym polega problem. Nie wiem jaki masz wpis do crona, ale: 13-Mar-2010 00:19 failed user root parsing */* 5 * * * /etc/ssh/czysc_bany Wskazuje, że chyba coś z tym wpisem masz nie tak. Albo z samym skryptem. |
Autor: | jpglobal [ sobota, 13 marca 2010, 23:11 ] |
Tytuł: | |
W cronie jest zrobiony wpis tak jak w skryptach czyli: # do /var/spool/cron/root dopisac ponizsze odkratkowane # za pomoca polecenia crontab -e root # ---------/var/spool/cron/root------------ # */5 * * * * /etc/ssh/blokada # ---------------------------------------- oraz: # ------------------------------------------ # */* 6 * * * /etc/ssh/czysc_bany # ------------------------------------------ I dokładnie w: jest: |
Autor: | jpglobal [ sobota, 13 marca 2010, 23:14 ] |
Tytuł: | |
Przepraszam, pomyliłem się. W jest: |
Autor: | jpglobal [ sobota, 13 marca 2010, 23:15 ] |
Tytuł: | |
Kurde, zamiast 6 jest 5 |
Autor: | Maciek [ sobota, 13 marca 2010, 23:17 ] |
Tytuł: | |
To drugie jest zahaszowane - nie będzie działać. Poza tym to drugie jakoś mi się nie podoba (*/*). |
Autor: | jpglobal [ sobota, 13 marca 2010, 23:21 ] |
Tytuł: | |
I mata kupę racji w tym ustępie kolego, bo jest tak a mnie się po prostu pomerdało przy kopiuj wklej. W tym ważne jest to, że skrypt nie startuje, a ja nie wiem dlaczego. |
Autor: | czerwo [ sobota, 13 marca 2010, 23:50 ] |
Tytuł: | |
Odpal z palca: /etc/ssh/czysc_bany zobacz czy działą Co to ostatnio ludzie za stare rzeczy odgrzebują ;D |
Autor: | jpglobal [ sobota, 13 marca 2010, 23:57 ] |
Tytuł: | |
Skrypt poszedł bez błędu, ale plik "nowe" się nie pojawił a w pliku "stare" jak są wpisy, tak są. |
Autor: | JakubC [ niedziela, 14 marca 2010, 02:31 ] |
Tytuł: | |
ten zapis wydaje mi się mieć umiarkowany sens */* 6 * * * /etc/ssh/czysc_bany (tak samo jak grzebanie w starych skryptach dla samego grzebania, ale każdy ma swoje rozrywki << Hint: pacman -S fail2ban ; /etc/rc.d/fail2ban start >> ) |
Autor: | jpglobal [ niedziela, 14 marca 2010, 09:22 ] |
Tytuł: | |
pacman -S fail2ban i co dalej, czy to już wszystko? |
Autor: | Maciek [ niedziela, 14 marca 2010, 11:23 ] |
Tytuł: | |
Jeszcze /etc/rc.d/fial2ban start i dopisać do rc.conf w sekcji DAEMONS - o ile pamiętam to ochrona ssh jest już domyślnie włączona. |
Autor: | jpglobal [ niedziela, 14 marca 2010, 11:37 ] |
Tytuł: | |
No i mamy problem, bo w rc.conf w sekcji DAEMONS domyślnie jest: !fail2ban |
Autor: | czerwo [ niedziela, 14 marca 2010, 12:48 ] |
Tytuł: | |
to usuń ! i po sprawie |
Autor: | Maciek [ niedziela, 14 marca 2010, 12:54 ] |
Tytuł: | |
Czasem instalator pakietu sam dopisuje* i stawia wykrzyknik. Wykrzyknik oznacza, że dana usługa się nie uruchamia. Usuniesz wykrzyknik, będzie się uruchamiać. -- * Nie jestem w stanie wszystkiego spamiętać. |
Autor: | jpglobal [ niedziela, 14 marca 2010, 13:16 ] |
Tytuł: | |
OK, zgoda co do "!". To jest napisane w: w opisie sekcji DAEMONS, ale ciekawi mnie ile NND pracuje z zanistalowanym, a nie uruchomionym pakietem fail2ban! A co do wątku z uruchamianie skryptu w cron'ie, to przypuszczam, że z jakiegoś powodu zapomniałem o wolnej linii na końcu: pomimo, iż operacje robiłem za pomocą: ale to już sprawdzę innym razem przy okazji treningu z cron'em. Wpierw muszę poczytać jak się obchodzić z cron'em. |
Autor: | Maciek [ niedziela, 14 marca 2010, 14:37 ] |
Tytuł: | |
Cytuj: ale ciekawi mnie ile NND pracuje z zanistalowanym, a nie uruchomionym pakietem fail2ban
Żartujesz? Jak może działać nieuruchomiony program? |
Autor: | jpglobal [ niedziela, 14 marca 2010, 15:28 ] |
Tytuł: | |
Wystarczy rzucić stosowne hasło na forum i dowiemy się jaki jest procentowy udział modelu "niedouczonego gimnazjalisty" w społeczności NND. |
Autor: | JakubC [ niedziela, 14 marca 2010, 16:22 ] |
Tytuł: | |
crontab -e sam dodaje wolną linię na końcu. Uruchomiłeś ten program - przez /etc/rc.d/fail2ban start - a jeżeli nie, to powinieneś to zrobić. Jestem też żywo zainteresowany do kogo kierujesz powyższy post. |
Autor: | viater [ niedziela, 14 marca 2010, 17:06 ] |
Tytuł: | |
jpglobal pisze: No i mamy problem, bo w rc.conf w sekcji DAEMONS domyślnie jest: !fail2ban Rzeczywiście problem nie do przejścia ![]() A poważnie: ten domyślny wykrzyknik jest dlatego, że to admin (czyli Ty) a nie pacman ma decydować, jakie usługi są włączane przy starcie systemu... |
Strona 1 z 2 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |