Наскоро попаднах на едно доста добро решение fail2ban. Слагам им линк, защото мисля че си го заслужават.
Накратко (личен превод):
Fail2ban сканира лог файловете (/var/log/httpd/error_log, access_log, mail_log) и банва IP-тата които имат подозрителни признаци -- много отхвърлени логин операции, търсене на експлоити, и т.н. Fail2Ban променя firewall правилата и отхвърля IP адресите за определено време (предефинирано), може и за неопределено. Операции като пращане на мейли, отваряне на CD-ROM също могат да се конфигурират. Fail2Ban има включени разнообразни предефинирани настройки (повечето от тях са изключени по дефолт) - apache, curier, ssh, postfix, ftp, и т.н.
Изисква се root достъп за да се инсталира пакета. Могат да се конфигурират допълнителни jails (правила), които не са трудни за запознатите с unix системите. Пишат се филтри (regex правила за сканиране на различен тип лог файлове), след това се указват jails за всеки един филтър.
Примерно при 3 грешни опита за логване през SSH - БАН на IP-то за определено време (може и перманентен бан) :twisted:
Хубавото е, че има писан плъгин за WP, който при маркирване на коментар като спам, логва в указан файл IP-то на писателя. Този файл може да се въведе в fail2ban за сканиране и да се баннат лошите спамери.
Линк към плъгина - http://blog.shadypixel.com/spam-log-plugin/
Какво е предимството на fail2ban пред akismet, и другите подобни пакети - fail2ban модифицира iptables и спира вредителите на unix ниво. Сървъра не харчи излишни ресурси за apache/php за спамерите. Много полезно за малки VPS решения.
Понеже имам 40+ сайта на моя VPS, във различни папки /var/www/html/site1, /var/www/html/site2 и т.н.
съм конфигурирал плъгина от всички сайтове да логва в един и същи файл - /var/www/html/spam.log
Понеже инструкциите от линка не ми помогнаха -
в jail.conf се добавя:
Във filter.d съм добавил файл wp-spam.conf
В инструкциите от линка е пропуснато да се сложи "action"!
fail2ban има вградени jails - ssh, proftpd, sasl, apache-tcpwrapper, postfix-tcpwrapper, vsftpd-notification, vsftpd-iptables, apache-badbots, apache-shorewall, php-url-fopen, lighttpd-fastcgi, ssh-ipfw, named-refused-udp, named-refused-tcp
Преди да го сложа, не знаех че имам brute force SSH login заявки. Вече доста IP-та се споминаха.
Аз лично съм настроил почти всичко на месечен бан (bantime), времето за търсене на филтри - месец (findtime), максимални опити - 1 и т.н. Сложил съм 2 IP-та за игнориране на правилата (от които влизам) за всеки случай.
Съвсем случайно намерих този пакет. Надявам се да е полезно на някой.
Накратко (личен превод):
Fail2ban сканира лог файловете (/var/log/httpd/error_log, access_log, mail_log) и банва IP-тата които имат подозрителни признаци -- много отхвърлени логин операции, търсене на експлоити, и т.н. Fail2Ban променя firewall правилата и отхвърля IP адресите за определено време (предефинирано), може и за неопределено. Операции като пращане на мейли, отваряне на CD-ROM също могат да се конфигурират. Fail2Ban има включени разнообразни предефинирани настройки (повечето от тях са изключени по дефолт) - apache, curier, ssh, postfix, ftp, и т.н.
Изисква се root достъп за да се инсталира пакета. Могат да се конфигурират допълнителни jails (правила), които не са трудни за запознатите с unix системите. Пишат се филтри (regex правила за сканиране на различен тип лог файлове), след това се указват jails за всеки един филтър.
Примерно при 3 грешни опита за логване през SSH - БАН на IP-то за определено време (може и перманентен бан) :twisted:
Хубавото е, че има писан плъгин за WP, който при маркирване на коментар като спам, логва в указан файл IP-то на писателя. Този файл може да се въведе в fail2ban за сканиране и да се баннат лошите спамери.
Линк към плъгина - http://blog.shadypixel.com/spam-log-plugin/
Какво е предимството на fail2ban пред akismet, и другите подобни пакети - fail2ban модифицира iptables и спира вредителите на unix ниво. Сървъра не харчи излишни ресурси за apache/php за спамерите. Много полезно за малки VPS решения.
Понеже имам 40+ сайта на моя VPS, във различни папки /var/www/html/site1, /var/www/html/site2 и т.н.
съм конфигурирал плъгина от всички сайтове да логва в един и същи файл - /var/www/html/spam.log
Понеже инструкциите от линка не ми помогнаха -
в jail.conf се добавя:
Код:
# This is for WordPress spammers
[wordpress-spam]
enabled = true
port = http
filter = wp-spam
action = iptables[name=WP-SPAM, port=http]
sendmail-whois[name=WP-SPAM, [email protected]]
logpath = /var/www/html/spam.log
maxretry = 1
findtime = 2419200
bantime = 2419200
Във filter.d съм добавил файл wp-spam.conf
Код:
[Definition]
failregex = ^\s*comment id=\d+ from host=<HOST> marked as spam$
ignoreregex =
В инструкциите от линка е пропуснато да се сложи "action"!
fail2ban има вградени jails - ssh, proftpd, sasl, apache-tcpwrapper, postfix-tcpwrapper, vsftpd-notification, vsftpd-iptables, apache-badbots, apache-shorewall, php-url-fopen, lighttpd-fastcgi, ssh-ipfw, named-refused-udp, named-refused-tcp
Преди да го сложа, не знаех че имам brute force SSH login заявки. Вече доста IP-та се споминаха.
Аз лично съм настроил почти всичко на месечен бан (bantime), времето за търсене на филтри - месец (findtime), максимални опити - 1 и т.н. Сложил съм 2 IP-та за игнориране на правилата (от които влизам) за всеки случай.
Съвсем случайно намерих този пакет. Надявам се да е полезно на някой.