在Linux下限制远程用户登陆的来源IP
一、前言 二、通过tcp_wrappers限制 三、通过防火墙限制 四、通过ssh配置限制 五、通过pam机制限制
一、前言
为了系统安全,我们经常对Linux服务器做设置,限制远程登录的来源IP,只允许我们信任的IP进行访问。 今天要讲的几种限制IP的方法,其中“通过tcp_wrappers限制”和“通过防火墙限制”只能通过IP进行限制,就是所有用户都得遵循这个限制。而“通过ssh配置限制”和“通过pam机制限制”可以根据用户名分别来进行IP的限制。
二、通过tcp_wrappers限制
这种方法有比较大的局限性,只能针对一些针对tcp_wrappers的服务进行限制。而SSH登录服务是刚好支持的。 这种方法就是配置文件/etc/hosts.deny和/etc/hosts.allow。
先编辑/etc/hosts.allow,先把允许要登录的IP或者IP段添加进去。
sshd: 192.168.0.2 172.31.1.* 192.168.10.*
再编辑/etc/hosts.deny,拒绝所有的登录。
sshd: ALL
这样设置好后,只有在/etc/hosts.allow中的IP和IP段能登录这个系统,其它的IP都不能登录。
三、通过防火墙限制
这种方式相对简单,只要拒绝相应的IP就可以。 可以拒绝IP不能访问系统的所有服务,也就不能登录了
# iptables -I INPUT -s 192.168.0.3 -j DROP
# 拒绝从192.168.0.3访问此系统
也可以指定端口,拒绝访问某一个服务
# iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j DROP
# 拒绝从192.168.0网段访问此系统的22端口