如何使用iptables限制SSH端口被外部訪問
測試環(huán)境介紹在本示例中,我們有一臺名為S的服務(wù)器,其IP地址為192.168.3.3,SSH服務(wù)端口為22。另外,還有外部網(wǎng)絡(luò)客戶機(jī)A,IP地址為192.168.3.2,以及內(nèi)部網(wǎng)絡(luò)客戶機(jī)B,IP地
測試環(huán)境介紹
在本示例中,我們有一臺名為S的服務(wù)器,其IP地址為192.168.3.3,SSH服務(wù)端口為22。另外,還有外部網(wǎng)絡(luò)客戶機(jī)A,IP地址為192.168.3.2,以及內(nèi)部網(wǎng)絡(luò)客戶機(jī)B,IP地址為192.168.3.5。最初,A和B兩臺機(jī)器都可以通過SSH登錄服務(wù)器S。
添加iptables規(guī)則限制所有客戶機(jī)訪問
首先,在服務(wù)器S上添加iptables規(guī)則,禁止所有客戶機(jī)訪問SSH服務(wù)端口22。
```bash
iptables -I INPUT -p tcp --dport 22 -j DROP
```
此時,無論是客戶機(jī)A還是B,都無法訪問SSH服務(wù),說明所有IP都不能連接到SSH服務(wù)的22端口。
指定允許訪問的IP地址
接著,我們再添加iptables規(guī)則,指定允許訪問的IP地址。在這里,我們指定允許內(nèi)部網(wǎng)絡(luò)的B客戶機(jī)(IP: 192.168.3.5)訪問。
```bash
iptables -I INPUT -s 192.168.3.5 -p tcp --dport 22 -j ACCEPT
```
現(xiàn)在,用A和B兩臺機(jī)器訪問服務(wù)器S,會發(fā)現(xiàn)外部網(wǎng)絡(luò)的A機(jī)器依然無法訪問,而內(nèi)部網(wǎng)絡(luò)的B機(jī)器可以正常訪問。同時,我們也可以查詢到當(dāng)前的iptables規(guī)則。
保存并生效設(shè)置
設(shè)置成功后,需要保存iptables規(guī)則。
```bash
service iptables save
```
最后,重新啟動iptables服務(wù),使設(shè)置永久生效。
```bash
service iptables restart
```
通過以上步驟,我們成功地使用iptables限制了外部網(wǎng)絡(luò)對SSH服務(wù)端口的訪問,只允許內(nèi)部網(wǎng)絡(luò)的特定IP訪問。這樣可以提高服務(wù)器的安全性,防止未經(jīng)授權(quán)的訪問和攻擊。