回覆列表
  • 1 # 小小猿愛嘻嘻

    這個非常簡單,目前來說,有2種方法,一種是修改hosts.deny檔案,一種是新增防火牆規則,下面我分別簡單介紹一下:

    修改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基礎,熟悉一下上面的操作過程,很快就能掌握的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 2 # 2021加油一次

    大概就三種方式,這裡著重介紹後兩種。

    Selinux 主要是對核心的訪問許可權加以控制

    TCP_Wrappers應用級防火牆

    Netfilter網路層防火牆

    利用selinux

    核心的強制安全訪問控制

    可以用getenforce獲取目前Selinux的狀態

    vi /etc/sysconfig/selinux 設定SELINUX

    TCP_Wrappers應用級防火牆

    簡單的來說就是利用

    hosts.allow/hosts.deny

    來進行訪問控制。

    首先要知道並不是所有的服務都是受tcp_wrappers管理的,只用採用libwrap庫的服務才受管理。

    檢測服務是否支援tcp_wrappers:

    ldd $(which domainname) | grep libwrap

    例如:ssh服務,如果有輸入下一行,那麼說明支援,可以用

    hosts.allow/deny

    檔案進行訪問控制,否則不可。

    被xinetd管理的服務和某些獨立的服務(可以使用tcp_wrappers管理httpd smb squid 不受tcp_wrappers管理tcp_wrappers如何工作:

    程序先檢查檔案/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

    Netfilter網路層防火牆

    這其實就是我們常用的iptables,centos7開始使用firewalld服務,原理一樣。

    iptables不是真正起防護作用的,Netfilter才是真正的防護著系統,linux系統的安全框架位於核心。

    iptables四表五鏈

    四表:

    filter表——過濾資料包Nat表——用於網路地址轉換(IP、埠)Mangle表——修改資料包的服務型別、TTL、並且可以配置路由實現QOSRaw表——決定資料包是否被狀態跟蹤機制處理

    五鏈:

    INPUT鏈——進來的資料包應用此規則鏈中的策略OUTPUT鏈——外出的資料包應用此規則鏈中的策略FORWARD鏈——轉發資料包時應用此規則鏈中的策略PREROUTING鏈——對資料包作路由選擇前應用此鏈中的規則(所有的資料包進來的時侯都先由這個鏈處理)POSTROUTING鏈——對資料包作路由選擇後應用此鏈中的規則(所有的資料包出來的時侯都先由這個鏈處理)、iptables訪問控制舉例

    例如禁止192.168.1.1訪問我的ssh服務,埠預設22

    iptable -I INPUT -p tcp -s 192.168.1.1 --dport 22 -j ACCEPT

  • 中秋節和大豐收的關聯?
  • 為什麼海邊釣不到烏頭太難了?