Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: staco в Jan 31, 2010, 22:39



Титла: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: staco в Jan 31, 2010, 22:39
Здравейте  :)

Попаднах на тази стара статийка: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&key=385185851&list=all&id=advices
.. и реших да направя това, което е написано в нея, тъй като сметнах, че ще е от полза.

НО :) излизат разни грешки. Някой би ли могъл да помогне за оправянето им, или написването на алтернативна защита ?

Ето и какво правя:
Код:
$ sudo su
# iptables -L
** Output:
Цитат
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain SSH (0 references)
target     prot opt source               destination 
Код:
# gedit /etc/rc.d/rc.firewall
** PASTE-вам:
Цитат
#!/bin/sh
iptables -N SSH
 iptables -A INPUT -p tcp --dport 22 --syn -j SSH
 iptables -A SSH -p tcp -s 127.0.0.1 -j RETURN
  iptables -A SSH -p tcp --syn --dport 22 -m recent --name
bad_ssh --update --seconds 60 -j DROP
  iptables -A SSH -p tcp --syn --dport 22 -m recent --name
bad_ssh --set -j RETURN
** Сейфам
Код:
# chmod 755 /etc/rc.d/rc.firewall
# /etc/rc.d/rc.firewall restart
** Output:
Цитат
iptables: Chain already exists.
iptables v1.4.4: option `--name' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
/etc/rc.d/rc.firewall: 7: bad_ssh: not found
iptables v1.4.4: option `--name' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
/etc/rc.d/rc.firewall: 9: bad_ssh: not found
Код:
# iptables -L
** Output:
Цитат
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
SSH        tcp  --  anywhere             anywhere            tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain SSH (1 references)
target     prot opt source               destination         
RETURN     tcp  --  localhost            anywhere

За
Цитат
iptables: Chain already exists.

Не съм сигурен дали преди излизаше, защото бях изпълнил това, което писах сега преди час-два, но след това FLUSH-нах iptables (iptables -F). За да напиша какъв е проблема, изпълних стъпките отново (т.е. сега) и не си спомням съвсем точно.

Благодаря предварително на отзовалите се  ;)

ПС: Дистрото е Убунту 9.10
Олеле сега виждам, че две от линиите били пренесени на нов ред  ??? ??? Оправих ги ! Но продължава да излиза
Цитат
iptables: Chain already exists.
дори след iptables -F

Какво се прави в този случай ?

Ето кода на /etc/rc.d/rc.firewall
Код
GeSHi (Bash):
  1. #!/bin/sh
  2. iptables -N SSH
  3. iptables -A INPUT -p tcp --dport 22 --syn -j SSH
  4. iptables -A SSH -p tcp -s 127.0.0.1 -j RETURN
  5.  iptables -A SSH -p tcp --syn --dport 22 -m recent --name bad_ssh --update --seconds 60 -j DROP
  6.  iptables -A SSH -p tcp --syn --dport 22 -m recent --name bad_ssh --set -j RETURN



Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: shoshon в Jan 31, 2010, 23:43
Таблиците (nat,filter,mangle) също се flush-ват ( -t xxx -F ), но не ме питай защо е така.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: staco в Feb 01, 2010, 00:23
Таблиците (nat,filter,mangle) също се flush-ват ( -t xxx -F ), но не ме питай защо е така.

Flush-нах ги, но пак излиза същото съобщение  ???

Код:
$ sudo iptables -F
$ sudo iptables -t mangle -F
$ sudo iptables -t nat -F
$ sudo iptables -t filter -F
$ sudo /etc/rc.d/rc.firewall restart
iptables: Chain already exists.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: Warstomp в Feb 01, 2010, 10:01
Код:
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

Едно от нещата които ще имат най-голям резултат е да си смениш порта да не е default 22.
В статията не го пише.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: mbb в Feb 01, 2010, 10:14
Преди всичко гледай внимателно, какво ти пише:

iptables: Chain already exists.
iptables v1.4.4: option `--name' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
/etc/rc.d/rc.firewall: 7: bad_ssh: not found
iptables v1.4.4: option `--name' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
/etc/rc.d/rc.firewall: 9: bad_ssh: not found


/etc/rc.d/rc.firewall: 7: bad_ssh: not found
на 7 ред има недефинирана верига  bad_ssh.

Първо трябва да съзадеш такава и опитай отново.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: ivanatora в Feb 01, 2010, 10:44
Освен това въпросния 7-ми ред е пренесен неправилно на нов ред, а всъщност е част от горния. За това шела се оплаква че bad_ssh е невалидна команда.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: Acho в Feb 01, 2010, 10:54
Съгласен съм със Стефан напълно. И аз винаги, веднага след като инсталирам системата, сменям порта на SSH2. Избрал съм си да е 2292. Но навремето това беше продиктувано от друго. Имаше един варненски доставчик, който филтрираше 22 порт (така и не ми обясниха свястно защо). И даже тогава ги питахме риторично "Абе Вие АДЖЕБА, INTERNET ли продавате, или нещо орязано ?" Та от него време си заплюх един ВИСОК порт и с него си бачкам вече доста годинки.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: edmon в Feb 01, 2010, 13:45
Да смениш порт на услуга е мярка за сигурност, колкото да смениш 80 порт за ХТТП като мярка за бързодействие! :)))


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: foxb в Feb 01, 2010, 14:28
Аз съм за смяна на порта...

Повечето script kiddies няма да си играят да ти сканират машината а само ще пробват порта.



Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: Acho в Feb 01, 2010, 14:51
@Edmon, нищо лично колега, не е заяждане със СТАРШИ във форума, ама като ти чета постингите, повечето са все със присмех. Вместо да са градивни. То е ясно ЧЕ САМО ТОВА действие няма да те ПРЕДПАЗИ, но ще намали риска. А и аз обясних ЗАЩО НАВРЕМЕТО - 2002 г. съм сменил с ВИСОК порт.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: Warstomp в Feb 01, 2010, 14:52
Да смениш порт на услуга е мярка за сигурност, колкото да смениш 80 порт за ХТТП като мярка за бързодействие! :)))
Естествено че е мярка за сигурност. Някога разглеждаш ли си лог файла на firewall-а?


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: staco в Feb 01, 2010, 15:29
Още в началото си мислих да го сменя, но реших да го оставя поне временно, но днеска като гледам лога има 3-4 адреса, от които са се опитали да влязат  ;D бързаци ей  :D

Сменен е вече.  ;)
Само че проблема с "chain already exists" си остава.
Изпълних всички команди, които сте ми написали, ама продължава да излиза.

Въпреки това след рестарт на rc.firewall и гореописаното съобщение, вижте какво излиза при iptables -L
Цитат
$ sudo /etc/rc.d/rc.firewall restart
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
SSH        tcp  --  anywhere             anywhere            tcp dpt:ПОРТА flags:FIN,SYN,RST,ACK/SYN

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain SSH (1 references)
target     prot opt source               destination         
RETURN     tcp  --  localhost            anywhere           
DROP       tcp  --  anywhere             anywhere            tcp dpt:ПОРТА flags:FIN,SYN,RST,ACK/SYN recent: UPDATE seconds: 60 name: bad_ssh side: source
RETURN     tcp  --  anywhere             anywhere            tcp dpt:ПОРТА flags:FIN,SYN,RST,ACK/SYN recent: SET name: bad_ssh side: source

Обаче не работи както е описано в статията.
Пробвах отново да се логна с грешни пароли докато не прекъсна връзката за втори път. Нямаше никакво блокиране от 60 секунди  ??? Влязох си след това без проблеми  ???

ПС: Пробвах от localhost, понеже лаптопа не е в момента у нас


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: VladSun в Feb 01, 2010, 16:17
Обаче не работи както е описано в статията.
Пробвах отново да се логна с грешни пароли докато не прекъсна връзката за втори път. Нямаше никакво блокиране от 60 секунди  ??? Влязох си след това без проблеми  ???

