htmlbook.ru - настольная книга администратора

Файловый Архив

  • Неограниченное количество категорий и суб-категорий
  • Настройки прав доступа по группам
  • Настройки прав доступа по каждой категории
  • Предпросмотр медиа файлов: FLV, IFLV, F4A, F4V, MP4, MP3, MOV и других...
  • Мультизагрузка файлов - SWFUploader
  • Добавление файлов с сервера
Подробности и история обновлений продукта в этой теме
Loading

Go Back   форум vBSupport.org > > >
Register Изображения Меню vBsupport Files Manager Аллея Звёзд Реклама на форуме Search Today's Posts Mark Forums Read
  • Мемберка
  • Администраторам
  • Premoderation
  • For English speaking users
  • Изменения в правах
  • Каталог Фрилансеров
Пароли на скачивание файлов в Member Area меняются автоматически каждый день
Если вам нужно скачать какой то скрипт, за паролем ко мне в ЛС
привет какирам kerk
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Не можете скачать вложение?
Изменения в правах групп пользователей
внимательно читаем эту и эту темы
Короткая версия - тут
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

 
 
Old  
ERT
Знаток
Default Немного о защите сервера. fail2ban 5

Fail2ban — это инструмент, который отслеживает попытки залогиниться к различным сервисам, таким, как SSH, FTP, SMTP, Apache и другим, и если он находит постоянно повторяющиеся неудачные попытки с одного и того же IP-адреса или хоста, fail2ban остановит дальнейшие попытки залогиниться с этого IP-адреса/хоста, блокируя их с помощью правила iptables.
Как-то не доходили руки заглянуть в логи ауентификации. Недавно зашел, посмотрел и увидел огромное количество желающих попасть "ко мне в гости без приглашения". Установил fail2ban - эдакую тюрьму для IP злоумышленников.
Установка простая. Для linux.
HTML Code:
apt-get install fail2ban
Правим jail.conf в /etc/fail2ban
HTML Code:
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1 - IP которые будут игнорироваться
bantime  = 600 - время бана в секундах (можно 36000 = 10 часов)
maxretry = 3 - количество не удачных попыток подключения.
Бан SSH по умолчанию включен, но можно изменить максимальное количество не удачных попыток соединения
HTML Code:
maxretry = 6
Включаем SSH DDos
HTML Code:
[ssh-ddos]
enabled = true (false - отключить)
port    = ssh
filter  = sshd-ddos
logpath  = /var/log/auth.log
maxretry = 6
Бан vsftpd либо proftpd (кто чем пользуется)
HTML Code:
[vsftpd]
enabled  = true (false - отключить)
port	 = ftp,ftp-data,ftps,ftps-data
filter   = vsftpd
logpath  = /var/log/vsftpd.log
# or overwrite it in jails.local to be
# logpath = /var/log/auth.log
# if you want to rely on PAM failed login attempts
# vsftpd's failregex should match both of those formats
maxretry = 6

[proftpd]
enabled  = true (false - отключить)
port	 = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
maxretry = 6
Бан Mail servers
HTML Code:
[postfix]
enabled  = true (false - отключить)
port	 = smtp,ssmtp
filter   = postfix
logpath  = /var/log/mail.log

[couriersmtp]
enabled  = true (false - отключить)
port	 = smtp,ssmtp
filter   = couriersmtp
logpath  = /var/log/mail.log
Рестарт fail2ban
HTML Code:
/etc/init.d/fail2ban restart
Логи fail2ban находятся в /var/log/fail2ban.log.
Если Вы используете правила iptables для fail2ban, в логах будут ошибки:
HTML Code:
2011-11-03 15:36:18,402 fail2ban.jail   : INFO   Jail 'ssh-ddos' started
2011-11-03 15:36:18,410 fail2ban.jail   : INFO   Jail 'ssh' started
2011-11-03 15:51:41,522 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh-ddos
iptables -F fail2ban-ssh-ddos
iptables -X fail2ban-ssh-ddos returned 100
2011-11-03 15:51:41,523 fail2ban.jail   : INFO   Jail 'ssh-ddos' stopped
2011-11-03 15:51:42,450 fail2ban.actions.action: ERROR  iptables -D INPUT -p tcp -m multiport --dports ssh -j fail2ban-ssh
iptables -F fail2ban-ssh
iptables -X fail2ban-ssh returned 100
Фиксим эти ошибки.
Открываем /usr/bin/fail2ban-client. Находим:
HTML Code:
beautifier.setInputCmd(c)
и выше добавляем строку:
HTML Code:
time.sleep(0.1)
Должно выглядеть примерно так:
HTML Code:
    def __processCmd(self, cmd, showRet = True):
        beautifier = Beautifier()
        for c in cmd:
            time.sleep(0.1)
            beautifier.setInputCmd(c)
