tcp wrapper簡介及nginx支持

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]# ./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

[root@ipython nginx-1.6.1]# sed -i s’#CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror#CFLAGS = -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter -g#’ objs/Makefile

不要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 配置指令

1、tcpwrappers
語法 : tcpwrappers [on|off]
默認值 : tcpwrappers off
作用域 : http, server, location, limit_except
描述 : 模塊的開關,開啓則使用TCP Wrappers 進行訪問控制,關閉以避免浪費性能

2、tcpwrappers_daemon
語法 : tcpwrappers_daemon name
默認值 : tcpwrappers_daemon nginx
作用域 : http, server, location, limit_except
描述 : 該名字的定義用於在/etc/hosts.[allow|deny]識別

3、tcpwrappers_thorough
語法 : tcpwrappers_thorough [on|off]
默認值 : tcpwrappers_thorough off
作用域 : http, server, location, limit_except
描述 : 基於hosts.ctl以檢查使用IP地址、用戶名、反向DNS解析,模塊的開發者也未提供詳細的使用說明

原文: http://www.ipython.me/centos/rebuild-nginx-support-tcp_wrappers.html

發佈了289 篇原創文章 · 獲贊 280 · 訪問量 130萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章