zoukankan      html  css  js  c++  java
  • fail2ban 保护

    Fail2ban是一款非常使用的软件,它能够监控系统日志,能够有效的防止ssh被暴力破解,下面小编将针对Fail2ban在Linux下的安装和使用给大家做个介绍,一起来了解下吧。

    https://github.com/fail2ban/fail2ban/releases

    通过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.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的使用实例,有兴趣的朋友可以动手实践下吧

    /etc/sysconfig/iptables 模板

    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10622 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    /etc/fail2ban/jail.conf中增加以下配置:
    [ssh-iptables]
    enabled = true
    filter = sshd
    action = iptables[name=SSH, port=ssh, protocol=tcp]

    #action = iptables[name=SSH, port=10622, protocol=tcp]

    sendmail-whois[name=SSH, dest=hujha@chanjet.com, sender=fail2ban@email.com]
    # Debian 系的发行版
    #logpath =/var/log/auth.log
    # Red Hat 系的发行版
    logpath =/var/log/secure
    # ssh 服务的最大尝试次数
    maxretry =3
    findtime =60
    bantime =600

    测试:

    fail2ban-client status ssh-iptables

    fail2ban-client ping

  • 相关阅读:
    Click: 命令行工具神器
    Pipenv: Python包管理神器
    如何让你的Python程序支持多语言
    Volatile变量
    简单排查java应用CPU飙高的线程问题
    java中的clone
    接口限流
    HTTP协议详解
    [转]nginx 源码学习笔记(十五)—— ngx_master_process_cycle 多进程(一)
    nginx slab内存管理
  • 原文地址:https://www.cnblogs.com/hujihon/p/5147810.html
Copyright © 2011-2022 走看看