博客 / 詳情

返回

linux 強行踢出對應的用户並禁止ip登錄

  1. 踢出指定的用户
who  #查看所用的連接
who -m # 查看當前的用户
pkill -kill -t 對應的pts/$id
  1. 限制ip訪問的兩種方式

使用hosts.allow和hosts.deny來設置ip白名單和黑名單,/etc/目錄下.

先級為先檢查hosts.deny,再檢查hosts.allow,   
後者設定可越過前者限制,   
例如:   
1.限制所有的ssh,   
除非從216.64.87.0 - 127上來。   
hosts.deny:   
in.sshd:ALL   
hosts.allow:   
in.sshd:216.64.87.0/255.255.255.128  
   
2.封掉216.64.87.0 - 127的telnet   
hosts.deny   
in.sshd:216.64.87.0/255.255.255.128  
   
3.限制所有人的TCP連接,除非從216.64.87.0 - 127訪問   
hosts.deny   
ALL:ALL   
hosts.allow   
ALL:216.64.87.0/255.255.255.128  
   
4.限制216.64.87.0 - 127對所有服務的訪問   
hosts.deny   
ALL:216.64.87.0/255.255.255.128  
   
其中冒號前面是TCP daemon的服務進程名稱,通常系統   
進程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd   
   
其中IP地址範圍的寫法有若干中,主要的三種是:   
1.網絡地址--子網掩碼方式:   
216.64.87.0/255.255.255.0  
2.網絡地址方式(我自己這樣叫,呵呵)   
216.64.(即以216.64打頭的IP地址)   
3.縮略子網掩碼方式,既數一數二進制子網掩碼前面有多少個“1”比如:   
216.64.87.0/255.255.255.0 -- 216.64.87.0/24  
   
設置好後,要重新啓動  
# /etc/rc.d/init.d/xinetd restart  
# /etc/rc.d/init.d/network restart

使用iptables命令.

單個IP的命令是  
iptables -I INPUT -s 81.241.219.171 -j DROP  
   
封IP段的命令是  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
iptables -I INPUT -s 97.47.225.0/16 -j DROP  
   
封整個段的命令是  
iptables -I INPUT -s 97.47.225.0/8 -j DROP  
   
封幾個段的命令是  
iptables -I INPUT -s 97.47.225.0/24 -j DROP  
iptables -I INPUT -s 97.47.225.0/24 -j DROP   
   
   
服務器啓動自運行  
有三個方法:  
1、把它加到/etc/rc.local中  
2、vi /etc/sysconfig/iptables可以把你當前的iptables規則放到/etc/sysconfig/iptables中,系統啓動iptables時自動執行。  
3、service   iptables   save 也可以把你當前的iptables規則放/etc/sysconfig/iptables中,系統啓動iptables時自動執行。  
後兩種更好些,一般iptables服務會在network服務之前啓來,更安全  
   
解封:  
iptables -L INPUT  
iptables -L --line-numbers 然後iptables -D INPUT 序號   
   
   
iptables 限制ip訪問  
通過iptables限制9889端口的訪問(只允許192.168.1.100、192.168.1.101、192.168.1.102),其他ip都禁止訪問  
iptables -I INPUT -p tcp --dport 9889 -j DROP  
iptables -I INPUT -s 192.168.1.100 -p tcp --dport 9889 -j ACCEPT  
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 9889 -j ACCEPT  
iptables -I INPUT -s 192.168.1.102 -p tcp --dport 9889 -j ACCEPT

優先級為先檢查hosts.deny,再檢查hosts.allow,   
    後者設定可越過前者限制,   
    例如:   
    1.限制所有的ssh,   
    除非從216.64.87.0 - 127上來。   
    hosts.deny:   
    in.sshd:ALL   
    hosts.allow:   
    in.sshd:216.64.87.0/255.255.255.128  
       
    2.封掉216.64.87.0 - 127的telnet   
    hosts.deny   
    in.sshd:216.64.87.0/255.255.255.128  
       
    3.限制所有人的TCP連接,除非從216.64.87.0 - 127訪問   
    hosts.deny   
    ALL:ALL   
    hosts.allow   
    ALL:216.64.87.0/255.255.255.128  
       
    4.限制216.64.87.0 - 127對所有服務的訪問   
    hosts.deny   
    ALL:216.64.87.0/255.255.255.128  
       
    其中冒號前面是TCP daemon的服務進程名稱,通常系統   
    進程在/etc/inetd.conf中指定,比如in.ftpd,in.telnetd,in.sshd   
       
    其中IP地址範圍的寫法有若干中,主要的三種是:   
    1.網絡地址--子網掩碼方式:   
    216.64.87.0/255.255.255.0  
    2.網絡地址方式(我自己這樣叫,呵呵)   
    216.64.(即以216.64打頭的IP地址)   
    3.縮略子網掩碼方式,既數一數二進制子網掩碼前面有多少個“1”比如:   
    216.64.87.0/255.255.255.0 -- 216.64.87.0/24  
       
    設置好後,要重新啓動  
    # /etc/rc.d/init.d/xinetd restart  
    # /etc/rc.d/init.d/network restart
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.