После рестарт fail2ban:
HTML Code:
/etc/init.d/fail2ban restart
Смотрим логи теперь, в котором уже есть заблокированные IP :
HTML Code:
2011-10-30 03:08:50,185 fail2ban.jail   : INFO   Jail 'vsftpd' stopped
2011-10-30 03:08:51,091 fail2ban.jail   : INFO   Jail 'apache-noscript' stopped
2011-10-30 03:08:51,293 fail2ban.jail   : INFO   Jail 'ssh-ddos' stopped
2011-10-30 03:08:51,402 fail2ban.jail   : INFO   Jail 'ssh' stopped
2011-10-30 03:08:51,500 fail2ban.jail   : INFO   Jail 'named-refused-tcp' stopped
2011-10-30 03:08:51,501 fail2ban.server : INFO   Exiting Fail2ban
2011-10-30 03:08:52,258 fail2ban.server : INFO   Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.4-SVN
2011-10-30 03:08:52,358 fail2ban.jail   : INFO   Creating new jail 'apache-noscript'
2011-10-30 03:08:52,359 fail2ban.jail   : INFO   Jail 'apache-noscript' uses poller
2011-10-30 03:08:52,470 fail2ban.filter : INFO   Added logfile = /var/log/apache2/error.log
2011-10-30 03:08:52,570 fail2ban.filter : INFO   Set maxRetry = 250
2011-10-30 03:08:52,873 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:52,973 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:08:54,184 fail2ban.jail   : INFO   Creating new jail 'vsftpd'
2011-10-30 03:08:54,184 fail2ban.jail   : INFO   Jail 'vsftpd' uses poller
2011-10-30 03:08:54,285 fail2ban.filter : INFO   Added logfile = /var/log/vsftpd.log
2011-10-30 03:08:54,386 fail2ban.filter : INFO   Set maxRetry = 6
2011-10-30 03:08:54,688 fail2ban.filter : INFO   Set findtime = 600
2011-10-30 03:08:54,789 fail2ban.actions: INFO   Set banTime = 36000
2011-10-30 03:08:55,999 fail2ban.jail   : INFO   Creating new jail 'ssh-ddos'
2011-10-30 03:08:55,999 fail2ban.jail   : INFO   Jail 'ssh-ddos' uses poller
2011-10-30 03:08:56,101 fail2ban.filter : INFO   Added logfile = /var/log/auth.log
2011-10-30 03:08:56,202 fail2ban.filter : INFO   Set maxRetry = 6
2011-10-30 03:08:56,504 fail2ban.filter : INFO   Set findtime = 600
2011-11-01 03:49:47,223 fail2ban.actions: WARNING [vsftpd] Ban 64.59.72.176
2011-11-01 06:40:54,290 fail2ban.actions: WARNING [ssh] Ban 58.62.173.159
2011-11-02 02:17:28,560 fail2ban.actions: WARNING [ssh] Ban 87.204.34.123
2011-11-02 06:02:45,437 fail2ban.actions: WARNING [ssh] Ban 180.139.138.178
2011-11-02 11:10:45,424 fail2ban.actions: WARNING [ssh] Ban 196.22.160.48
2011-11-02 20:20:45,118 fail2ban.actions: WARNING [ssh] Ban 184.164.158.82
2011-11-03 08:35:48,926 fail2ban.actions: WARNING [ssh] Ban 174.46.89.102
2011-11-03 11:22:25,276 fail2ban.actions: WARNING [ssh] Ban 122.72.19.96
Все работает. Актуально для версии iptables v1.4.8 и Fail2ban v0.8.4-SVN.
 
