{eval=Array;=+count(Array);}
這個非常簡單,目前來說,有2種方法,一種是修改hosts.deny文件,一種是添加防火墻規則,下面我分別簡單介紹一下:
這個文件主要用于控制禁止訪問本機的IP(路徑/etc/hosts.deny),只需要添加禁止訪問的IP地址,則指定的IP就不能訪問Linux系統,如下,這里禁止IP為192.168.15.21的用戶ssh遠程登錄,第一個字段為服務名稱,第二個為IP地址(也可以是一個網絡或所有IP),第三個為deny(也可以不寫):
接著用IP為192.168.15.21的用戶嘗試著ssh登錄Linux系統,如下,則會失敗:
這里以firewall防火墻為例(iptables防火墻類似),只需要使用firewall-cmd命令添加一條防火墻規則,拒絕指定IP地址訪問Linux系統就行,如下,這里禁止IP為192.168.15.21的用戶訪問21端口(FTP服務):
接著用IP為192.168.15.21的用戶嘗試連接Linux FTP服務,如下,則會失敗:
如果需要移除規則的話,使用參數remove-rich-rule就行,更多參數和說明的話,可以參考幫助命令“firewall-cmd -h”,每個參數都介紹的非常詳細、清楚:
至此,我們就完成了禁止特定IP訪問Linux系統。總的來說,這2種方法都非常簡單,只要你有一定的Linux基礎,熟悉一下上面的操作過程,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
Selinux 主要是對內核的訪問權限加以控制
TCP_Wrappers應用級防火墻
Netfilter網絡層防火墻
內核的強制安全訪問控制
可以用getenforce獲取目前Selinux的狀態
vi /etc/sysconfig/selinux 設置SELINUX
簡單的來說就是利用
hosts.allow/hosts.deny
來進行訪問控制。首先要知道并不是所有的服務都是受tcp_wrappers管理的,只用采用libwrap庫的服務才受管理。
檢測服務是否支持tcp_wrappers:
ldd $(which domainname) | grep libwrap
例如:ssh服務,如果有輸入下一行,那么說明支持,可以用
hosts.allow/deny
文件進行訪問控制,否則不可。進程先檢查文件/etc/hosts.allow,如果請求訪問的主機名或IP包含在此文件中,則允許訪問。 如果請求訪問的主機名或IP不包含在/etc/hosts.allow中,那么tcpd進程就檢查/etc/hosts.deny。看請求訪問的主機名或IP有沒有包含在hosts.deny文件中。如果包含,那么訪問就被拒絕;如果既不包含在/etc/hosts.allow中,又不包含在/etc/
hosts.deny
中,那么此訪問也被允許。舉例:只允許192.1680.1訪問sshd,其他都拒絕。
hosts.allow sshd:192.168.0.1:allow
hosts.deny sshd:ALL
這其實就是我們常用的iptables,centos7開始使用firewalld服務,原理一樣。
iptables不是真正起防護作用的,Netfilter才是真正的防護著系統,linux系統的安全框架位于內核。
四表:
五鏈:
例如禁止192.168.1.1訪問我的ssh服務,端口默認22
iptable -I INPUT -p tcp -s 192.168.1.1 --dport 22 -j ACCEPT
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答