1. UOS支持的防火墙
Ipssufw防火墙d网络过滤器区别?
Ipssufw防火墙是前端管理,Netfilter是内核。
统一的UOS服务器操作系统是基于Debian开发的,所以很多命令和Debian、Ubuntu一样。可以在Debian和Ubuntu上使用的防火墙也可以在UOS中正常使用。
默认情况下,Debian使用iptables,Ubuntu有iptables,也使用简单的ufw。在CentOS7之前,使用iptables,Centos 7开始使用防火墙。在CentOS 7之前,可以使用iptables命令或者直接编辑文件/etc/sysconfig/iptables。一般来说,命令用于防火墙。Iptables命令在Debian和UOS中使用。因为配置文件不是直接编辑的,所以您需要熟悉iptables命令,然后您需要编辑文件设置以使重启生效。Ufw也可以用在UOS中。由于是一个简单的命令,本文主要讨论如何使用iptables设置防火墙功能。
2. 防火墙设置
UOS防火墙设置步骤:
检查是否安装了iptables。
如果您以前有使用CentOS的经验,则无法查看iptables服务状态。在CentOS中,iptables是服务的形式。这里iptables只是配置前端的命令,不能用yum list查看。相反,请使用apt list|grep iptables查看它是否已安装。表示已经安装正常。如果没有安装,可以使用apt install iptables或apt-get install iptables。如果要用ufw安装apt安装ufw,如果要用防火墙,安装后也可以用。
清空原有规则。
IPs-L可以查看现有的有效规则。
Iptables -P INPUT ACCEPT在清除规则之前释放INPUT,否则可能会导致清除后无法远程连接。
#空配置
IPS-f[空规则]
IPS-x[删除自建链]
iptables-Z[重置过滤数据包数据]
创建新的规则配置文件
第一种方式,编辑/etc/iptables.sh,赋予执行权限chmod x/etc/iptables.sh,规则执行后生效。如果需要修改规则,可以每次修改这个文件。
第二种方式是配置文件/etc/iptables(需要使用/sbin/iptables-restore导入规则,可以配置重启时要执行的文件)
#空配置
iptables -F
iptables -X
iptables -Z
#配置,无入口,无出口,无环回网卡
输入下降
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#允许ping
iptables -A INPUT -p icmp -j ACCEPT
#允许ssh
iptables-A INPUT-p TCPDP port 22-j ACCEPT
#允许VNC
iptables-A INPUT-p TCPDP port 5900-j ACCEPT
#向felix学习,并将smtp设置为本地。
iptables-A INPUT-p TCP-m TCPDP port 25-j ACCEPT-s 127 . 0 . 0 . 1
iptables-A INPUT-p TCP-m TCPdport 25-j REVERT
#允许域名系统
iptables-A INPUT-p TCP-m TCPDP port 53-j ACCEPT
iptables-A INPUT-p UDP-m UDPDP port 53-j ACCEPT
#允许http和https
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT
- 导入规则
iptables-save >/etc/iptables 【保存规则】
/sbin/iptables-restore </etc/iptables 【导入规则】
- 设置重启生效脚本
1.)将iptables.sh脚本放到init.d中每次都重启【需要保障iptables脚本一致都是最新的规则,如果是后续临时修改的规则可能不在其中】
2.)编辑/etc/network/if-pre-up.d/iptables,重启会自动生效。要保障/etc/iptables中规则一致是最新的,每次修改规则可以编辑/etc/iptables 如果是使用iptables命令新增,需要增加iptables-save >/etc/iptables 保存。
#!/bin/sh
/sbin/iptables-restore < /etc/iptables
3. 防火墙脚本
编辑如下脚本【第一次执行】,后续编辑/etc/iptables,使用/sbin/iptables-restore < /etc/iptables重新导入,或者直接iptables命令新增,iptables-save>/etc/iptables 保存,防止机器重启无效
#!/bin/sh
#防火墙脚本
echo “#!/bin/sh
/sbin/iptables-restore < /etc/iptables” >/etc/network/if-pre-up.d/iptables
echo “#清空配置
iptables -F
iptables -X
iptables -Z
#配置,禁止进,允许出,允许回环网卡
iptables -P INPUT DROP
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#允许ping
iptables -A INPUT -p icmp -j ACCEPT
#允许ssh
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#允许VNC
iptables -A INPUT -p tcp –dport 5900 -j ACCEPT
#学习felix,把smtp设成本地
iptables -A INPUT -p tcp -m tcp –dport 25 -j ACCEPT -s 127.0.0.1
iptables -A INPUT -p tcp -m tcp –dport 25 -j REJECT
#允许DNS
iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp –dport 53 -j ACCEPT
#允许http和https
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -p tcp –dport 443 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT” > /etc/iptables.sh
chmod +x /etc/iptables.sh
chmod +x /etc/network/if-pre-up.d/iptables
/etc/iptables.sh
iptables-save > /etc/iptables
/sbin/iptables-restore < /etc/iptables
4. 关闭防火墙(清空所有规则,删除脚本,关闭重启)
iptables -P INPUT ACCEPT
iptables -F
iptables -X
iptables -Z
rm /etc/iptables*
rm /etc/network/if-pre-up.d/iptables
5. 配置黑白名单
#黑白名单
####当只有部分人可以访问使用白名单,当只有部分人不能访问使用黑名单
##设置链名
iptables -N whitelist
iptables -N blacklist
##设置自定义链规则
iptables -A whitelist -s xxxx ACCEPT
iptables -A blacklist -s xxxx DROP
##设置INPUT规则
iptables -A INPUT -p tcp –dport 22 -j whitelist
iptables -A INPUT -p tcp –dport 22 -j blacklist
#删除规则
iptables -D INPUT 数字(iptables -L INPUT –line-numbers 查看对应链的规则序号)
iptables -D INPUT -p tcp –dport 22 -j whitelist (也可以使用设置规则时相同的命令把A改成D)
#删除自定义链
iptables -X 链名(注意内置链不可删除)
iptables -Z 置零
iptables -F 清空规则
下一篇:没有了