Old  
Serberg
Специалист
 
Serberg's Avatar
Default 0

А я добавлю немного.

1. ТС забыл дописать что на сервере должен предварительно быть установлен питон, чтобы работал файл2бан. Это важно ) Версия 2.5 вполне работоспособна.
2. netwind у меня тоже есть смартфон на андроиде, и я захожу и на сам сервер и в различные панели. Пароли очень большие и кривые, но храню я их в проге KeePass, она и на андроид есть. Все хранится в зашифрованном виде, а перепечатывать их не нужно, следовательно и ошибиться тоже нельзя.

на счет брута, у меня один из серверов работает на atom330, очень слабый, но справляется со своими задачами. Стоял по началу дефолтный порт, от брута SSH был жосткий тормоз, нагрузка на ЦП достигала 10% при простое сервера. сменил порт, поставил денихост и тормоза пропали. вот такие вот дела.
Возможно на более мощных серверах это не так заметно, но все же.

вот теперь можно думать, нужно это или нет.
 
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
Old  
ERT
Знаток
Default 1

Serberg, nmap покажет на каком порту что у тебя висит. Смысла нет вешать SSH на другой порт. Хотя тут мнения расходятся - одни говорят можно сменить, но признают, что это особо ничего не даст, другие говорят, что это бесполезная затея (nmap).
А по поводу ключей - все верно. Только интереса то это ни у кого не вызвало.
По поводу python. Так он вместе с дистрибутивом ставится (netinstall). Во всяком случае у меня.
Кстати, видал на твоем ресурсе такую тему.
Quote:
Originally Posted by Serberg View Post
на счет брута, у меня один из серверов работает на atom330, очень слабый, но справляется со своими задачами. Стоял по началу дефолтный порт, от брута SSH был жосткий тормоз, нагрузка на ЦП достигала 10% при простое сервера. сменил порт, поставил денихост и тормоза пропали. вот такие вот дела.
Возможно на более мощных серверах это не так заметно, но все же.
Поставь на сервер sshguard + iptables (firewall). Правила iptables будут отбрасывать пакеты, плюс банить ботнетовские IP-адреса. Главное, чтобы не было конфликта с fail2ban. У меня работает нормально. Да и еще, через правила iptables можно забанить уж очень надоедливые IP адреса, если необходимость возникла.
 
Old  
Serberg
Специалист
 
Serberg's Avatar
Default 0

Quote:
Originally Posted by ERT View Post
По поводу python. Так он вместе с дистрибутивом ставится (netinstall). Во всяком случае у меня.
Когда заказываешь установку на сервер centos minial - там даже mc нет, не говоря про все остальное.

Quote:
Originally Posted by ERT View Post
Serberg, nmap покажет на каком порту что у тебя висит. Смысла нет вешать SSH на другой порт. Хотя тут мнения расходятся - одни говорят можно сменить, но признают, что это особо ничего не даст, другие говорят, что это бесполезная затея (nmap).
Согласен, покажет. Но при переборе - один фиг схватит бан от нескольких часов до нескольких суток. "Устанет" перебирать и отвалит или так и будет долбиться головой в бетонную стенку )

Quote:
Originally Posted by ERT View Post
Поставь на сервер sshguard + iptables (firewall). Правила iptables будут отбрасывать пакеты, плюс банить ботнетовские IP-адреса.
Почитал, по сути тоже самое что денихост и фай2бан. Надо будет потестить на виртуалке.

Last edited by Serberg : 11-06-2011 at 03:09 PM.
 
Old  
ERT
Знаток
Default 3

