linux远程访问权限控制(hosts.allow和hosts.deny)

ConquerALL 2011-05-30

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或者网段

相关推荐