在Linux上,您可以使用多種方法來限制FTP服務器的訪問IP。以下是一些常見的方法:
iptables是Linux內核自帶的防火墻工具,可以用來限制IP訪問。
允許特定IP訪問FTP服務器:
sudo iptables -A INPUT -p tcp --dport 21 -s 允許的IP地址 -j ACCEPT
拒絕所有其他IP訪問FTP服務器:
sudo iptables -A INPUT -p tcp --dport 21 -j DROP
保存iptables規則(具體命令可能因發行版而異):
sudo iptables-save > /etc/iptables/rules.v4
ufw是Ubuntu和其他基于Debian的系統上的防火墻管理工具。
啟用ufw:
sudo ufw enable
允許特定IP訪問FTP服務器:
sudo ufw allow from 允許的IP地址 to any port 21
拒絕所有其他IP訪問FTP服務器:
sudo ufw deny 21/tcp
重新加載ufw規則:
sudo ufw reload
如果您使用的是vsftpd(Very Secure FTP Daemon),可以在其配置文件中設置IP訪問限制。
編輯vsftpd配置文件:
sudo nano /etc/vsftpd.conf
添加或修改以下配置:
tcp_wrappers=YES
編輯hosts.deny和hosts.allow文件:
sudo nano /etc/hosts.deny
sudo nano /etc/hosts.allow
在hosts.deny中添加:
vsftpd: ALL
在hosts.allow中添加:
vsftpd: 允許的IP地址
重啟vsftpd服務:
sudo systemctl restart vsftpd
fail2ban是一個入侵防御軟件框架,可以用來限制惡意IP訪問。
安裝fail2ban:
sudo apt-get install fail2ban
創建或編輯jail配置文件:
sudo nano /etc/fail2ban/jail.local
添加以下內容:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
[vsftpd]
enabled = true
port = ftp
filter = vsftpd
logpath = /var/log/vsftpd.log
bantime = 3600
創建或編輯過濾器文件:
sudo nano /etc/fail2ban/filter.d/vsftpd.conf
添加以下內容:
[Definition]
failregex = ^%(__prefix_line)s(?:error:.*|.*denied for user <HOST>).*$
ignoreregex =
重啟fail2ban服務:
sudo systemctl restart fail2ban
通過以上方法,您可以根據自己的需求選擇合適的方式來限制FTP服務器的訪問IP。