首页 > Linux教程 > 正文

服务器安全之 服务器只允许指定IP登陆

在linux安全中,很重要的一点就是控制服务器的登陆权限,防止恶意攻击,我们可以指定自己的IP访问,禁止其他IP访问。主要有两种方法可以实现这个需求。

第一种: hosts.allow与hosts.deny

两个文件均在/etc/目录下

优先级为先检查hosts.deny,再检查hosts.allow, 

后者设定可越过前者限制, 

例如: 

1.限制所有的ssh

除非从218.64.87.0——127上来。 

hosts.deny: 

in.sshd:ALL 

hosts.allow: 

in.sshd:218.64.87.0/255.255.255.128 

2.封掉218.64.87.0——127的telnet 

hosts.deny 

in.sshd:218.64.87.0/255.255.255.128 

3.限制所有人的TCP连接,除非从218.64.87.0——127访问 

hosts.deny 

ALL:ALL 

hosts.allow 

ALL:218.64.87.0/255.255.255.128 

4.限制218.64.87.0——127对所有服务的访问 

hosts.deny 

ALL:218.64.87.0/255.255.255.128 

其中冒号前面是TCP daemon的服务进程名称,通常系统 

进程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd 

其中IP地址范围的写法有若干中,主要的三种是: 

1.网络地址——子网掩码方式: 

218.64.87.0/255.255.255.0 

2.网络地址方式(我自己这样叫,呵呵) 

218.64.(即以218.64打头的IP地址) 

3.缩略子网掩码方式,既数一数二进制子网掩码前面有多少个“1”比如: 

218.64.87.0/255.255.255.0《====》218.64.87.0/24 

设置好后,要重新启动

# /etc/rc.d/init.d/xinetd restart

# /etc/rc.d/init.d/network restart


第二种:iptables 防火墙

单个IP的命令是 
iptables -I INPUT -s 59.151.119.180 -j DROP 
封IP段的命令是 
iptables -I INPUT -s 211.1.0.0/16 -j DROP 
iptables -I INPUT -s 211.2.0.0/16 -j DROP 
iptables -I INPUT -s 211.3.0.0/16 -j DROP 
封整个段的命令是 
iptables -I INPUT -s 211.0.0.0/8 -j DROP 
封几个段的命令是 
iptables -I INPUT -s 61.37.80.0/24 -j DROP 
iptables -I INPUT -s 61.37.81.0/24 -j DROP 
service   iptables   save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。 
解封: 
iptables -L INPUT 
iptables -L --line-numbers 然后iptables -D INPUT 序号

上一篇:使用nginx搭建http代理服务器
下一篇:mysql锁机制总结

PythonTab微信公众号:

Python技术交流互助群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854