Автор Гілка: ssh: блокування ІР після неправильного пароля  (Прочитано 1514 раз)

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
поколупав /etc/ssh/sshd_config і не знайшов там щось такої можливості. Отже, треба блокувати ІР після другої неправильної спроби введення пароля і/або логіна.

буду вдячний за підказку/лінк на якце
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
* співчутливо:
Китайці дістали? Якщо так, то задача вирішується трохи іншим шляхом. З brute force attack на SSH можна боротися:
- зміна номеру порту
- прикручування до iptables правил на зразок:

iptables -N SSH_BF
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource -j SSH_BF
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A SSH_BF -m recent ! --rcheck --seconds 120 --hitcount 10 --name SSH --rsource -j RETURN
iptables -A SSH_BF -j DROP
iptables -A SSH_BF -j LOG --log-prefix "SSH Brute Force Attempt:  "

Для садистів з параноїдальним синдромом замість DROP можна рекомендувати TARPIT. Для мазохістів з шизофренією: -j REJECT --reject-with icmp-host-unreachable

« Змінено: 2009-04-23 02:26:26 від PAL »

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Цитата
- зміна номеру порту
ага, це вже зробив.

дякую, буду пробувати. мені єдине не зрозуміло в iptables це, чи зберігаються десь ці налаштування в конфігах, після перевантаження їх не треба вводити наново? 
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній knedlyk

  • Дописувач
  • **
  • дописів: 99
  • Карма: +0/-0
  • Archlinux форева!
поколупав /etc/ssh/sshd_config і не знайшов там щось такої можливості. Отже, треба блокувати ІР після другої неправильної спроби введення пароля і/або логіна.

буду вдячний за підказку/лінк на якце

Копайте в бік denyhosts - http://www.howtoforge.com/preventing_ssh_dictionary_attacks_with_denyhosts

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Цитата
- зміна номеру порту
дякую, буду пробувати. мені єдине не зрозуміло в iptables це, чи зберігаються десь ці налаштування в конфігах, після перевантаження їх не треба вводити наново? 

Якщо просто дасте команди з консолі, то, звичайно ні

Місце, де зберігаються налаштування залежить від дистру. Для RedHat дистрів це /etc/sysconfig/iptables
Для Ubuntu - /etc/ufw
Щодо інших не в курсі, порийтеся по /etc

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
Копайте в бік denyhosts - http://www.howtoforge.com/preventing_ssh_dictionary_attacks_with_denyhosts

Цікаве рішення, але мій спосіб для віддалених систем кращий :) Якщо адмін сам випадково піймав блок, треба тільки почекати трохи (час залежить від конкретних параметрів у iptables), й знов можна пробувати.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
потестив, все працює, дякую :)

я правильно зрозумів, що воно блокує, якщо протягом 2 хвилин було 10 спроб під’єднання? а де подивитись, на який час блокує?
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній PAL

  • Графоман
  • ****
  • дописів: 317
  • Карма: +0/-0
  • Just linux admin
потестив, все працює, дякую :)

я правильно зрозумів, що воно блокує, якщо протягом 2 хвилин було 10 спроб під’єднання? а де подивитись, на який час блокує?

Майже правильно :) Але трохи не так.
Дозволено не більше 10 спроб під'єднатися за останні 120 сек.
Тобто, якщо за перші 10 сек виконано 10 спроб, то чекати треба 110 сек. Але, якщо пробувати під'єднатися кожні 15 сек, то блокування не буде взагалі.