伺服器安全之 伺服器只允許指定IP登陸

pythontab發表於2014-01-20

在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 序號

相關文章