Nginx禁止/屏蔽攻击服务器的IP地址

这篇具有很好参考价值的文章主要介绍了Nginx禁止/屏蔽攻击服务器的IP地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nginx安装在IP为x.x.x.x的服务器上

准备工作

第一步,nginx安装。

第二步,nginx配置。

第三步,nginx启动和访问站点。

第四步,nginx服务关闭和重启。

第五步,新建nginx启动脚本可以不进入nginx根目录即可进行相应的操作,设置服务器重启时nginx会自动启动。

nignx禁止IP地址访问的第一种方法

第一步,在/etc/nginx文件夹中新建blocksip.conf文件

命令:cd /etc/nginx

vim blocksip.conf

在blocksip.conf文件中添加下面的代码:

allow all;

# 封禁127.0.0.1

deny 127.0.0.1;

第二步,编辑/etc/nginx/nginx.conf文件

在/etc/nginx/nginx.conf文件中,只需要在http{}中添加下面代码:

include blocksip.conf;

第三步,重启nginx服务。

命令:service nginx reload

nignx禁止IP地址访问的第二种方法

第一步,编辑/etc/nginx/nginx.conf文件

在/etc/nginx/nginx.conf文件中,只需要在server{}中添加allow和deny的IP地址:

server {

        listen       8080;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            allow all;

            # 封禁196.0.0.1

            deny 196.0.0.1;

            root   html;

            index  index.html index.htm;

        }

注意:allow必须在deny的前面。

第二步,重启nginx服务。

命令:service nginx reload

实现自动封禁IP地址

第一步,AWK记录access.log文件中每分钟访问超过60次的IP地址。

命令:awk '{print $1}' /var/log/nginx/access.log | sort | uniq -cd | awk '{if($1>60)print $0}'

注释:

awk '{print $1}' /var/log/nginx/access.log:取出access.log的第一列即为IP;

sort | uniq -cd:去重和排序;

awk '{if($1>60)print $0}':判断重复的数量是否超过60个,超过60个就展示出来。

第二步,通过编写shell脚本实现整体功能。

在/usr/local/nginx文件夹中新建ip_test.sh脚本,在脚本文件中添加下面的代码:

# 解封IP
echo "" > /etc/nginx/blockip.conf
# 判断重复的数量是否超过60个,超过60个就展示出来
ip_list=$(awk '{print $1}' /var/log/nginx/access.log | sort | uniq -cd | awk '{if($1>60)print $0}')
# 判断变量是否为空
if test -z "$ip_list"
then
        # 若变量为空,则写入11.log中,并重新启动nginx
        echo "为空"  >> /var/log/nginx//11.log
        /usr/sbin/nginx -s reload
else
        # 若变量不为空,则需要在前面加上deny格式,IP写入blockip.conf
        echo "deny" $ip_list > /etc/nginx/blockip.conf
        # 去除掉前面的行数,写入后再读取一次
        ip_list2=$(awk '{print $3}' /etc/nginx/blockip.conf)
        # 把读取出来的值再次写入blockip.conf
        echo "deny" $ip_list2";"> /etc/nginx/blockip.conf
        # 重启nginx
        /usr/sbin/nginx -s reload
        # 清空之前的日志,截取最新的日志
        echo "" > /var/log/nginx/access.log
fi

第三步,使用crontab定时来实现访问每分钟访问超过60次的IP地址。

# 添加执行权限

命令:chmod +x /usr/local/nginx/ip_test.sh

# 添加定时任务(每一分钟运行一次)

命令:crontab -e

添加以下代码:

* * * * * sh /usr/local/nginx/ip_test.sh

# 查看是否写入

命令:crontab -l

# 重启一下定时配置

命令:systemctl restart crond.service

关于allow和deny的使用

第一步,nginx禁止单个IP

在nginx中可以加入下面的命令:

deny 127.0.0.1;

第二步,nginx禁止多个IP

在nginx中可以加入下面的命令:

deny 127.0.0.1 196.0.0.1;

注意:nginx禁止多个IP地址,多个IP地址由空格分开。

第三步,nginx禁止从127.0.0.1到127.255.255.254IP段

在nginx中可以加入下面的命令:

deny 127.0.0.0/8;

第四步,nginx禁止从127.255.0.1到127.255.255.254IP段

在nginx中可以加入下面的命令:

