使用 TCP-Wrapper 管理Linux服务设定档
●/etc/hosts.allow
●/etc/hosts.deny
参考文件
●man hosts.allow
●man hosts.deny
Linux 的安全设定中,安全设定大制分为三个类别,Kernel Filter、应用程式本身安全设定以及 TCP-Wrapper。
TCP-Wrapper 就像一个服务总管一样,所有使用(支援)TCP-Wrapper 的程式,都可以透过他来限制一些安全的控管,比如只允许那些地方可以连入,那些地方无法连入等等。如果连线是允许的,才让该连线和相关的服务接洽。
现行常见使用 TCP-Wrapper 的服务有 pop3、sshd、vsftpd、telnet、imap ... .... 等常见的服务。
流程
当封包到达主机之后,使用 TCP-Wrapper 会先参考 hosts.allow,若是该服务在 hosts.allow 里面,就会先被通过,如果不在
hosts.allow 里面,就会继续往下,参考 hosts.deny,如果该服务在 hosts.deny 在该项目里面,那么就无法使用;最后,万一该服务在
hosts.allow 或 hosts.deny 里被没有被描述的话,就可以使用。
实例:允许使用者只能从 eic.com.tw 网段连进来。
# vi /etc/hosts.deny
___________________________
sshd:ALL EXCEPT .eic.com.tw
:__________________________
如此就马上生效,也不用重新启动。
安全政策:
实作中,都是先 deny 所有的 service,再一一打开。因此,都会在 hosts.deny 里会设定 ALL:ALL,再到 hosts.allow
开启必要的设定,以本例来说,只允许 ssh 服务启动。
# vi /etc/hosts.deny
_____________________
ALL:ALL
:____________________
# vi /etc/hosts.allow
_____________________
sshd:.eic.com.tw
:____________________
如此就可以达到稍微安全的机制。