crossbitter 于 2011-09-23 08:15:54发表:
其实,你服务的项目除了 Proxy, WWW ,e-mail,sshd,proftpd 等之外,若要使用 Telnet 或其它的联机软件连上你的主机的话,应该是要经过你的控管的,所以,限制适当的联机网络是有其必要性的。通常,我都只设定我上网工作(Windows 平台)的那部机器,及可能会使用到的外部网络的机器,让他可以登入这部主机,其它的就将之deny(取消)掉!基本上,要设定联机范围的程序与档案有几 个: •tcp_wrappers 套件; •/etc/hosts.allow; •/etc/hosts.deny。 简单的说, hosts.allow 与 hosts.deny 这两个档案就是在限制 /etc/inetd.conf 这个档案中,所允许的服务内容啦!(TCPD先检查hosts.allow ,再检查hosts.deny ,如果前者允许的IP或域名,后者即使有了,也不起作用) •察看是否具有 tcp_wrappers 套件: 要使联机计算机的设定启动,以使用 /etc/hosts.allow 与 /etc/hosts.deny 档案的话,需要这一套软件『tcp_wrappers』,要察看你的 Linux 主机内是否有这一套软件的话,请使用: rpm -q tcp_wrappers 或者 rpm -qa | grep tcp 如果有这套软件的话,自然就会显示出来,如果没有的话,请放入你的 Linux 光盘片,将 rpm 档案装上去吧! •设定允许登入的计算机(/etc/hosts.allow): 其实很简单,只要修改 /etc/hosts.allow(如 果没有此档,请自行以 vi 编辑)这这档案即可,例如,我家里的计算机中,我的内部网域(局域网络)是 1Array2.168.1.0/255.255.255.0,这样的网域代表计算机 IP 在于 1Array2.168.1.1 - 1Array2.168.1.255 之间!所以,我就将 /etc/hosts.allow 这个档案的内容设定成为如此: in.telnetd: 1Array2.168.1.0/255.255.255.0, .ncku.edu.tw : Allow 加入 .ncku.edu.tw 的原因是因为我人在成大,所以加入此行的话,可以使我在成大连上我家里的 Linux 主机。 注:IP的写法不支持/24/32/8等的NetMask的写法,必须把掩码写全. 如:1Array2.168.148.224/255.255.255.240 你可能写成: sshd: all except .sina.com •设定不许登入的计算机(/etc/hosts.deny): 由 于正常的情况下, Linux 会先判断 hosts.allow 这个档案,这个档案中的计算机如果设定为可联机的话,则 hosts.deny 就不会被使用,因此,设定好了 hosts.allow 之后,将 /etc/hosts.deny 设定为『所有计算机都不许登入』的情况,如下所示: in.telnetd: ALL : Deny 这样一来,基本的防护措施就有了(不用重新开机就自动执行了!)。同样,你也可能写成: sshd: all except .sina.com 例题: ssh可以被本地子网访问,但是不能让其他网段的用户访问 /etc/hosts.deny sshd :ALL EXCEPT 1Array2.168.0. \\\\\\\\\小结\\\\\\\\\\ 只允许example.com访问 hosts.allow sshd:ALL EXCEPT .example.com hosts.deny无 只不允许example.com访问 hosts.deny sshd:ALL EXCEPT .example.com hosts.allow无 **以上的理解是错误的,在tcp_wrapper中,拒绝只能用host.deny** 如果只允许example.com访问 hosts.allow 写sshd:.example.com hosts.deny 写sshd:all 如果只不允许example.com访问 hosts.allow不写 hosts.deny 写sshd:.example.com 所以: 对于sshd:ALL EXCEPT .example.com这一句,表示的是hosts.allow中对sshd 都允许进入但是除了example.com不运用这个规则,但不表示拒绝,只是表示不进入,如果想拒绝还需要在 hosts.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 (或者是你自己的信箱 华夏名网
crossbitter 于 2011-09-23 08:03:36发表:
http://ishare.iask.sina.com.cn/f/6272449.html vsftpd:……
crossbitter 于 2011-09-23 08:15:54发表:
其实,你服务的项目除了 Proxy, WWW ,e-mail,sshd,proftpd 等之外,若要使用 Telnet 或其它的联机软件连上你的主机的话,应该是要经过你的控管的,所以,限制适当的联机网络是有其必要性的。通常,我都只设定我上网工作(Windows 平台)的那部机器,及可能会使用到的外部网络的机器,让他可以登入这部主机,其它的就将之deny(取消)掉!基本上,要设定联机范围的程序与档案有几 个:
•tcp_wrappers 套件;
•/etc/hosts.allow;
•/etc/hosts.deny。
简单的说, hosts.allow 与 hosts.deny 这两个档案就是在限制 /etc/inetd.conf 这个档案中,所允许的服务内容啦!(TCPD先检查hosts.allow ,再检查hosts.deny ,如果前者允许的IP或域名,后者即使有了,也不起作用)
•察看是否具有 tcp_wrappers 套件:
要使联机计算机的设定启动,以使用 /etc/hosts.allow 与 /etc/hosts.deny 档案的话,需要这一套软件『tcp_wrappers』,要察看你的 Linux 主机内是否有这一套软件的话,请使用:
rpm -q tcp_wrappers 或者 rpm -qa | grep tcp
如果有这套软件的话,自然就会显示出来,如果没有的话,请放入你的 Linux 光盘片,将 rpm 档案装上去吧!
•设定允许登入的计算机(/etc/hosts.allow):
其实很简单,只要修改 /etc/hosts.allow(如 果没有此档,请自行以 vi 编辑)这这档案即可,例如,我家里的计算机中,我的内部网域(局域网络)是 1Array2.168.1.0/255.255.255.0,这样的网域代表计算机 IP 在于 1Array2.168.1.1 - 1Array2.168.1.255 之间!所以,我就将 /etc/hosts.allow 这个档案的内容设定成为如此:
in.telnetd: 1Array2.168.1.0/255.255.255.0, .ncku.edu.tw : Allow
加入 .ncku.edu.tw 的原因是因为我人在成大,所以加入此行的话,可以使我在成大连上我家里的 Linux 主机。
注:IP的写法不支持/24/32/8等的NetMask的写法,必须把掩码写全.
如:1Array2.168.148.224/255.255.255.240
你可能写成: sshd: all except .sina.com
•设定不许登入的计算机(/etc/hosts.deny):
由 于正常的情况下, Linux 会先判断 hosts.allow 这个档案,这个档案中的计算机如果设定为可联机的话,则 hosts.deny 就不会被使用,因此,设定好了 hosts.allow 之后,将 /etc/hosts.deny 设定为『所有计算机都不许登入』的情况,如下所示:
in.telnetd: ALL : Deny
这样一来,基本的防护措施就有了(不用重新开机就自动执行了!)。同样,你也可能写成: sshd: all except .sina.com
例题:
ssh可以被本地子网访问,但是不能让其他网段的用户访问
/etc/hosts.deny
sshd :ALL EXCEPT 1Array2.168.0.
\\\\\\\\\小结\\\\\\\\\\
只允许example.com访问
hosts.allow
sshd:ALL EXCEPT .example.com
hosts.deny无
只不允许example.com访问
hosts.deny
sshd:ALL EXCEPT .example.com
hosts.allow无
**以上的理解是错误的,在tcp_wrapper中,拒绝只能用host.deny**
如果只允许example.com访问
hosts.allow 写sshd:.example.com
hosts.deny 写sshd:all
如果只不允许example.com访问
hosts.allow不写
hosts.deny 写sshd:.example.com
所以:
对于sshd:ALL EXCEPT .example.com这一句,表示的是hosts.allow中对sshd 都允许进入但是除了example.com不运用这个规则,但不表示拒绝,只是表示不进入,如果想拒绝还需要在 hosts.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 (或者是你自己的信箱 华夏名网
crossbitter 于 2011-09-23 08:03:36发表:
http://ishare.iask.sina.com.cn/f/6272449.html vsftpd:……