Nginx + fail2ban 提高安全性

原创 2015年09月21日 10:59:52

通过Nginx做web server时,发现error.log中有很多连接尝试,这个时候fail2ban可以比较好的对付这些爬虫,探测程序等。

1. Policy配置

# Install fail2ban
sudo apt-get install fail2ban

# Copy jail.conf at /etc/fail2ban/jail.local and edit it.

[nginx-noscript]

enabled = true
port = http,https
filter = nginx-noscript
logpath = /usr/local/nginx-1.8.0/logs/error.log
maxretry = 1
findtime = 60
bantime = 7200

# Create /etc/fail2ban/filter.d/nginx-noscript.conf

[Definition]

failregex = ^.*(.*\.php).*failed.*client: ,.*"$

ignoreregex =


# To block php script attack.

# Restart fail2ban service
sudo service fail2ban restart

# fail2ban Logs
/var/log/fail2ban.log

# Debug filter
fail2ban-regex /usr/local/nginx-1.8.0/logs/error.log /etc/fail2ban/filter.d/nginx-noscript.conf

# List all rule in iptables
sudo iptables -L --line-numbers

# Remove some rule added by fail2ban, n is rule id.
sudo iptables -D fail2ban-nginx-noscript n


2. 查找分析Log

因为fail2ban会定期备份日志,所以需要查看IP地址时需要对所有的log进行查找,可以用zgrep 

        zgrep -c 210.213. /var/log/fail2ban.


3. 配置文件

     /etc/fail2ban/fail2ban.


4. Log rotate 配置  /etc/logrotate.d/fail2ban

  1 /var/log/fail2ban.log {
  2    
  3     weekly
  4     rotate 4
  5     compress
  6 
  7     delaycompress
  8     missingok
  9     postrotate
 10     fail2ban-client set logtarget /var/log/fail2ban.log >/dev/null
 11     endscript
 12 
 13     # If fail2ban runs as non-root it still needs to have write access
 14     # to logfiles.
 15     # create 640 fail2ban adm
 16     create 640 root adm
 17 }


5. Permanently Ban Repeat Offenders With Fail2Ban


Avatar for Todd


使用 NGINX 流控和 fail2ban 防止 CC 攻击

攻击者通过创建大量请求导致服务器资源耗尽,主要针对特定服务接口,属于实现 DoS 攻击的一种方式(DoS 攻击更多是针对网络端口,而不是具体服务接口)。...
  • DL88250
  • DL88250
  • 2017年02月13日 00:09
  • 2671

How to Secure an nginx Server with Fail2Ban

http://snippets.aktagon.com/snippets/554-how-to-secure-an-nginx-server-with-fail2ban Our Se...
  • leonpengweicn
  • leonpengweicn
  • 2015年02月05日 13:25
  • 671

Nginx日志监控(包括可视化)工具

1. log.io 一个开源的实时日志监控系统。利用Node.js+Socket.io,提供web界面。性能不错,但官方好像只在ubuntu上做了测试。 https://github.com/Na...
  • zouyongjin
  • zouyongjin
  • 2012年11月03日 10:36
  • 7975

linux下 用 fail2ban 防止攻击

fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,fa...
  • perfectpdl
  • perfectpdl
  • 2012年10月29日 16:25
  • 2536

Nginx + fail2ban 提高安全性

通过Nginx做web server时,发现error.log中有很多连接尝试,这个时候fail2ban可以比较好的对付这些爬虫,探测程序等。 # Install fail2ban sudo ...
  • oyljerry
  • oyljerry
  • 2015年09月21日 10:59
  • 1781

Fail2ban 防止暴力破解centos服务器的SSH或者FTP账户

第一次将CentOS服务器配上外网可访问的网络配置,发现每次通过外网地址登陆ssh,链接时间长,同时爆出以下信息,显示从上一次登陆成功到本次登陆成功,中间有3896次尝试登陆root账户失败的情况。【...
  • shuchengzhang
  • shuchengzhang
  • 2016年03月19日 15:11
  • 3591

提高cookie安全性的几种方法

 一、对保存到cookie里面的敏感信息必须加密   二、设置HttpOnly为true 三、设置Secure为true 四、给Cookie设置有效期 五、给C...
  • whaxrl
  • whaxrl
  • 2015年11月07日 11:04
  • 1143

discuz安全性设置

nginx 禁止某些目录执行php location ~ /(template|attachment|upload|mov|center|static|zone|jkb|000|a\_img)/.*...
  • hb1707
  • hb1707
  • 2014年07月17日 16:25
  • 442

CentOS 安装配置 Fail2Ban

fail2ban是一款实用软件,可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作。1、支持大量服务。如sshd,apache,qmail,proftpd,sasl等等 2...
  • Gekkoou
  • Gekkoou
  • 2016年04月11日 10:25
  • 2648

提高Web程序安全性的17种方法

                          提高Web程序安全性的17种方法1.做程序规划时,把不同的文件类型放入不同的文件夹,如htm页放入Static文件夹,asp页放入Dynamic文件...
  • suscom
  • suscom
  • 2005年01月22日 21:30
  • 863
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Nginx + fail2ban 提高安全性
举报原因:
原因补充:

(最多只允许输入30个字)