Chinaunix首页 | 论坛 | 博客
  • 博客访问: 568054
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

分类: LINUX

2010-06-02 09:19:20

网络防火墙是阻挡非授权主机访问网络的第一道防护,但是它们不应该仅有一道屏障。Linux使用了两个文件/etc/host.allow和/etc/hosts.deny,根据网络请求的来源限制对服务的访问。host.allow文件列出了允许连接到一个特定服务的主机,而hosts.deny文件则负责限制访问。不过,这两个文件只控制对有hosts_access功能的服务(如xinetd所管理的那些服务、sshd和某些配置的sendmail)的访问。
在大多数情况下,明智的做法是先做限制,然后只允许从指定主机访问关键服务。我们建议,默认在hosts.deny文件中加上下面这一行配置,拒绝所有的访问:
 
ALL:ALL
 
接下来,您可以在hosts.allow文件中逐个开放访问许可。下面的配置允许从网络192.168/16访问SSH,而从任何地方访问sendmail。
 
sshd: 192.168.0.0/255.255.0.0
sendmail: ALL
 
两个文件每行配置的格式都是service: host或者service: network。失败的连接企图被记录到syslog中。从没有得到允许访问该服务的主机来的连接会被立即关闭。
大多数Linux发行版本默认都带host.allow和hosts.deny,但是它们通常为空。
-----
 
对于能过xinetd程序启动的网络服务,比如ftp telnet,我们就可以修改/etc/hosts.allow和/etc/hosts.deny的配制,来许可或者拒绝哪些IP、主机、用户可以访问。

比如我们在 /etc/hosts.allow中加入
all:218.24.129.
这样就会允许来自218.24.129.*域的所有的客户来访问。这只是举个例子,实际上,系统默认状态 下,都是能用这些网络服的

如果我们在 /etc/hosts.deny中加入,就限制了来自218.24.129.*域的所有的所有的IP。
all:218.24.129.

如果我们在 /etc/hosts.deny中加入
all:218.24.129.134,这样就限制了所有在218.24.129.134中的所有的用户的访问。

当hosts.allow和 host.deny相冲突时,以hosts.allow设置优化。

设置好后,要重新启动
# /etc/rc.d/init.d/xinetd restart
# /etc/rc.d/init.d/network restart
 
不是任何服务程序都能使用TCP_wrappers的,例如使用命令ldd /usr/sbin/sshd,如果输出中有libwrap,则说明可以使用TCP_wrappers, 即该服务可以使用/etc/hosts.allow和/etc/hosts.deny,如果输出没有libwrap则不可使用
阅读(632) | 评论(0) | 转发(0) |
0

上一篇:cygwin sshd 安装配置

下一篇:linux cmd--shutdown

给主人留下些什么吧!~~