暴力によるFail 2 Banのpythonの解読を防ぐ
fai 2 banの紹介
fail 2 banはあなたのシステムログを監視することができて、それからログのエラー情報(正規マッチング)にマッチングして相応のシールド動作(一般的にはファイアウォールシールドを呼び出す)を実行して、例えば:誰かがあなたのSSH、SMTP、FTPパスワードを探して、あなたの予め設定した回数に達する限り、fail 2 banはファイアウォールを呼び出してこのIPをシールドして、しかもe-mail通知システム管理者を送信することができます.実用的で強力なソフトウェアです!
二、fail 2 banの機能と特性を簡単に紹介する
1、多数のサービスをサポートする.例えばsshd、apache、qmail、proftpd、saslなど2、多種の動作をサポートします.iptables、tcp-wrapper、shorewall(iptablesサードパーティツール)、mail notifications(メール通知)などです.3、logpathオプションでワイルドカード4をサポートし、Gaminサポートが必要(注:Gaminはファイルとディレクトリの変更を監視するためのサービスツール)5、python、iptables、tcp-wrapper、shorewall、Gaminをインストールする必要があります.メールを送信する場合はpostfix/sendmailをインストールする必要があります
三、fail 2 banのインストールと構成操作の例
1:epel更新ソースのインストール:http://fedoraproject.org/wiki/EPEL/zh-cn
2:ソースパッケージのインストール
4.fail 2 banバインドのIP解除
クエリー制限リスト
# iptables -L --line-numbers
Chain fail2ban-SSH (1references)
num target prot opt source destination
1 DROP all -- 118.152.158.61.ha.cnc anywhere
2 RETURN all -- anywhere anywhere
制限を解く
# iptables -D fail2ban-SSH 1
私たちは主にjailを編集します.confというプロファイルは、他のものは気にしないでください.
# vi/etc/fail2ban.conf
SSH攻撃防止ルール
本文は“堅持するのが勝利です”のブログから出て、転載して作者と連絡してください!
fail 2 banはあなたのシステムログを監視することができて、それからログのエラー情報(正規マッチング)にマッチングして相応のシールド動作(一般的にはファイアウォールシールドを呼び出す)を実行して、例えば:誰かがあなたのSSH、SMTP、FTPパスワードを探して、あなたの予め設定した回数に達する限り、fail 2 banはファイアウォールを呼び出してこのIPをシールドして、しかもe-mail通知システム管理者を送信することができます.実用的で強力なソフトウェアです!
二、fail 2 banの機能と特性を簡単に紹介する
1、多数のサービスをサポートする.例えばsshd、apache、qmail、proftpd、saslなど2、多種の動作をサポートします.iptables、tcp-wrapper、shorewall(iptablesサードパーティツール)、mail notifications(メール通知)などです.3、logpathオプションでワイルドカード4をサポートし、Gaminサポートが必要(注:Gaminはファイルとディレクトリの変更を監視するためのサービスツール)5、python、iptables、tcp-wrapper、shorewall、Gaminをインストールする必要があります.メールを送信する場合はpostfix/sendmailをインストールする必要があります
三、fail 2 banのインストールと構成操作の例
1:epel更新ソースのインストール:http://fedoraproject.org/wiki/EPEL/zh-cn
# yum install shorewall gamin-python shorewall-shell shorewall-perl shorewall-common python-inotify python-ctypes fail2ban
# yum install gamin-python python-inotify python-ctypes
# wget http://dl.fedoraproject.org/pub/epel/6/i386/fail2ban-0.8.11-2.el6.noarch.rpm
# rpm -ivh fail2ban-0.8.11-2.el6.noarch.rpm
# yum install gamin-python python-inotify python-ctypes
# wget http://ftp.sjtu.edu.cn/fedora/epel//5/i386/fail2ban-0.8.4-29.el5.noarch.rpm
# rpm -ivh fail2ban-0.8.4-29.el5.noarch.rpm
2:ソースパッケージのインストール
# wget https://codeload.github.com/fail2ban/fail2ban/tar.gz/0.9.0
# tar -xzvf fail2ban-0.9.0.tar.gz
/etc/fail2ban/action.d # , 。iptables mail
/etc/fail2ban/fail2ban.conf # fai2ban 、 sock
/etc/fail2ban/filter.d # , 。
/etc/fail2ban/jail.conf # , 。 ban
/etc/rc.d/init.d/fail2ban #
3. vi /etc/fail2ban/fail2ban.conf
[Definition]
loglevel =3
logtarget = SYSLOG # /var/log/fail2ban.log,
socket =/var/run/fail2ban/fail2ban.sock
4. vi /etc/fail2ban/jail.conf
[DEFAULT] #
ignoreip = 127.0.0.1 # IP ,
bantime = 600 # , :
findtime = 600 # ban
maxretry = 3 #
backend = auto # (gamin、polling auto )
[sshd] # , bantime、findtime、maxretry , 。
enabled = true # (true/false)
filter = sshd # filter , filter.d sshd.conf
action = iptables[name=SSH, port=ssh, protocol=tcp]# , action.d/iptables.conf
logpath = /var/log/secure # path
bantime = 3600
findtime = 300
maxretry = 3 #
service fail2ban start
4.fail 2 banバインドのIP解除
クエリー制限リスト
# iptables -L --line-numbers
Chain fail2ban-SSH (1references)
num target prot opt source destination
1 DROP all -- 118.152.158.61.ha.cnc anywhere
2 RETURN all -- anywhere anywhere
制限を解く
# iptables -D fail2ban-SSH 1
私たちは主にjailを編集します.confというプロファイルは、他のものは気にしないでください.
# vi/etc/fail2ban.conf
SSH攻撃防止ルール
ssh-iptables]enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
sendmail-whois[name=SSH, dest=root, [email protected], sendername="Fail2Ban"]
logpath = /var/log/secure
maxretry = 5
[ssh-ddos]
enabled = true
filter = sshd-ddos
action = iptables[name=ssh-ddos, port=ssh,sftp protocol=tcp,udp]
logpath = /var/log/messages
maxretry = 2
[osx-ssh-ipfw]
enabled = true
filter = sshd
action = osx-ipfw
logpath = /var/log/secure.log
maxretry = 5
[ssh-apf]
enabled = true
filter = sshd
action = apf[name=SSH]
logpath = /var/log/secure
maxretry = 5
[osx-ssh-afctl]
enabled = true
filter = sshd
action = osx-afctl[bantime=600]
logpath = /var/log/secure.log
maxretry = 5
[selinux-ssh]
enabled = true
filter = selinux-ssh
action = iptables[name=SELINUX-SSH, port=ssh, protocol=tcp]
logpath = /var/log/audit/audit.log
maxretry = 5
proftp
[proftpd-iptables]
enabled = true
filter = proftpd
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=ProFTPD, [email protected]]
logpath = /var/log/proftpd/proftpd.log
maxretry = 6
[sasl-iptables]
enabled = true
filter = postfix-sasl
backend = polling
action = iptables[name=sasl, port=smtp, protocol=tcp]
sendmail-whois[name=sasl, [email protected]]
logpath = /var/log/mail.log
[dovecot]
enabled = true
filter = dovecot
action = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps,submission,smtps,sieve", protocol=tcp]
logpath = /var/log/mail.log
[dovecot-auth]
enabled = true
filter = dovecot
action = iptables-multiport[name=dovecot-auth, port="pop3,pop3s,imap,imaps,submission,smtps,sieve", protocol=tcp]
logpath = /var/log/secure
[perdition]
enabled = true
filter = perdition
action = iptables-multiport[name=perdition,port="110,143,993,995"]
logpath = /var/log/maillog
[uwimap-auth]
enabled = true
filter = uwimap-auth
action = iptables-multiport[name=uwimap-auth,port="110,143,993,995"]
logpath = /var/log/maillog
apache
[apache-tcpwrapper]
enabled = true
filter = apache-auth
action = hostsdeny
logpath = /var/log/httpd/error_log
maxretry = 6
[apache-badbots]
enabled = true
filter = apache-badbots
action = iptables-multiport[name=BadBots, port="http,https"]
sendmail-buffered[name=BadBots, lines=5, [email protected]]
logpath = /var/log/httpd/access_log
bantime = 172800
maxretry = 1
[apache-shorewall]
enabled = true
filter = apache-noscript
action = shorewall
sendmail[name=Postfix, [email protected]]
logpath = /var/log/httpd/error_log
nginx
[nginx-http-auth]
enabled = true
filter = nginx-http-auth
action = iptables-multiport[name=nginx-http-auth,port="80,443"]
logpath = /var/log/nginx/error.log
lighttpd
[suhosin]
enabled = true
filter = suhosin
action = iptables-multiport[name=suhosin, port="http,https"]
# adapt the following two items as needed
logpath = /var/log/lighttpd/error.log
maxretry = 2
[lighttpd-auth]
enabled = true
filter = lighttpd-auth
action = iptables-multiport[name=lighttpd-auth, port="http,https"]
# adapt the following two items as needed
logpath = /var/log/lighttpd/error.log
maxretry = 2
vsftpd
[vsftpd-notification]
enabled = true
filter = vsftpd
action = sendmail-whois[name=VSFTPD, [email protected]]
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 1800
[vsftpd-iptables]
enabled = true
filter = vsftpd
action = iptables[name=VSFTPD, port=ftp, protocol=tcp]
sendmail-whois[name=VSFTPD, [email protected]]
logpath = /var/log/vsftpd.log
maxretry = 5
bantime = 1800
pure-ftpd
[pure-ftpd]
enabled = true
filter = pure-ftpd
action = iptables[name=pure-ftpd, port=ftp, protocol=tcp]
logpath = /var/log/pureftpd.log
maxretry = 2
bantime = 86400
mysql
[mysqld-iptables]
enabled = true
filter = mysqld-auth
action = iptables[name=mysql, port=3306, protocol=tcp]
sendmail-whois[name=MySQL, dest=root, [email protected]]
logpath = /var/log/mysqld.log
maxretry = 5
apache phpmyadmin
[apache-phpmyadmin]
enabled = true
filter = apache-phpmyadmin
action = iptables[name=phpmyadmin, port=http,https protocol=tcp]
logpath = /var/log/httpd/error_log
maxretry = 3
# /etc/fail2ban/filter.d/apache-phpmyadmin.conf
apache-phpmyadmin.conf apache-phpmyadmin.conf .
# Fail2Ban configuration file
#
# Bans bots scanning for non-existing phpMyAdmin installations on your webhost.
#
# Author: Gina Haeussge
#
[Definition]
docroot = /var/www
badadmin = PMA|phpmyadmin|myadmin|mysql|mysqladmin|sqladmin|mypma|admin|xampp|mysqldb|mydb|db|pmadb|phpmyadmin1|phpmyadmin2
# Option: failregex
# Notes.: Regexp to match often probed and not available phpmyadmin paths.
# Values: TEXT
#
failregex = [[]client []] File does not exist: %(docroot)s/(?:%(badadmin)s)
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
# service fail2ban restart
, fail2ban fail2ban, , . , , /var/log/ logpath= , . logpath , , enabled false. fail2ban,
本文は“堅持するのが勝利です”のブログから出て、転載して作者と連絡してください!