在LNMP(Linux, Nginx, MySQL, PHP)环境中配置防火墙规则可以通过多种方式实现,具体取决于你的需求和使用的Linux发行版。以下是几种常见的方法:
检查防火墙状态:
sudo iptables -L
设置默认策略:
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
配置允许的入站规则:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP流量
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS流量
保存规则:
sudo service iptables save
启用防火墙:
sudo systemctl enable iptables
sudo systemctl start iptables
重启防火墙使配置生效:
sudo service iptables restart
检查防火墙状态:
sudo systemctl status firewalld
临时关闭防火墙:
sudo systemctl stop firewalld
永久关闭防火墙:
sudo systemctl disable firewalld
配置防火墙区域:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
重新加载防火墙配置:
sudo firewall-cmd --reload
安装ngx_lua_waf:
wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip
unzip ngx_lua_waf.zip
mv ngx_lua_waf-master /usr/local/nginx/conf/waf
修改nginx配置文件:
http {
lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;
init_by_lua_file /usr/local/nginx/conf/waf/init.lua;
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;
config.waf.RulePath = "/usr/local/nginx/conf/waf/wafconf/"
config.waf.attacklog = "off"
config.waf.logdir = "/usr/local/nginx/logs/hack/"
config.waf.UrlDeny = "on"
config.waf.Redirect = "on"
config.waf.CookieMatch = "on"
config.waf.postMatch = "on"
config.waf.whiteModule = "on"
config.waf.black_fileExt = {"php", "jsp"}
config.waf.ipWhitelist = {"127.0.0.1"}
config.waf.ipBlocklist = {"1.0.0.1"}
config.waf.CCDeny = "on"
config.waf.CCrate = "100/60"
}
重启nginx:
sudo service nginx reload
以上是几种在LNMP环境中配置防火墙规则的方法,你可以根据自己的需求选择合适的方法进行配置。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:LNMP环境中如何配置防火墙