Вот еще модуль evasive можно поставить, если использовать apache. Модуль отслеживает количество подключений с определенного клиента и блокирует IP адрес на определенное время при превышении лимита.
После установленного лимита для запросов к серверу с одного IP - HTTP/1.1 403 Forbidden.
Устанавливается из репозиториев:
HTML Code:
apt-get install libapache2-mod-evasive
Либо из исходников.
Переходим в папку tmp:
HTML Code:
cd /tmp/
Скачиваем архив c модулем:
HTML Code:
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
Распаковываем архив:
HTML Code:
tar xfzv mod_evasive_1.10.1.tar.gz
Переходим в папку с модулем:
HTML Code:
cd mod_evasive
Компилируем (если нет apxs2, устанавливаем apt-get-install apache2-prefork-dev):
HTML Code:
apxs2 -c -i -a mod_evasive20.c
Переходим в папку с установленным модулем:
HTML Code:
cd /etc/apache2/mods-available
Создаем файл конфига
HTML Code:
nano -w evasive20.conf
Вставляем конфиг и сохраняем:
HTML Code:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
DOSEmailNotify "admin@site.com"
DOSSystemCommand "iptables -A INPUT -p tcp –dport 80 -s %s -j REJECT"
DOSWhiteList  127.0.0.* 192.168.0.*
</IfModule>
Описание параметров:
OSHashTableSize – размер хэш-таблицы которая обрабатывает запросы.
DOSPageCount – число запросов к одной странице от одного и того же IP в течение указаного интервала времени
DOSSiteCount – число запросов ко всем страницам домена с одного и того же IP в течение указанного интервала времени
DOSPageInterval – интервал для директивы DOSPageCount (в секундах)
DOSSiteInterval – интервал для директивы DOSSiteCount (в секундах)
DOSBlockingPeriod – время блокировки IP (в секундах)
DOSEmailNotify – если какой-то IP заблокирован, можно отправить письмо на указанный email
DOSSystemCommand – команда, которая будет выполнена для блокировки IP. Напрмер, "/sbin/iptables -A INPUT -p tcp –dport 80 -s %s -j DROP", где %s – IP нашего потенциального флудера.
DOSWhiteList – список "белых" IP. Можно задавать маску, например 192.168.0.*
И включаем модуль:
HTML Code:
a2enmod evasive20
Перезапуск apache:
HTML Code:
/etc/init.d/apache2 restart
Я компилировал. Модуль работает отлично.

Last edited by ERT : 11-10-2011 at 04:35 PM.
 
Old  
xorex
Эксперт
vBSponsor
 
xorex's Avatar
Default 1

ERT, Надо бы упомянуть еще парочку нужных опций для этой фени, в особенности DOSSystemCommand с помощью которой можно добавить IP в правила фаервола. Если просто блокировать то ответы 403 все равно будут отдаваться, что нифига не гуд.


DOSEmailNotify: может быть использован для уведомления, будет отправлять сообщение по электронной почте о том что такой-то IP был заблокирован.
DOSSystemCommand: эта директива используется для выполнения какой-нибудь вашей команды когда IP блокируется. Вы можете использовать это для добавления IP-адреса в таблицу фаервола. (пример: "/sbin/ipfw table 111 add %s". В переменную "%s" передается от модуля IP-адресс атакуемого хоста)
DOSWhiteList: список белых IP адресов, можно и по маскам (напр. 127.0.0.*)

*
 
Old  
ERT
Знаток
Default 0

C iptables пока испытываю некоторые трудности. Именно с тем, как правильно написать правило (ну вот, к примеру, по этому вопросу), которое соответствует всем выше описанным в firewall. Пытаюсь, но без посторонней помощи пока что не обходится. А так в общем-то да, нужно добавлять белые IP, так как даже при обслуживании форума, модуль блокирует IP.
Пока что, при необходимости обновить счетчики, отключаю модуль (на момент обновлений).
Определюсь с firewall - покажу скрипт. На данный момент у меня закрыты не нужные порты, добавлено правило для защиты ssh от брутфорса + fail2ban и правила обработки пакетов, которые содержат «GET / HTTP».

P.S. Поправил конфиг модуля envasive.

Last edited by ERT : 11-10-2011 at 04:31 PM.
 
Old  
vlady
Эксперт
vBSponsor
Default 0

Quote:
Originally Posted by ERT View Post
У меня три сервера в инете, причем ни где-то там арендованных, а лично моих, которые я сам же и собирал.
Гм. А как насчет почитать рекомендации по защите? В частности, вообще исключить возможность логина по SSH под root, а юзерам запретить логины без авторизации с RSA-ключем.
 
 

Tags
fail2ban, ftp, ssh

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 04:14 PM.


Powered by vBulletin® Version 3.0.8
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.