ПС: Пробвах от localhost, понеже лаптопа не е в момента у нас

Код
GeSHi (Bash):
  1. iptables -A SSH -p tcp -s 127.0.0.1 -j RETURN
...


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: staco в Feb 01, 2010, 16:37
Обаче не работи както е описано в статията.
Пробвах отново да се логна с грешни пароли докато не прекъсна връзката за втори път. Нямаше никакво блокиране от 60 секунди  ??? Влязох си след това без проблеми  ???

ПС: Пробвах от localhost, понеже лаптопа не е в момента у нас

Код
GeSHi (Bash):
  1. iptables -A SSH -p tcp -s 127.0.0.1 -j RETURN
...

Оф, че съм заплес  :o
Пробвах сега през ip-то на компютъра (192.168.Х.ХХ), всичко е шест  :D

Само не ми е ясно, защо продължава да излиза съобщението "chain already exists", дори след флушването ???


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: VladSun в Feb 01, 2010, 16:44
Защото -F изтрива правилата, но не и веригите. Трябва ти и -X

Код
GeSHi (Bash):
  1. for TABLE in filter nat mangle; do
  2.    iptables -F -t $TABLE
  3.    iptables -X -t $TABLE
  4. done


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: edmon в Feb 02, 2010, 02:03
Знам, че повечето хора мислят, че смяната на порта е много вълнуващо и хакерско, също така обикновенно сменят името на административния акаунт на уиндоусите от Administrator на малкото си име! :) Това там може и да помага!

Ачо, за да градиш нещо някъде някой трябва да е прочел малко от малко!
Не е хубаво всеки път да си обсъждаме едно и също!

Логфайла на файруола бъка от проби  и кво? Нека си пробват!


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: gat3way в Feb 02, 2010, 11:11
Сериозно, какво толкова сте се панирали от тези "атаки". По груби наблюдения, проверката на комбинация от потребителско име и парола отнема над секунда-две. При мен, sshd-то по дефолт си е с MaxSessions 10, което означава, че в най-добрият случай повече от 5-6 пароли няма как да се пробват в секунда (и това ще бъде зверски шумно). Сега да речем че ползваме една къса (7-символна) парола само от малки букви, възможните пароли са 26^7 ~ 8 милиарда, това множество с тази скорост (5 пароли/сек) ще се изчерпа при bruteforce атака за около 51 години. Бая време според мен.

Единственият шанс за лошите е ако имаме двойка често срещано потребителско име с някаква проста речникова парола, която да падне при една dictionary атака. Ерго, вместо да се сменят портове, да се слагат безумни правила в iptables (които апропо при дадени обстоятелства дават мегдан за DoS атаки), най-добре е да се ползват достатъчно сложни пароли - там някаква достатъчно дълга комбинация от малки/големи букви, цифри и евентуално други символи. Пък лошите нека си се пробват, освен че тъпчат логовете с глупости, друго не правят.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: dejuren в Feb 04, 2010, 22:52
Да ме простите, ама единствен аз ли ползвам туй SSH със ключ и забрана на парола?


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: gat3way в Feb 04, 2010, 23:52
Ами ако не ти е неудобно навсякъде да носиш флашка с ключа, може. Другото неудобство е че трябва да имаш бекъп, защото затриеш ли си поради някаква причина home директорията и ако не го пазиш някъде, става малко гадно.


Титла: Re: SSH Сървър - Защита против bruteforce/dict атаки
Публикувано от: Acho в Feb 05, 2010, 00:21
Именно, ако забраня паролата, няма да мога ОТВСЯКЪДЕ да се логна при нужда към машините ми. Все ще ми се наложи (от чуждото място) да погледна/пипам нещо, я няма да има как да сложа ключа, я не му бачкало нещо си, или друга болка някаква, там на чуждата машина. А и не съм чак параноик.