近日在查看Nginx的访问日志中,发现了大量404请求,仔细研究一番发现有人正在试图爆破网站。

我刚上线你就企图攻击我?????? 这怎么能忍。。

于是乎 --- 查资料后得知有一个神奇的工具 fail2ban 可以配合 iptables 自动封IP

iptables 是Centos6 的一种防火墙策略,在Centos7 中已被 Firewall所取代

本次实验系统为Centos6

不说了开干

1. 下载并安装fail2ban

1   cd /usr/loca/src
2   wget https://github.com/fail2ban/fail2ban/archive/0.9.4.tar.gz
3   tar -zxf 0.9.4.tar.gz
4   mv 0.9.4 fail2ban-094
5   cd fail2ban-094
6   ./setup.py

2. 目录结构

1 /etc/fail2ban                    # fail2ban 服务配置目录
2 /etc/fail2ban/action.d           # iptables 、mail 等动作文件目录
3 /etc/fail2ban/filter.d           # 条件匹配文件目录,过滤日志关键内容
4 /etc/fail2ban/jail.conf          # fail2ban 防护配置文件
5 /etc/fail2ban/fail2ban.conf      # fail2ban 配置文件,定义日志级别、日志、sock 文件位置等
6
7 cd /etc/fail2ban                 # 进入配置文件所在的目录
8 cp jail.conf jail.local          # 备份配置文件

3. 配置防护
首先编写封禁访问nginx 404状态码的ip地址的配置规则

1 vim /etc/fail2ban/filter.d/nginx.conf
2
3 [Definition]
4 failregex = <HOST> -.*- .*HTTP/1.* 404 .*$
5 ignoreregex =

保存后测试配置文件相对于日志是否正确

1 fail2ban-regex /home/wwwlogs/access.log /etc/fail2ban/filter.d/nginx.conf 

然后将封禁规则加入配置文件

 1 vim /etc/fail2ban/jail.conf   # 文件尾部写入
 2
 3 [nginx]
 4 enabled = true
 5 port = http,https
 6 filter = nginx                          # 规则文件的名字
 7 action = iptables[name=nginx, port=http, protocol=tcp]
 8         # sendmail-whois[name=tomcat, dest=abc@mail.com] 发送邮件功能
 9 logpath = /home/wwwlogs/access.log     # 日志路径
10 bantime = 14400                           # 封禁的时间
11 findtime = 3                          # 在几秒内
12 maxretry = 2                           # 有几次

4. 启动

1 /etc/init.d/iptables start
2 /etc/init.d/fail2ban start 或 fail2ban-client start

5. 查看状态等命令

1 fail2ban-client start # 启动
2 fail2ban-client reload # 重载
3 fail2ban-client stop # 停止
4 fail2ban-client status # 查看状态
5 fail2ban-client set nginx addignoreip 180.158.35.30 # 将ip加入nginx监狱的白名单
6 fail2ban-client set nginx delignoreip 180.158.35.30 # 将ip移除nginx监狱的白名单
7 fail2ban-client set nginx banip IP地址 # 手工ban
8 fail2ban-client set nginx unbanip IP地址 # 手工解

6. 查看fail2ban的日志

fail2ban的日志默认在 /var/log/fail2ban.log

日志中记录着Ban IP的记录和UnBan IP的记录

也有修改配置文件重载后的记录

cat /var/log/fail2ban

7. 小结

fail2ban 还有许多强大的功能待研究,在 /etc/fail2ban/filter.d 中,有许多模板可以学习并使用

虽说把非法请求封禁一段时间看似安全些,但只要有对外的端口就不能保证服务器的绝对安全。多了解不同工具的组合使用,才会使服务器更加安全。

转载于:https://www.cnblogs.com/bestOPS/p/10616401.html