deny 127.255.0.0/16;

第五步,nginx禁止从127.255.255.1到127.255.255.254IP段

在nginx中可以加入下面的命令:

deny 127.255.255.0/24;

第六步,nginx禁止所有IP地址。

在nginx中可以加入下面的命令:

deny all;

步,allow与deny配置相同,如果需要开放某个IP段,只需要把上面的deny改成allow。文章来源地址https://www.toymoban.com/news/detail-456387.html

到了这里,关于Nginx禁止/屏蔽攻击服务器的IP地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos 服务器禁止 IP访问/ IP黑名单

    本文结合上文的一起使用体验更佳《Centos实时网络带宽占用查看工具iftop》

    2024年02月11日
    浏览(52)
  • CENTOS 7 添加黑名单禁止IP访问服务器

    只需要把ip添加到 /etc/hosts.deny 文件即可,格式  sshd:$IP:deny touch /data/blacklist/black.txt ssh **.**.**.** cat /data/blacklist/black.txt cat /etc/hosts.deny 注:以上内容仅提供参考和交流,请勿用于商业用途,如有侵权联系本人删除!

    2024年01月18日
    浏览(41)
  • 服务器被攻击怎么封禁IP

    如果您的服务器被入侵了,最好的做法是立即断开网络连接,以防止攻击者进一步损害您的系统。然后,您应该检查您的服务器,看看是否有任何指示受到入侵的迹象。如果您发现了任何可疑的活动,您应该立即联系您的网络管理员,或者联系技术支持以获取帮助。希望这些

    2024年02月12日
    浏览(49)
  • 解决nacos配置服务ip地址与服务器ip地址不同的问题

    存在问题:在使用nacos注册服务时,如果没有显式配置的话,nacos为服务注册的ip地址通常不会是localhost。 因此,在进行调用的时侯,nacos会返回在其中注册的IP地址,可这经常与服务所在服务器地址不同,最终导致调用服务超时的异常 原因分析:nacos默认使用计算机其中之一

    2024年04月17日
    浏览(45)
  • 如何隐藏服务器真实IP地址,隐藏服务器IP有什么好处

    首先我们介绍了隐藏服务器IP的概念及工作模式,接着阐述了其对于DDoS攻击的防护作用。然后介绍了如何利用隐藏服务器IP增加系统性能和稳定性。接着我们讲述了如何隐藏服务器IP防止黑客攻击,最后总结了隐藏服务器IP在保护服务器和用户数据方面发挥的作用。 一、隐藏服

    2024年01月16日
    浏览(48)
  • 服务器被DDOS攻击如何用高防ip去防护?

           什么是 DDoS 攻击?分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。DDoS 攻击利用多台受损计算机系统作为攻击流量来源以达到攻击效果。利用的机器可以包括计算机,也可

    2024年02月04日
    浏览(46)
  • 如何设置代理ip服务器地址

    目录 前言 一、使用HTTP代理服务器 1. Python代码 2. Java代码 二、使用SOCKS代理服务器 1. Python代码 2. Java代码 三、使用代理池 1. Python代码 2. Java代码 总结 前言 代理服务器是一种可以隐藏真实IP地址并且保护用户隐私的工具。在某些情况下,比如访问被限制的网站,我们需要使用

    2024年02月07日
    浏览(41)
  • 修复“找不到服务器IP地址”错误

    当您在浏览器的地址栏中输入域名时,如果输入的域名与相应的 Internet 协议地址(IP 地址)不匹配,您将遇到“找不到服务器 IP 地址”错误。这通常发生在DNS服务器无法找到正确的IP地址时,导致无法访问网站。 用旧电脑搭建NAS 在您的家庭中,通过将旧 PC 转变为NAS服务器,

    2024年01月17日
    浏览(36)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(75)
  • 【服务器】使用域名解析服务器的IP地址并配置SSL证书

    ​ 目录 🌺【服务器】使用域名访问服务器的IP地址 【前提】服务器设置端口  🌻1. 域名解析服务器IP  🌼2. 绑定域名方式一:常用 🌷2.1 阿里云领取免费SSL证书 🌷2.2 修改Nginx配置文件 (1)打开Xftp和Xshell 7 (2)Xshell 7安装Nginx环境 🍀a.【nginx.conf配置文件】 🍀b. 【不同路

    2024年01月24日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包