使用tcp_wrappers 套件来限制连接上您Linux主机的计算机

技术分享 Story 90浏览 0评论
摘要

使用tcp_wrappers 套件来限制连接上您Linux主机的计算机

前言:
如果你已经将一些可能造成侵入的服务关掉之后,下一步要作什么呢?当然就是限制联机进来计算机啰!通常,若你有开启 http 或 mail 的情况下,在 apache 与 sendmail 的设定文件中限制联机的计算机,可能会造成一些网域无法登入,当然,除非你只对内部开放,否则的话,通常是不在该服务下关闭某一网域的计算机的!但是 telnet 这个服务就不是这样啰!基本上,我们并不希望有任何人以 telnet 登入我们的主机,(除非你有架设 BBS)因为如果你开放 telnet 的话,那等于是请所有的人进入你的主机中,窃取你的数据,甚至以你的主机为中继站去攻击别人!因此,最好限制每一台主机可以联机的网域才好。

限制联机的范围:
其 实,你服务的项目除了 Proxy, WWW 与 e-mail 等之外,若要使用 Telnet 或其它的联机软件连上你的主机的话,应该是要经过你的控管的,所以,限制适当的联机网络是有其必要性的。通常,我都只设定我上网工作(Windows 平台)的那部机器,及可能会使用到的外部网络的机器,让他可以登入这部主机,其它的就将之deny(取消)掉!基本上,要设定联机范围的程序与档案有几 个:

tcp_wrappers 套件;
/etc/hosts.allow;
/etc/hosts.deny。
简单的说, hosts.allow 与 hosts.deny 这两个档案就是在限制 /etc/inetd.conf 这个档案中,所允许的服务内容啦!

1. 察看是否具有 tcp_wrappers 套件:

要使联机计算机的设定启动,以使用 /etc/hosts.allow 与 /etc/hosts.deny 档案的话,需要这一套软件『tcp_wrappers』,要察看你的 Linux 主机内是否有这一套软件的话,请使用:

rpm -q tcp_wrappers 或者 rpm -qa | grep tcp

如果有这套软件的话,自然就会显示出来,如果没有的话,请放入你的 Linux 光盘片,将 rpm 档案装上去吧!

2. 设定允许登入的计算机(/etc/hosts.allow):

其实很简单,只要修改 /etc/hosts.allow(如 果没有此档,请自行以 vi 编辑)这这档案即可,例如,我家里的计算机中,我的内部网域(局域网络)是 192.168.1.0/255.255.255.0,这样的网域代表计算机 IP 在于 192.168.1.1 - 192.168.1.255 之间!所以,我就将 /etc/hosts.allow 这个档案的内容设定成为如此:

in.telnetd: 192.168.1.0/255.255.255.0, .ncku.edu.tw : Allow

加入 .ncku.edu.tw 的原因是因为我人在成大,所以加入此行的话,可以使我在成大连上我家里的 Linux 主机。

3. 设定不许登入的计算机(/etc/hosts.deny):

由 于正常的情况下, Linux 会先判断 hosts.allow 这个档案,这个档案中的计算机如果设定为可联机的话,则 hosts.deny 就不会被使用,因此,设定好了 hosts.allow 之后,将 /etc/hosts.deny 设定为『所有计算机都不许登入』的情况,如下所示:

in.telnetd: ALL : Deny

这样一来,基本的防护措施就有了(不用重新开机就自动执行了!)。

记录限制登入的主机 IP:

通 常我们会希望如果有人尝试登入我们的系统时,系统不但可以将他摒弃在外,并且可以将他的尝试记录下来!这时,我们可以藉由 /etc/hosts.deny 来达成这个目标!在这个档案中(当然,您的 /etc/hosts.allow 必须已经先完成编辑了!),你可以这样输入:

[root @tsai /etc]# vi hosts.deny

in.telnetd: ALL : spawn (echo Security notice from host `/bin/hostname`; \
echo; /usr/sbin/safe_finger @%h ) | \
/bin/mail -s "%d-%h security" root & \
: twist ( /bin/echo -e "\n\nWARNING connection not allowed. Your attempt has been logged. \n\n\n警告您尚未允许登入,您的联机将会被纪录,并且作为以后的参考\n\n ". )

在 上面的例子中,黄色的 root 部分,可以写成你的个人账号或者其它 e-mail ,以免很少以 root 身份登入 Linux 主机时,容易造成不知道的情况,另外,最后几行为同一行。如此一来,当未经允许的计算机尝试登入你的主机时,他的画面就会显示上面的最后一行,并且将他的 IP 寄到 root (或者是你自己的信箱)那里去!

转载请注明:成长的对话 » 使用tcp_wrappers 套件来限制连接上您Linux主机的计算机