zoukankan      html  css  js  c++  java
  • 编译Nginx支持Tcp_warppers

    Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性。TCP Wrappers 是一种对使用 /etc/inetd.sec 的替换方法。TCP Wrappers 提供防止主机名和主机地址欺骗的保护。欺骗是一种伪装成有效用户或主机以获得对系统进行未经授权的访问的方法。

    1、重新编译Nginx

    [root@ipython nginx-1.6.1]# tar zxf ../ngx_tcpwrappers.tar.gz -C ./
    [root@ipython nginx-1.6.1]# sed -i s'#CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g#CFLAGS =  -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g#' objs/Makefile 
    [root@ipython nginx-1.6.1]# ./configure --prefix=/software/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-google_perftools_module --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre=/root/pcre-8.35 --with-openssl=/root/openssl-1.0.1i --with-zlib=/root/zlib-1.2.8 --add-module=./ngx_tcpwrappers
    ####不要make install 哦,编译好即可####
    [root@ipython nginx-1.6.1]# make

    2、完成升级,以及模块的使用,Nginx还是很奇特的哦~~

    ####备份可执行文件,复制新的文件####
    [root@ipython nginx-1.6.1]# mv /software/nginx/sbin/nginx /software/nginx/conf/@nginx
    [root@ipython nginx-1.6.1]# cp objs/nginx /software/nginx/sbin/
    
    ####测试新版本的Nginx####
    [root@ipython nginx-1.6.1]# /software/nginx/sbin/nginx -t
    nginx: the configuration file /software/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /software/nginx/conf/nginx.conf test is successful
    
    ###此时没有加入Tcp_wrappers的配置 测试下访问###
    [root@ipython openssl-1.0.1i]# curl -I http://www.ipython.me
    HTTP/1.1 200 OK
    Server: nginx/1.6.1
    Date: Mon, 11 Aug 2014 23:08:08 GMT
    Content-Type: text/html
    Content-Length: 612
    Last-Modified: Mon, 11 Aug 2014 22:45:25 GMT
    Connection: keep-alive
    ETag: "53e94785-264"
    Accept-Ranges: bytes
    
    ###平滑升级###
    [root@ipython nginx-1.6.1]# make upgrade
    
    ##测试模块,拒绝1.1.1.30的Nginx请求##	##在http块里加入如下配置##
        tcpwrappers on;
        tcpwrappers_daemon nginx;
        tcpwrappers_thorough off;
    
    ##hosts.deny如下##
    [root@ipython nginx-1.6.1]# awk '!/^#/' /etc/hosts.deny 
    nginx:1.1.1.30
    
    ##重新读取Nginx配置文件##
    [root@ipython nginx-1.6.1]# /software/nginx/sbin/nginx -s reload
    
    ###此时访问 就是403了###
    [root@itchenyi ~]# curl -I http://www.ipython.me
    HTTP/1.1 403 Forbidden
    Server: nginx/1.6.1
    Date: Mon, 11 Aug 2014 23:12:47 GMT
    Content-Type: text/html
    Content-Length: 168
    Connection: keep-alive

    3、Tcp_warppers 模块指令

    ###ngx_Tcp_wrappers 配置指令###
    1tcpwrappers
    	语法	 tcpwrappers [on|off]
    	默认值	 tcpwrappers off
    	作用域	 http, server, location, limit_except
    	描述	 模块的开关,开启则使用TCP Wrappers 进行访问控制,关闭以避免浪费性能
    
    2tcpwrappers_daemon
    	语法	 tcpwrappers_daemon name
    	默认值	 tcpwrappers_daemon nginx
    	作用域	 http, server, location, limit_except
    	描述	 该名字的定义用于在/etc/hosts.[allow|deny]识别
    
    3tcpwrappers_thorough
    	语法	 tcpwrappers_thorough [on|off]
    	默认值	 tcpwrappers_thorough off
    	作用域	 http, server, location, limit_except
    	描述	 基于hosts.ctl以检查使用IP地址、用户名、反向DNS解析,模块的开发者也未提供详细的使用说明


             » 转载保留版权:IT辰逸 » 《编译Nginx支持Tcp_warppers》
    » 本文版权采取: BY-NC-SA 协议进行授权,转载注明出处。除IT-Tools、News以及特别标注,本站所有文章均为原创。
    » 如果喜欢可以: 点此订阅本站
  • 相关阅读:
    JSP(一)
    设计模式之UML类图
    Servle原理
    Servlet 浅谈(三)
    Servlet 浅谈(二)
    Servlet 浅谈(一)
    闲聊
    设计模式之装饰器模式
    struts2源码调试环境的搭建
    Github学习
  • 原文地址:https://www.cnblogs.com/i-it/p/3908732.html
Copyright © 2011-2022 走看看