编译 Nginx 支持 Tcp wrappers

发布于 2024-11-11 18:59:03 字数 3241 浏览 3 评论 0

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 解析,模块的开发者也未提供详细的使用说明

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

迷雾森÷林ヴ

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

玍銹的英雄夢

文章 0 评论 0

我不会写诗

文章 0 评论 0

十六岁半

文章 0 评论 0

浸婚纱

文章 0 评论 0

qq_kJ6XkX

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文