全国统一热线:
028-86758058
18980748058
购买流程
付款方式
常见问题
在线提问
续租服务
购物车(
0
件)
用户名:
密 码:
记住
首 页
HOME
域名注册
DOMAIN
虚拟主机
WEB HOST
成品网站超市
AUTO Site
VPS主机
VPS SERVER
云 主 机
CLOUD HOST
租用托管
SERVER
海外主机
HK HOST
代理专区
AGENT
客服中心
SERVICE
IDC资讯
SERVICE
欢迎光临天府快车,我们将竭诚为您提供最优质的服务!
中文域名
域名转入
域名转出
DNS管理
动态域名
获取域名证书
域名停放
域名过户
集群主机
双线主机
基本主机
港台主机
论坛主机
Linux主机
Vip合租主机
超G型主机
ASP.net主机
Java主机
智能建站主机
网店主机
美国主机
数据库
成品网站超市
智能建站主机
集群VPS主机
国内VPS主机
香港VPS主机
美国VPS主机
云主机介绍
云主机购买
服务器租用
主机托管
常见问题
香港主机
港台主机
美国主机
国内免备案
步骤流程
代理级别
代理合同
代理模式
代理优势
在线申请
产品列表
常见问题
代理商分布图
常见问题
有问必答
跟踪提问
购买流程
产品价格
付款方式
常用软件
网站备案
续租服务
汇款确认
相关文档
联系我们
IDC资讯
行业资讯
网站运营
站长百科
IDC新闻
域名资讯
云计算
虚拟主机
您当前的位置:
首页
>
站长百科
>
服务器技术
TCP Wrappers防火墙介绍与封锁IP地址的方法
时间:2015-01-18 来源:互联网 作者:佚名
Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭、允许和禁止,从而更有效地保证系统安全运行。
Tcp_Wrappers的使用很简单,仅仅两个配置文件:/etc/hosts.allow和/etc/hosts.deny
1. 查看系统是否安装了Tcp_Wrappers
[root@localhost ~]#rpm -q tcp_wrappers
tcp_wrappers-7.6-40.7.el5
或者
[root@localhost ~]#rpm -qa | grep tcp
tcpdump-3.9.4-15.el5
tcp_wrappers-7.6-40.7.el5
如果有上面的类似输出,表示系统已经安装了tcp_wrappers模块。如果没有显示,可能是没有安装,可以从linux系统安装盘找到对应RPM包进行安装。
2. tcp_wrappers设定的规则
tcp_wrappers防火墙的实现是通过/etc/hosts.allow和/etc/hosts.deny两个文件来完成的
文件格式是:
服务列表 : 主机列表 : 选项
1.服务列表是要支持的服务的名,例如:telnet、vsftpd等等。
2.主机列表设定受控制的机器。这可以是机器名、主机IP,也可以使用通配符(*或?)或ALL及EXCEPT。
3.选项是我们所要控制的动作。在服务与client都符合之后,那么真正所要进行的动作,就是选项在作。
1)ALLOW 接受连接请求。2)DENY 拒绝连接请求。
举例:只允许118.126.3.222中vsftp登录
(这里要注意的是关于vsftp的配置文件vsftpd.conf中的
tcp_wrappers=YES
这样vsftp才允许通过tcp_wrappers的机制对vsftp
服务器
进行访问控制。)
输入vim /etc/hosts.allow
编辑 vsftpd:118.126.3.222:allow
表示允许118.126.3.222vsftp连接
输入vim /etc/hosts.deny
编辑 vsftpd:all
表示拒绝所有vsftp连接
一般情况下,linux会首先判断/etc/hosts.allow这个文件,如果远程登录的计算机满足文件/etc/hosts.allow设定的话,就不会去使用/etc/hosts.deny文件了,相反,如果不满足hosts.allow文件设定的规则的话,就会去使用hosts.deny文件了,如果满足hosts.deny的规则,此主机就被限制为不可访问linux服务器,如果也不满足hosts.deny的设定,此主机默认是可以访问 linux服务器的.
TCP Wrappers 封锁IP地址的方法
1. Tcp Wapper基础知识介绍
Tcp_Wapper是在 Solaris, HP_UX以及 Linux中广泛流行的免费软件。它被设计为一个介于外来服务请求和系统服务回应的中间处理软件。最常见的用法是与inetd一起使用。当Inetd接收到一个外来服务请求的时候,并不是直接调用,而是调用TCP Wrapper(可执行文件tcpd),TCP Wrapper根据这个所请求的服务和针对这个服务所定制的存取控制规则来判断对方是否有使用这个服务的权限,如果有,TCP Wrapper将该请求按照配置文件定义的规则转交给相应的守护进程去处理同时记录这个请求动作,然后自己就等待下一个请求的处理。
TCP Wrapper机制的主要目的在于,来自客户端的请求只被允许同一个独立的守护进程(xinetd)直接通信,而它请求的目标服务被TCP Wrapper包裹起来,这样就提高了系统的安全性和系统管理的方便性。Tcp wrapper随着应用逐渐成为一种标准的Unix安全工具,成为unix守护程序inetd的一个插件。通过Tcp wrapper,管理员可以设置对inetd提供的各种服务进行监控和过滤,以保证系统的安全性。
2. Tcp Wapper源码获取、编译与安装
由于它已经在Solaris, HP_UX以及 Linux中泛使用,而在Tru 64上使用的很少,所以在这里给大家做一个详细介绍,我机器的操作系统版本为:tru 64 4.0F
(1)下载源码地址:(附件1)
(2)解压缩
#gunzip tcp_wrappers_7.6.tar.gz
#tar xvf tcp_wrappers_7.6.tar
(3)编译源码程序
# make REAL_DAEMON_DIR=/usr/sbin hpux
最后一个参数是hpux,你可以根据你的操作系统来做调整,这里由于没有DEC的我就使用这个替代了。接着将生成的几个主要文件拷贝到相应的系统目录下。
#cp tcpd /usr/sbin
#cp safe_finger /usr/sbin
#cp tcpdchk /usr/sbin
#cp tcpdmatch /usr/sbin
#cp try-from /usr/sbin
#cp hosts_access.3 /usr/man/man3
#cp hosts_access.5 /usr/man/man5
#cp hosts_options.5 /usr/man/man5
#cp tcpd.8 /usr/man/man8
#cp tcpdchk.8 /usr/man/man8
#cp tcpdmatch.8 /usr/man/man8
#cp libwrap.a /usr/lib
#cp tcpd.h /usr/include
其中:
(1)tcpd是所有internet服务的主要访问控制守护进程,运行 inetd 或 xinetd 而不是运行单独的服务守护进程时要用到它。
(2)tcpdchk 一个检查 tcpd wrapper 设置和提供错误信息。
(3)tcpdmatch 用来预知 tcp wrapper 如何控制一个服务的特殊请求。
(4)try-from可以通过远程shell命令找出主机名字和地址是不是正确的。
(5)safe_finger 是finger工具的 wrapper ,提供自动的主机名反向查找。
3、如何将服务纳入管控状态
大家知道inetd,也叫作“超级服务器”,就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求。inetd.conf则是inetd的配置文件。inetd.conf文件告诉inetd监听哪些网络端口,为每个端口启动哪个服务。如果我们要想将telnet、ftp 交由tcpd管控,需要修改/etc/inetd.conf。
修改前为:
ftp stream tcp nowait root /usr/sbin/ftpd ftpd
telnet stream tcp nowait root /usr/sbin/telnetd telnetd
修改后为:
ftp stream tcp nowait root /usr/sbin/tcpd ftpd
telnet stream tcp nowait root /usr/sbin/tcpd telnetd
请记着修改完后要重新启动process
# vi /etc/inetd.conf
# ps -ef|grep inetd
root 53872 1 0.0 10:37:52 ?? 0:00.00 /usr/sbin/inetd
root 53873 53872 0.0 10:37:52 ?? 0:00.01 -child (inetd)
root 54243 53896 0.3 11:04:58 pts/0 0:00.02 grep inetd
# kill 53872 53873
# /usr/sbin/inetd4、使用TCP Wrappers限制访问的配置
为了配置TCP wrappers,用户需要在两个文件里接受或拒绝连接的标准:/etc/hosts.allow和/etc/hosts.deny。前一个文件定义计算机允许的访问,后一个文件指定应该拒绝的连接。如果某个系统同时出现在两个文件里,hosts.allow是优先的。如果某个系统没有出现在任何一个文件里,TCP Wrappers会允许它进行连接。另外,如果运行最严格的TCP Wrappers安全,用户可以在/etc/hosts.deny文件力包含一行“ALL:ALL”,它会禁止所有由TCP Wrappers处理的输入访问。然后用户就可以在/etc/hosts.allow里为特定客户程序打开服务程序的端口。
/etc/hosts.allow和/etc/hosts.deny的格式是完全一样的,当然同样的项目在两个文件中具有相反的作用。这些项目的基本格式是:
Service-names :client-list [:shell-command]
请看如下两个文件
# vi /etc/hosts.deny
all:all
(注:禁止所有TCP Wrappers处理的输入访问)
# vi /etc/hosts.allow
telnetd:10.65.69.157 10.65.70.
ftpd: 10.65.69. EXCEPT 10.65.69.1
(注: Telnet telnetd行告诉TCP wrappers接受来自于10.65.69.157机器及10.65.70 网段的telnet连接.
Ftp ftpd告诉TCP wrappers接受来自于10.65.69 网段中除10.65.69.1之外的所有计算机的FTP连接。也许10.65.69.1是路游器或其他不应该做FTP客户端的主机),修改这两个文件不用重新启动xinetd进程的,会直接生效的。)
5、检测的方法
检测tcp_wrapper 是否正常work
----我自己的设置----# tcpdchk -v
Using network configuration file: /etc/inetd.conf>>> Rule /etc/hosts.allow line 1:
daemons: ftpd
clients: 10.1.20.76
access: granted>>> Rule /etc/hosts.allow line 2:
daemons: telnetd
clients: 10.1.20.76 10.1.20.
access: granted>>> Rule /etc/hosts.deny line 1:
daemons: telnetd
clients: 10.1.20.100
warning: /etc/hosts.deny, line 1: host address 135.129.24.100->name lookup failed
access: denied>>> Rule /etc/hosts.deny line 2:
daemons: ftpd
clients: 10.1.20.100
warning: /etc/hosts.deny, line 2: host address 135.129.24.100->name lookup failed
access: denied>>> Rule /etc/hosts.deny line 3:
daemons: all
clients: all
access: denied
# 6、结束语
上面介绍只是TCP Wrapper一些简单功能,它还提供了有许多其它特性,有些特性能够实现十分精细的效果,因此,有这方面需求的网友,应该仔细查看关于TCP Wappers控制文件格式的官方文档来实现自己的功能,以保证系统的安全。
来顶一下
返回首页
推荐资讯
【图文教程】dede织梦网站后台如何
对于新手站长可能不了解,dede织梦后台是如何发文章的。下面
2014站长圈十大事件:PR已死 移动算
2014年即将过去,虽然站长圈相比过去几年稍显沉寂,但&ldquo
相关文章
无相关信息
栏目更新
栏目热门
返回首页
关于我们
联系我们
付款方式
价格总览
资讯中心
友情链接
媒体关注
有问必答
投诉建议
网站备案
《中华人民共和国增值电信业务经营许可证》编号:川B2-20080058号
官方网址:
www.tfkc.cn
天府快车
Copyright © 2002~2015
天府快车
版权所有
电话总机:
028-86758058
(50线) 传真:
028-86758058