美文网首页
2019-01-16 nginx 使用Geoip禁止非法地区访问

2019-01-16 nginx 使用Geoip禁止非法地区访问

作者: 多吃水果少吃肉 | 来源:发表于2019-01-16 13:53 被阅读0次

    最近公司内部为了外部访问方便搭建了一台堡垒机,然后发现老是被字典破解,后台登录记录全是弱密码暴力破解


    暴力破解记录

    虽然我的用户名密码比较安全,但也是虚的一逼啊,抓紧时间禁止它访问.虽然国内也会有肉鸡攻击,但毕竟减少了不少概率.

    1. 先查看下nginx是否编辑有GeoIP模块:
      nginx -V 在输出界面看是否有--with-http_geoip_module
      若没有 yum -y install geoip-devel GeoIP数据库会被安装在 /usr/share/GeoIP/GeoIP.dat
      也可以从 http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz 这里下载最新的GeoIP数据库文件。
    [root@zk conf.d]# nginx -V
    nginx version: nginx/1.12.2
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)
    built with OpenSSL 1.0.2k-fips  26 Jan 2017
    TLS SNI support enabled
    configure arguments: --省略一部分-- --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module -m64--省略一部分--'
    

    然后开始配置nginx的配置文件/etc/nginx/nginx.conf, 我配置的只允许中国访问:

        # 访问地理位置限制,这里只允许中国ip访问,降低使用国外代理进行暴力破解的概率--秦飞
        geoip_country /usr/share/GeoIP/GeoIP.dat;
    
        # geoip_city    /usr/share/GeoIP/GeoLiteCity.dat;
        # 下面一行根据实际情况编写
        map $geoip_country_code $allowed_country {
            default no;
            CN yes;
        }
    

    然后在server块里面进行配置:

    server {
        listen 80;  # 代理端口,以后将通过此端口进行访问,不再通过8080端口
        server_name xx.xx.xx;  # 修改成你的域名或者注释掉
    
        client_max_body_size 100m;  # 录像及文件上传大小限制
    
        if ($allowed_country = no) {
            return 403;
        }
        ----------------略略略一大堆东西-----------------
    }
    

    如果国家访问规则的匹配结果是no,则返回403


    浏览器访问结果

    至此基于国家的访问控制完成.

    只允许域名访问基于端口:

    server{
            listen 80 default_server;
            server_name _;
            return 403;
    }
    

    每一个端口在此配置一个server块, 接收ip请求返回403即可

    参考资料:
    https://blog.csdn.net/linux_newbie_rookie/article/details/78663721
    https://takeshiyako.blogspot.com/2016/10/nginx-ngx-http-geoip-module.html
    https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-by-geoip/

    相关文章

      网友评论

          本文标题:2019-01-16 nginx 使用Geoip禁止非法地区访问

          本文链接:https://www.haomeiwen.com/subject/tecmdqtx.html