новости книги игры
библиотека программы форум

11.05 11.10 1C 2010 2011 3d Acer action Additional Adobe alt linux ALT линукс в школу altlinux amarok AMD Android Apache apple apt-get ArchLinux asplinux ASUS Asus Eee PC ATI audio avi backup bash beta big buck bunny bind bittorrent blender bluetooth bsd c C++ Calibre Canonical cd Cedega CentOS chrome chromium cisco clamav CLI Damn Small Linux debian Deepin Dell desktop dns DOOM DOS download driver dvd e-book Eclipse emacs embedded linux enterprise EPUB Etersoft exim ext2 ext3 ext4 faq FB2 fedora fedora10 fedora8 fedora9 fedoracore firefox firefox3 firewall Flash Fluxbox flv free FreeBSD freeware ftp games gcc gentoo GIMP gnome GNU gnu linux google GPL GRUB gtk GTK+ hackday hdd


   

«    Декабрь 2007    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 

Gnome vs KDE?

Gnome
KDE
other...



LinuxTwitter:




Архив:

Июль 2012 (26)
Октябрь 2011 (91)
Октябрь 2010 (42)
Апрель 2010 (10)
Январь 2010 (29)
Декабрь 2009 (6)
Ноябрь 2009 (31)
Октябрь 2009 (20)
Апрель 2009 (19)
Март 2009 (1)
Февраль 2009 (20)
Январь 2009 (31)
Декабрь 2008 (71)
Ноябрь 2008 (89)
Октябрь 2008 (91)
Сентябрь 2008 (113)
Август 2008 (168)
Июль 2008 (156)
Июнь 2008 (147)
Май 2008 (191)
Апрель 2008 (213)
Март 2008 (197)
Февраль 2008 (195)
Январь 2008 (112)
Декабрь 2007 (146)
Ноябрь 2007 (94)




Партнёры:


Добавить в Google Reader
Читать в Yandex.Ленте
Mobile LinuxOpen (test version)

Защита SSH от перебора пароля с помощью blocksshd и iptables 

 Мне нравится:

Существуют такие ситуации, когда сервис SSH должен быть открыт для всего интернета, а не только для определённых адресов. Однако в этом случае большинство системных администраторов сталкивается с проблемой перебора паролей. Так называемой брутфорс-атакой. Это явление не столько опасное (хотя конечно же недооценивать опасность не стоит), сколько просто неприятное. Однако решение у этой проблемы есть, и даже не одно.

Существует множество различных скриптов, принцип работы которых одинаков: анализируется лог авторизации, и закрывается доступ к серверу с IP-адресов, с которых было несколько неудачных попыток авторизации в течении короткого времени. В этой статье будет описан один из них - blocksshd, который представляет собой демона, написанного на perl, и имеющего достаточно гибкую конфигурацию. Всё написанное справедливо для дистрибутива Gentoo Linux. Для других дистрибутивов инструкции могут немного отличаться.

Итак. Само собой для начала нужно установить blocksshd:


emerge layman

layman --add sunrise

emerge blocksshd


Далее копируем пример файла конфигурации как /etc/blocksshd/blocksshd.conf и открываем в редакторе:

cp /etc/blocksshd/blocksshd.conf.sample /etc/blocksshd/blocksshd.conf
nano -w /etc/blocksshd/blocksshd.conf


Интересных параметров тут достаточно много. Например по умолчанию логом авторизации считается файл /var/log/messages. Если же вы настроили syslog так, чтобы логи авторизации складывались в другой файл, например /var/log/auth.log, то вам нужно соответствующим образом подправить эту строку:

logfile => '/var/log/auth.log',


Далее нам нужно ограничить максимальное количество неудачных попыток авторизации. По умолчанию оно равно четырём. Лучше уменьшить до трёх или даже до двух:

max_attempts => '2',


Далее разрешим "разбанивать" заблокированные адреса по истечении unblock_timeout:

unblock => '1',


Кроме того есть интересная пара параметров: send_email и email. Если первый установлен в 1, то отправляется письмо на адрес, указанный во втором. Мой мобильный оператор предоставляет услугу отправки SMS через e-mail. Т.е. если отправить e-mail на адрес: @, то мне приходит SMS. Именно этим я и воспользовался, но поскольку по умолчанию в письмо добавляется так же вывод whois для блокируемого IP-адреса, который имеет достаточно большой размер и потому не всегда помещается в одну SMS, то можно отключить отправку whois на e-mail:

email_whois_lookup => '0',


Можно так же не отключать whois, но вместо него использовать какую-то другую программу. Например иногда достаточно получить вывод команды nslookup. Это делается так:

email_whois_lookup => '1',
whois => '/usr/bin/nslookup',


Кроме того вы можете изменить имя цепочки правил iptables, которую использует blocksshd:

chain => 'blocksshd',


Закончив конфигурирование запускаем демон:

rc-update add default
/etc/init.d/blocksshd start


Но это ещё не всё. Далее нужно настроить iptables. Сейчас мы будем исходить из того, что у вас разрешения строятся по принципу "ничего кроме...". Если у вас не так - мне вас жаль.

Итак. В вашем скрипте установки правил iptables должна быть примерно такая строка:


iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT


Перед этой строкой нужно добавить ещё несколько строк. Должно получится примерно вот так:


# Удаляем цепочку blocksshd
iptables -X blocksshd

# Инициализируем пустую цепочку blocksshd
iptables -N blocksshd

# Проверяем не входит ли IP в цепочку blocksshd
iptables -I INPUT -m tcp -p tcp --dport 22 -j blocksshd

# Разрешаем SSH для всех (исходная строка)
iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT


Далее применяем новые правила iptables и сохраняем их:

/etc/init.d/iptables save


Всё. Теперь брутфорс-атаки вам не так страшны, как ещё полчаса назад:)

Очень надеюсь что вам пригодится эта статья, но не обещаю что всё будет именно так, как тут написано:)

источник статьи   


20 декабря 2007  /   /   ]

Похожие статьи

  • Настройка файрвола. iptables
  • Используем 2+ провайдера (вторая часть)
  • IP прокси средствами фаервола Linux
  • Защита SSH сервера
  • Linux маршрутизатор с несколькими внешними интерфейсами.




  • Комментировать:



     ©2007 - 2012 @antropoff.ru