Jump to content



Search the Community

Showing results for tags 'Nginx'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 站务与动态
    • 最新公告
    • 内部讨论
  • 交流与讨论
    • 移动应用
    • 系统软件
    • 程序代码
    • 娱乐影音
    • 网络资源
    • 灌水闲聊

Calendars

There are no results to display.

Blogs

  • 华酷网官方博客

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


简介内容

Found 3 results

  1. nginx: download Mainline version CHANGES nginx-1.17.4 pgp nginx/Windows-1.17.4 pgp Stable version CHANGES-1.16 nginx-1.16.1 pgp nginx/Windows-1.16.1 pgp Legacy versions CHANGES-1.14 nginx-1.14.2 pgp nginx/Windows-1.14.2 pgp CHANGES-1.12 nginx-1.12.2 pgp nginx/Windows-1.12.2 pgp CHANGES-1.10 nginx-1.10.3 pgp nginx/Windows-1.10.3 pgp CHANGES-1.8 nginx-1.8.1 pgp nginx/Windows-1.8.1 pgp CHANGES-1.6 nginx-1.6.3 pgp nginx/Windows-1.6.3 pgp CHANGES-1.4 nginx-1.4.7 pgp nginx/Windows-1.4.7 pgp CHANGES-1.2 nginx-1.2.9 pgp nginx/Windows-1.2.9 pgp CHANGES-1.0 nginx-1.0.15 pgp nginx/Windows-1.0.15 pgp CHANGES-0.8 nginx-0.8.55 pgp nginx/Windows-0.8.55 pgp CHANGES-0.7 nginx-0.7.69 pgp nginx/Windows-0.7.69 pgp CHANGES-0.6 nginx-0.6.39 pgp CHANGES-0.5 nginx-0.5.38 pgp Source Code Read-only Mercurial repositories: code: http://hg.nginx.org/nginx site: http://hg.nginx.org/nginx.org Trac source browser Pre-Built Packages Linux packages for stable and mainline versions.
  2. Fail2Ban还有很多的玩法,多研究/etc/fail2ban/filter.d目录里的过滤规则配置文件,结合举一反三可以实现不少实用的拦截规则。 重新梳理了一下服务器端的安全防御策略发现 Fail2Ban 真的是简单、方便、高效的一个提高安全防御的选择,Fail2Ban 的原理就是用正则匹配日志文件,然后操作 iptables,所以理论上一切能写日志的应用都可以用 Fail2Ban 来生成规则并加以保护。 配置监狱 也就是 Fail2Ban 的监控模块,其实默认配置中就已经写好了很多配置,当然我们需要手动来启动它们。 cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Fail2Ban 会自动读取 .local 文件的配置,然后再增量地读取 conf 配置,这样就避免了更新它时你辛辛苦苦写好的配置被覆盖掉了。 然后我们就来编辑 Fail2Ban 的配置 vim /etc/fail2ban/jail.local 首先是在 [DEFAULT] 字段下,我们可以改变一些行为参数,比如这样修改(多余的没有提到的配置就保留默认,不要理会即可): bantime = 3600 #默认是 10 分钟,这个是说要 ban 多久,我们改长一点 #下面这两个是说在多长时间内失败多少次就被屏蔽, #比如这个是在 3600 秒内失败 6 次就被屏蔽 findtime = 3600 maxretry = 6 接下来就是添加我们的监狱配置了,默认配置信息中并没有内置 Nginx ,只有 Apache: [nginx-http-auth] # HTTP 验证防暴力破解 enabled = true filter = nginx-http-auth port = http,https logpath = /var/log/nginx/error.log [nginx-badbots] #屏蔽恶意爬虫 enabled = true port = http,https filter = nginx-badbots logpath = /var/log/nginx/access.log maxretry = 2 [nginx-nohome] #避免恶意请求网站目录结构 enabled = true port = http,https filter = nginx-nohome logpath = /var/log/nginx/access.log maxretry = 2 [nginx-noproxy] #避免 nginx 被他人用于反向代理 enabled = true port = http,https filter = nginx-noproxy logpath = /var/log/nginx/access.log maxretry = 2 [wp-login] #防范 WordPress 暴力破解登录请求 enabled = true port = http,https filter = wp-login maxretry = 10 findtime = 60 bantime = 43600 logpath = /var/log/nginx/access.log [xmlrpc] #防止 WordPress 受到 xmlrpc.php CC 攻击 enabled = true port = http,https filter = xmlrpc logpath = /var/log/nginx/access.log bantime = 43600 maxretry = 1 findtime = 5 注意这里的配置都是基于 Nginx 的日志的,所以你必须要允许 Nginx 记录日志,有些管理员为了性能考量会关闭日志,这样我们这篇文章也就失去了意义。 上述配置中 logpath 是指日志文件的路径的(如:/var/log/nginx/access.log),需要注意的是这里可以指定多个日志文件的,具体格式如下: logpath = /home/wwwlogs/access.log /home/wwwlogs/www.1111.com.log /home/wwwlogs/www.2222.tech.log /home/wwwlogs/service.3333.com.log /home/wwwlogs/eat.4444.com.log 每个日志文件需要回车换行(空格直接去掉了,所以可以放心用空格对齐)才能识别到哦! 为监狱配置规则 设置好了要启用的监狱,接下来就是给监狱创建规则了: cd /etc/fail2ban/filter.d 在这个目录下,存放这所有规则文件,一个配置名一个文件,有多少个文件就有多少个规则,这些规则被上文中监狱配置里 filter 字段调用。 vim nginx-http-auth.conf 这个规则是存在的,我们在规则中加一行配置,来过滤除了账号密码错误外,空白账号或者密码的错误: [Definition] failregex = ^ \[error\] \d+#\d+: \*\d+ user "\S+":? (password mismatch|was not found in ".*"), client: , server: \S+, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"\s*$ ^ \[error\] \d+#\d+: \*\d+ no user/password was provided for basic authentication, client: , server: \S+, request: "\S+ \S+ HTTP/\d+\.\d+", host: "\S+"\s*$ ignoreregex = 添加的是加粗的那一行。 cp apache-badbots.conf nginx-badbots.conf 过滤爬虫的规则是有现成的,所以我们只需要改个名就可以了; vim nginx-nohome.conf 这是过滤获取目录的: [Definition] failregex = ^ -.*GET .*/~.* ignoreregex = vim nginx-noproxy.conf 这是过滤反代的: [Definition] failregex = ^ -.*GET http.* ignoreregex = vim xmlrpc.conf 这是防止 WordPress 受到 xmlrpc.php 请求的 CC 攻击: [Definition] failregex = ^ .*POST .*xmlrpc\.php.* ignoreregex = vim wp-login.conf 防范 WordPress 暴力破解登录请求 [Definition] failregex = ^ -.* /wp-login.php.* HTTP/1\.." ignoreregex = 确认生效 做完上述配置之后,就可以重启 fail2ban 了 service fail2ban restart 这时你可以通过命令 fail2ban-client status 来查看,不出意外,应该类似这样: fail2ban-client status Status |- Number of jail: 7 `- Jail list: nginx-badbots, nginx-http-auth, nginx-nohome, nginx-noproxy, sshd, wp-login, xmlrpc 至此,Fail2Ban 保护 Nginx、WordPress 基本算是完成了,至少明月目前需要的安全策略都完成了,平时可以观察一下 Fail2Ban 的日志文件来观察 Fail2Ban 的防御效果,如: tail -f /var/log/fail2ban.log 如上图所示,IP 地址 193.201.224.220,14.13.135.161,218.92.139.149,90.181.101.224 都触发了 Fail2Ban 的【wp-login】监狱规则并被 Fail2Ban 捕获到了。 在通过查看 iptables 防火墙的拦截 iptables --list -n 上图的结果中 IP 地址 193.201.224.220 因为一定时间(5 秒)请求次数达到设定的值而被 iptables 防火墙给屏蔽了,屏蔽的时间是 43600 秒。 Fail2Ban 还有很多的玩法,多研究/etc/fail2ban/filter.d 目录里的过滤规则配置文件,结合举一反三可以实现不少实用的拦截规则,明月后期也会经常分析自己研究实践出来的使用规则分享给大家,请大家持续关注本博客【运维日志】栏目的更新哦!
  3. 修改配置文件: /usr/local/nginx/conf/nginx.conf 文件 或者网站配置文件,例如 /usr/local/nginx/conf/vhost/域名.conf 编辑对应的.conf文件找到: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } 修改成: location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {expires 30d; valid_referers none blocked *.test.com *.youdao.com *.zhuaxia.com *.xianguo.com *.google.cn *.google.com *.google.com.tw *.google.com.sg *.google.com.hk *.bloglines.com image.soso.com cn.bing.com image.baidu.com *.feedburner.com *.feedsky.com; if ($invalid_referer) { rewrite ^/ http://www.google.com/images/errors/logo_sm.gif; #return 404; } } gif|jpg|jpeg|png|bmp|swf,这些是想要屏蔽的文件类型,可以根据实际情况修改。 valid_referers none blocked *.domin.com *.domin.net,其中的网址修改为你网站的域名,或者是你允许显示你网站图片的其他网站域名,注意中间用空格分开,而不是逗号. rewrite ^/ http://www.google.com/images/errors/logo_sm.gif; 可自定义一张图片,这种图片将会出现在盗链网站中显示此图片。 最后需要重启nginx服务让设置生效。
×
×
  • Create New...