linux远程访问权限控制(hosts.allow和hosts.deny)
linux远程访问权限控制(hosts.allow和hosts.deny)
/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。
比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。
使用:
修改/etc/hosts.allow文件
#
#hosts.allowThisfiledescribesthenamesofthehostswhichare
#allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
sshd:210.13.218.*:allow
sshd:222.77.15.*:allow
以上写法表示允许210和222两个ip段连接sshd服务(这必然需要hosts.deny这个文件配合使用),当然:allow完全可以省略的。
当然如果管理员集中在一个IP那么这样写是比较省事的
all:218.24.129.110//他表示接受110这个ip的所有请求!
/etc/hosts.deny文件,此文件是拒绝服务列表,文件内容如下:
#
#hosts.denyThisfiledescribesthenamesofthehostswhichare
#*not*allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
#Theportmaplineisredundant,butitislefttoremindyouthat
#thenewsecureportmapuseshosts.denyandhosts.allow.Inparticular
#youshouldknowthatNFSusesportmap!
sshd:all:deny
注意看:sshd:all:deny表示拒绝了所有sshd远程连接。:deny可以省略。
所以:当hosts.allow和host.deny相冲突时,以hosts.allow设置为准。
注意修改完后:
servicexinetdrestart
才能让刚才的更改生效。
Linux下防止未授权IP使用ssh服务
方法一
iptables-AINPUT-ptcp-s192.168.0.0/24--destination-port22-jACCEPT
iptables-AINPUT-ptcp-s192.168.1.0/24--destination-port22-jACCEPT
iptables-AINPUT-ptcp-s!127.0.0.1--destination-port22-jDROP
方法二
[root@nihao~]#more/etc/hosts.deny
#
#hosts.denyThisfiledescribesthenamesofthehostswhichare
#*not*allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
#Theportmaplineisredundant,butitislefttoremindyouthat
#thenewsecureportmapuseshosts.denyandhosts.allow.Inparticular
#youshouldknowthatNFSusesportmap!
sshd:ALL:deny
[root@nihao~]#more/etc/hosts.allow
#
#hosts.allowThisfiledescribesthenamesofthehostswhichare
#allowedtousethelocalINETservices,asdecided
#bythe'/usr/sbin/tcpd'server.
#
sshd:192.168.0.230:allow
这里写允许的ip或者网段