告诉你Linux如何安装使用fail2ban!

时间:2015-05-20457举报小编:123

    能够监控系统日志,能够有效的防止ssh被暴力破解当然是Fail2ban啦!下面我给大家说说怎么安装吧!


    通过iptables, tcp-wrapper, shorewall等方式阻止此IP的访问。

    需要Pytion支持

    python安装

    python安装方法:

    cd /tmp

    wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tgz

    tar xzf Python-2.7.3.tgz

    cd Python-2.7.3

    。/configure

    make && make install

    rm -rf /usr/bin/python

    ln -s /tmp/Python-2.7.3/python /usr/bin/

    fail2ban安装

    cd /tmp

    wget https://github.com/downloads/fail2ban/fail2ban/fail2ban_0.8.6.orig.tar.gz

    tar xzf fail2ban_0.8.6.orig.tar.gz

    cd fail2ban-fail2ban-a20d1f8/

    。/setup.py install

    cp files/RedHat-initd /etc/init.d/fail2ban

    chmod 755 /etc/init.d/fail2ban

    配置fail2ban日志轮循:

    vi /etc/logrotate.d/fail2ban

    写入:

    /var/log/fail2ban.log {

    weekly

    rotate 7

    missingok

    compress

    postrotate

    /etc/init.d/fail2ban restart 1》/dev/null || true

    endscript

    }

    fail2ban使用方法

    配置文件:

    /etc/fail2ban/

    ├── action.d

    │ ├── dummy.conf

    │ ├── hostsdeny.conf

    │ ├── iptables.conf

    │ ├── mail-whois.conf

    │ ├── mail.conf

    │ └── shorewall.conf

    ├── fail2ban.conf

    ├── fail2ban.local

    ├── filter.d

    │ ├── apache-auth.conf

    │ ├── apache-noscript.conf

    │ ├── couriersmtp.conf

    │ ├── postfix.conf

    │ ├── proftpd.conf

    │ ├── qmail.conf

    │ ├── sasl.conf

    │ ├── sshd.conf

    │ └── vsftpd.conf

    ├── jail.conf

    └── jail.local

    目录action.d下的文件指定满足条件时执行的一些动作,比如使用iptables禁止ip访问。

    目录filter.d下的文件定义匹配日志的正则表达式。

    fail2ban.conf文件是配置fail2ban-server程序启动的一些参数

    jail.conf文件包含filter及action的指定。

    每个conf文件可被local文件覆盖,conf文件第一个被读取,接着是读取local文件,所以local文件中定义的参数会覆盖conf中的参数。所以我们不需要添加所有的内容到local文件,只需要添加conf文件中你想覆盖的部分参数就好。

    防ssh及vsftpd暴力破解实例

    建立/etc/fail2ban/jail.local文件,在文件中加入:

    [vsftpd-iptables]

    enabled = true

    filter = vsftpd

    action = iptables[name=VSFTPD, port=ftp, protocol=tcp]

    sendmail-whois[name=VSFTPD, dest=you@mail.com]

    logpath = /var/log/secure

    maxretry = 3

    [ssh-iptables]

    enabled = true

    filter = sshd

    action = iptables[name=SSH, port=ssh, protocol=tcp]

    sendmail-whois[name=SSH, dest=you@example.com, sender=fail2ban@example.com]

    logpath = /var/log/secure.log

    maxretry = 5

    enabled:可选值false,true

    filter:指定/etc/fail2ban/filter.d/目录下的正则文件,如filter = sshd则是指定/etc/fail2ban/filter.d/sshd.conf。

    action:指定执行的动作,具体动作文件在/etc/fail2ban/action.d目录下。

    logpath:指定监控日志的路径。

    maxretry:执行action匹配的次数。

    接着执行:

    service iptables start

    service fail2ban start

    可以 用fail2ban 分析freeswitch log文件,当发现注册攻击时 启用防火墙规则拒绝此ip的请求。

    上面就是Linux安装使用Fail2ban的方法介绍了,本文还介绍了Fail2ban的使用实例,有兴趣的朋友可以动手实践下吧。