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