公告

Gentoo交流群:838664909 欢迎您的加入

#1 2022-11-13 19:09:33

batsom
管理团队
注册时间: 2022-08-03
帖子: 607
个人网站

ubuntu iptables防火墙设置

第一步:导出当前iptables运行值

sudo sh -c "iptables-save > /etc/network/iptables"

如果不想导出可以跳过(可以直接按第二步的方式重新创建默认配置)

第二步:编辑配置文件/etc/network/iptables(默认没有需要自己创建)

sudo vi /etc/network/iptables

下面是提供只开放22号TCP端口的配置文件(仅供参考)

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

第三步:应用刚才所编写的iptables配置文件

sudo iptables-apply

Applying new ruleset... done.
Can you establish NEW connections to the machine? (y/N)

然后按Y进行确认。否则回滚之前状态。

4.查看防火墙状态

sudo ufw status

2.启用
sudo ufw enable
sudo ufw default deny
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。
3.开启/禁用
sudo ufw allow|deny [service]
     
规则
    #双向 
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
    #允许本机 
    iptables -A INPUT -i lo -j ACCEPT 
    #FTP 
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT 
    #SSH 
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT 
    #www 80 
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
     
    #13306 映射转发到  mysql数据库 3306 
    iptables -A PREROUTING -p tcp --dport 13306 -j REDIRECT --to-ports 3306 -t nat 
    #3306 mysql数据库 
    #iptables -A INPUT -p tcp --dport 3306 -j ACCEPT 
    #memache 
    #iptables -A INPUT -p tcp --dport 11211 -j ACCEPT 
     
    #对于OUTPUT规则,因为预设的是ACCEPT,所以要添加DROP规则,减少不安全的端口链接。 
    iptables -A OUTPUT -p tcp --sport 31337 -j DROP 
    iptables -A OUTPUT -p tcp --dport 31337 -j DROP 
     
    #丢弃坏的TCP包 
    iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP 
    #处理IP碎片数量,防止攻击,允许每秒100个 
    #iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT 
     
    #设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包 
    #iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT 
     
    #防止外部的ping和SYN洪水攻击 
    iptables -A INPUT -p tcp --syn -m limit --limit 100/s --limit-burst 100 -j  ACCEPT 
    #ping洪水攻击,限制每秒的ping包不超过10个 
    iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT 
    #防止各种端口扫描,将SYN及ACK SYN限制为每秒钟不超过200个 
    iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT 
     
    #最后规则拒绝所有不符合以上所有的 
    iptables -A INPUT -j DROP

离线

页脚

Powered by FluxBB

本站由XREA提供空间支持