linux防火墙策略

防火墙常用端口

常用端口列表

端口号释义
-1所有端口
20FTP传输端口
21FTP连接端口
22sshd服务
23Telnet服务
25SMTP邮件服务
80HTTP服务
110POP3协议
143IMAP协议
123NTP服务
443SSL服务
873rsync服务
888PHPadmin服务
1433SQL数据库
1521Oracle数据库
3306MySQL数据库
3389Windows远程桌面
8080HTTP代理
30000-40000FTP服务【被动端口】

==注:部分运营商判断端口 135、139、444、445、5800、5900 等为高危端口,默认被屏蔽。==

centos6_iptebles

用法:

iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作

选项:

-t  指定需要维护的防火墙柜子表,不使用-t默认操作对象为filter表

-A  追加防火墙规则

-D  删除防火墙规则

-I  插入防火墙规则

-F  清空防火墙规则

-L  列出防火墙规则

-R  替换防火墙规则

-Z  清空防火墙数据表统计信息

-P  设置链默认规则

匹配参数:

[!]-p   匹配协议,!代表取反

[!]-s   匹配源地址

[!]-d   匹配目标地址

[!]-i   匹配入站网卡接口

[!]-j   动作

[!]-o   匹配出站网卡接口

[!]--sport  匹配源端口

[!]--dport  匹配目标端口

[!]--src-range  匹配源地址范围

[!]--dst-range  匹配目标地址范围

[!]--limit  匹配数据表速率

[!]--mac-source 匹配源MAC地址

[!]--sports 匹配源端口

[!]--dports 匹配目标端口

[!]--state  匹配状态(INVALID、ESTABLISHED、NEW、RELATED)

[!]--string 匹配应用层字串

触发动作:

ACCEPT  允许数据包通过

DROP    丢弃数据包

REJECT  拒绝数据包通过

LOG     将数据包信息记录syslog日志

DNAT    目标地址转换

SNAT    源地址转换

MASQUERADE  地址欺骗

REDIRECT    重定向

示例:

查看filter表的所有规则

iptables -nL

查看nat表的所有规则

iptables -t nat -nL

新增允许22端口TCP协议规则

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

新增允许25端口UDP协议源IP到目标IP的规则

iptables -A INPUT -p udp --dport 25 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

新增允许所有端口TCP协议源IP到目标IP的规则

iptables -A INPUT -p TCP -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

阻止所有入站规则

iptables -p INPUT DROP

允许所有出站规则

iptables -p OUTPUT ACCEPT

屏蔽IP

iptables -A INPUT -s 192.168.0.1 -j DROP

删除屏蔽的IP

iptables -D INPUT -s 192.168.0.1 -j DROP

连续多端口新增

iptables -A INPUT -p TCP --dport 20:23 -j ACCEPT
iptables -A INPUT -p TCP --dport 30000:40000 -j ACCEPT

不连续多端口新增

iptables -A INPUT -p tcp -m multiport --dport 25,80,123,443,873,888,3306,8080 -j ACCEPT

centos7_firewalld

特性:firewalld将所有网络流量部分类汇集到zones中,通过zones管理

zones名称描述
trusted允许所有流量入站
home允许ssh,mdns,ipp-client,samba-client,dhcpv6-client预定服务入站
internal与home相同
work允许ssh,或dhcpv6-client预定服务入站
external允许ssh入站,转发的IPV4数据包会进行NAT转换,修改源地址为防火墙本机出站网卡地址
dmz允许ssh入站
block拒绝所有入站
drop拒绝所有入站
pulic允许ssh,dhcpv6-client预定服务入站

用法

firewall-cmd [参数] 

参数

--get-default-zone              查看默认zone信息

--get-default-zone=<pulic>      设置默认zone

--get-active-zones              显示正在使用的zone信息

--get-zones                     显示系统预设zone信息

--get-services                  显示系统预设服务

--get-zone-of-interface=eth0    查看指定接口所属区域

--state                         查看防火墙状态

--list-all                      列出防火墙规则

--reload                        更新防火墙规则

--panic-on                      【慎用!!!】拒绝所有包!

--panic-off                     取消拒绝状态

--permanent                     永久生效

--zone=public                   公共区域

端口管理

# 打开443/TCP端口
firewall-cmd --add-port=443/tcp

# 永久打开3690/TCP端口
firewall-cmd --permanent --add-port=3690/tcp

# 永久打开端口好像需要reload一下,临时打开好像不用,如果用了reload临时打开的端口就失效了
# 其它服务也可能是这样的,这个没有测试
firewall-cmd --reload

# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all

直接模式

# FirewallD包括一种直接模式,使用它可以完成一些工作,例如打开TCP协议的9999端口

firewall-cmd --direct -add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
firewall-cmd --reload

伪装 IP

检查是否允许伪装IP

firewall-cmd --query-masquerade

允许防火墙伪装IP

firewall-cmd --add-masquerade

禁止防火墙伪装IP

firewall-cmd --remove-masquerade

端口转发

将80端口的流量转发至8080

firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080

将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.1.0.1

将80端口的流量转发至192.168.0.1

firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080

示例

查看默认zone信息

firewall-cmd --get-default-zone

查看防火墙所有列表

firewall-cmd --list-all

查看所有开放的端口

firewall-cmd --list-ports

查看端口开启状态

firewall-cmd --query-port=80/tcp

查看服务开启状态

firewall-cmd --list-services

永久添加常用的端口

firewall-cmd --permanent --add-port=[20-23]/tcp
firewall-cmd --permanent --add-port=25/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=123/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --permanent --add-port=873/tcp
firewall-cmd --permanent --add-port=888/tcp
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --permanent --add-port=30000-40000/tcp

永久添加常用的服务

firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=rsyncd
firewall-cmd --permanent --add-service=dhcp
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=ntp
firewall-cmd --permanent --add-service=mysqld
firewall-cmd --permanent --add-service=smtp

永久删除端口规则

firewall-cmd --permanent --remove-port=123/tcp

永久删除服务规则

firewall-cmd --permanent --remove-service=dhcpv6-client

防火墙规则更新

firewall-cmd --reload

转载于:https://my.oschina.net/zhaojunhui/blog/1813720

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值