iptables-boilerplate 项目教程
1. 项目介绍
iptables-boilerplate
是一个为 Web 主机设计的预定义防火墙规则集。它提供了一套坚实的默认防火墙规则,适用于需要保护的 Web 服务器环境。该项目特别适用于运行 LAMP(Linux, Apache, MySQL, PHP)服务器的场景。
主要特点
- 坚实的默认规则:提供了一套经过测试的默认防火墙规则。
- 易于扩展:可以通过简单的配置文件扩展和修改规则。
- 一键开启端口:支持一键开启特定端口,方便服务配置。
- IP 白名单和黑名单:支持一键添加 IP 白名单和黑名单,增强安全性。
- 详细文档:规则文件中包含详细的注释,便于理解和修改。
2. 项目快速启动
安装步骤
在 Ubuntu 和 Debian 系统上
-
安装
make
工具:sudo apt-get install make
-
克隆项目仓库:
git clone https://github.com/bmaeser/iptables-boilerplate.git cd iptables-boilerplate
-
安装防火墙规则:
sudo make
-
卸载防火墙规则:
sudo make uninstall
在其他系统上
-
创建必要的目录:
sudo mkdir /etc/firewall sudo mkdir /etc/firewall/custom
-
克隆项目仓库并安装文件:
git clone https://github.com/bmaeser/iptables-boilerplate.git cd iptables-boilerplate sudo cp firewall /etc/init.d/firewall cd etc/firewall/ sudo cp *.conf /etc/firewall/
-
确保防火墙脚本可执行并更新运行级别:
sudo chmod 755 /etc/init.d/firewall sudo update-rc.d firewall defaults
配置文件
所有配置文件位于 /etc/firewall/
目录下。你可以根据需要修改这些文件:
firewall.conf
:主防火墙配置文件,包含所有设置。services.conf
:用于打开服务端口的配置文件。ip-whitelist.conf
:IP 白名单配置文件。ip-blacklist.conf
:IP 黑名单配置文件。
3. 应用案例和最佳实践
应用案例
- Web 服务器安全:使用
iptables-boilerplate
保护运行 LAMP 堆栈的 Web 服务器,防止未经授权的访问。 - SSH 访问控制:通过配置
services.conf
文件,限制 SSH 访问仅允许特定 IP 地址。 - DDoS 防护:通过在
custom/
目录下添加自定义规则,限制连接数以防止 DDoS 攻击。
最佳实践
- 定期更新规则:根据业务需求和安全威胁的变化,定期更新防火墙规则。
- 备份配置文件:在修改配置文件之前,确保备份原始文件,以便出现问题时可以恢复。
- 监控和日志:启用防火墙日志记录,定期检查日志以发现潜在的安全威胁。
4. 典型生态项目
- Fail2Ban:一个用于自动封禁恶意 IP 地址的工具,可以与
iptables-boilerplate
结合使用,增强服务器的安全性。 - UFW (Uncomplicated Firewall):一个简单易用的防火墙管理工具,可以与
iptables-boilerplate
结合使用,提供更直观的防火墙管理界面。 - CSF (ConfigServer Security & Firewall):一个功能强大的防火墙和安全工具,适用于需要高级安全配置的服务器环境。