一、iptables簡介
iptables是一個基於Linux內核的防火牆工具,通過過濾和修改網路數據包來達到網路安全控制的目的。
CentOS7默認使用firewalld作為防火牆管理工具,但iptables仍是一種被廣泛使用的替代方案。本文將介紹在CentOS7中如何使用iptables進行防火牆的配置。
二、iptables基礎命令
iptables的基礎命令包括:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #添加一個允許SSH連接的規則 iptables -A INPUT -j DROP #添加一個拒絕所有其他TCP流量的規則 iptables-save > /etc/sysconfig/iptables #將iptables配置保存到文件中
其中,-A表示添加規則,-p表示協議,–dport表示目標埠,-j表示操作(ACCEPT表示允許,DROP表示拒絕)。
最後一條命令將iptables配置保存到文件中,這樣在重啟系統後,iptables配置也能生效。
三、iptables配置文件
iptables配置文件位於/etc/sysconfig/iptables,它由一些條目組成,每個條目定義了一條iptables規則。
下面是一個簡單的iptables配置文件:
# Generated by iptables-save v1.4.21 on Sat Feb 8 22:01:11 2020 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
其中,filter是iptables的表類型,定義了表中的規則鏈(INPUT、FORWARD和OUTPUT)。每個規則鏈由一組規則組成,如-A INPUT表示在INPUT規則鏈中添加一條規則。規則的-m選項表示使用特定的擴展模塊,如m state用於狀態匹配。
四、iptables實際應用
(一)開啟SSH連接
為了遠程訪問伺服器,需要開啟SSH連接。在iptables中添加一條允許SSH連接的規則,如下所示:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
這條規則將允許TCP流量通過22埠,表示允許SSH連接。
(二)限制HTTP訪問
為了限制HTTP訪問,需要拒絕所有不必要的HTTP流量和禁止入站HTTP訪問。
iptables -A INPUT -p tcp --dport 80 -j DROP #拒絕所有HTTP流量 iptables -A OUTPUT -p tcp --dport 80 -j DROP #拒絕所有HTTP流量 iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT #僅允許入站HTTP訪問
這些規則將拒絕所有80埠的流量(即HTTP流量),並允許入站HTTP訪問。
(三)禁止ping
在某些情況下,可能需要禁止ping(ICMP)流量,以提高伺服器的安全性。
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
這些規則將拒絕所有入站ping請求和所有出站ping回復。
(四)設置防火牆策略
設置防火牆策略是很常見的一種iptables應用。下面是一個簡單的iptables配置,它允許SSH和HTTP訪問,拒絕所有其他連接:
# 允許SSH連接 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允許HTTP訪問 iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT # 拒絕所有其他連接 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT
其中,-P選項表示設置規則鏈的默認策略,DROP表示拒絕。
五、總結
iptables是一種強大的防火牆工具,在CentOS7中被廣泛使用。本文介紹了iptables基礎命令、配置文件、以及網路安全實踐中常見的應用場景。希望這篇文章能對讀者理解iptables配置和使用提供一些幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311086.html