Linux服务器安全之 fail2ban的安装与配置相关推荐

  1. windows 和 linux服务器环境下j2sdk 的安装和环境设置

    J2SDK 作为jsp系统配置中必不可少的组件,越来越多的得到应用.下来是我整理的以往工作时搜集的资料.使用时方便查询,希望对广大的工程师有帮助. windows服务器环境下 j2sdk 的安装和环境 ...

  2. linux服务器,卸载tensorflow CPU 安装PGU版

    linux 服务器,卸载tensorflow CPU 安装PGU版 写在前面 之前用的和学习的都是pytorch框架,现在要运行一个keras的代码,得安装tensorflow和keras,按一个教程 ...

  3. linux系统安装hba驱动,Linux系统上iSCSI HBA的安装和配置

    Linux系统上iSCSI HBA的安装和配置 关键字: Linux;iSCSI;HBA; 内容摘要: 如何在Linux系统上安装和配置iSCSI HBA. 正文 存储(target)端可以用硬件和软 ...

  4. Linux Centos下SQL Server 2017安装和配置

    Linux Centos下SQL Server 2017安装和配置 原文:Linux Centos下SQL Server 2017安装和配置 我们知道在Linux下安装服务有很多方式,最为简单的也就是 ...

  5. 【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅱ——配置RemoteAPP和访问

    目录 4. 配置RemoteAPP 4.2 设置要发布的APP 4.1 如何找到访问链接 5. 访问发布的RemoteAPP 关联博文 4. 配置RemoteAPP 4.2 设置要发布的APP (1) ...

  6. 【Windows Server 2019】发布服务器 | 远程桌面服务的安装与配置 Ⅰ——理论,实验拓扑和安装基于RemoteAPP的RDS

    目录 1. 理论 1.1 什么是远程桌面服务 2. 实验拓扑 2.1 拓扑说明 3. 安装基于RemoteAPP的RDS 关联博文 1. 理论 1.1 什么是远程桌面服务 远程桌面服务 (RDS) 是 ...

  7. 服务器 安装协议,服务器网管协议的安装与配置

    服务器网管协议的安装与配置 内容精选 换一换 Joomla是一套全球知名的内容管理系统,即Joomla CMS(Content Management System).Joomla是使用PHP语言加上M ...

  8. linux rz 上传文件夹_第二章Linux服务器环境搭建之Tomcat安装

    一.下载tomcat安装包 官网下载地址: http://tomcat.apache.org/download-80.cgi 我下载的版本是tomcat 9,具体下载那个版本需要根据自己的需要进行选择 ...

  9. ifconfig 安装_第一章Linux服务器环境搭建之JDK安装

    一.工具准备 xshell Xftp7 二.下载JDK安装包 官网下载地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-d ...

  10. linux中nginx卸载命令,linux服务器nginx的卸载与安装教程

    前言 刚接触的linux服务器上,nginx配置乱的有点令人发指,就把老的卸载了重新装一下.下面话不多说了,来一起看看详细的介绍吧 卸载 linux有一系列的软件管理器,比如常见的linux下的yum ...

最新文章

  1. centos6创建用户,设置ssh登录
  2. TensorFlow 安装protoc
  3. 开发团队里是否需要测试人员?
  4. luogu3233 世界树 (虚树)
  5. matlab 小练习,matlab初试牛刀__小练习
  6. vue 如何获取图片的原图尺寸_公众号封面图片尺寸是多少?如何在公众号里制作封面图?...
  7. php 字符串中文截取,PHP 截取中文字符串(支持多种编码)
  8. [APIO2017]商旅——分数优化+floyd+SPFA判负环+二分答案
  9. 多线程日记(17.5.3)
  10. apache配置好后编译rewrite
  11. JQueryDOM之插入节点
  12. java 使用POI导入复杂excel表格
  13. matlab普朗克黑体辐射公式,MATLAB 黑体辐射规律的研究详解.doc
  14. php ecshop 清除缓存文件夹,ecshop缓存常见问题
  15. 0708-/etc/login.defs
  16. 图像的二阶导数为何对噪声尤为敏感-----图像二阶导数的本质
  17. 【阿里102句土话集锦】菜鸟必备
  18. Go包管理工具Vendor使用教程
  19. Logstash: Grok 模式示例
  20. 2.Apache服务器配置(Ubuntu)

热门文章

  1. Debian - 搭建Debian本地APT源
  2. Security+ 学习笔记47 事件响应方案
  3. PIM SM报文抓包和总结
  4. ELK详解(九)——Logstash多日志收集实战
  5. Linux shell脚本详解及实战(三)——shell脚本循环
  6. Linux命令使用练习一
  7. Leetcode 刷题笔记(二十) ——回溯算法篇之分割、子集、全排列问题
  8. Visual Paradigm 教程[UML]:如何在UML中绘制组件图?
  9. 蚂蚁金服分布式链路跟踪组件 SOFATracer 总览 | 剖析
  10. 西班牙税收现“4大变化” 侨胞当心“钱包”