日常工作,避免不了安全问题,为了不让自己的系统被攻击,又得让指定的人访问就需要开通防火墙策略。

        工作4年,不可避免的还是会使用到centos,ubuntu,,,

 一、centos系统(古老)

1.服务启停、状态查询

        1.1centos6.9

#启动防火墙
service iptables start

#查看防火墙状态
service iptables status


#停止防火墙
service iptables stop

##永久关闭防火墙
chkconfig iptables off

        1.2centos7

#启动防火墙
systemctl start firewalld

#查看防火墙状态
systemctl status firewalld 


#停止防火墙
systemctl stop firewalld

##永久关闭防火墙
systemctl disable firewalld

若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service

2.防火墙命令

        2.1centos6.9

#允许特定端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

#允许特定ip访问特定端口
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT

#关闭特定端口访问
sudo iptables -I INPUT -p tcp --dport 8080 -j DROP

#public区域中移除对端口8080的访问权限。--permanent参数意味着更改将被永久保存。
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

##允许特定ip访问
sudo iptables -A INPUT -s 192.168.111.138-j ACCEPT

#保存重启
sudo service iptables save
service iptables restart 

        2.2centos7(firewall-cmd)

##查看版本 
firewall-cmd --version

###防火墙状态
firewall-cmd --state

###查询已开放的端口(已开放的端口号集合)
firewall-cmd --zone=public --list-ports

###查询指定端口是否已开,提示 yes,表示开启;no表示未开启
firewall-cmd --query-port=666/tcp

###防火墙白名单开启(指定ip,端口)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"

###防火墙白名单移除(指定ip,端口)
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"

###防火墙白名单开启(指定端口)
firewall-cmd --add-port=123/tcp --permanent

#移除指定端口
firewall-cmd --permanent --remove-port=123/tcp

###防火墙转发(用于中转站 ej: A-B通信,B-C通信,可以在B上开通转发,使A-C通信,或者本地端口伪装)
firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

#本地的17032端口转发到192.168.111.138的17032
firewall-cmd -add-forward-port=port=17032:proto=tcp:toport=17032:toaddr=192.168.111.138 --zone=public --permanent

#本地端口伪装(本地的8080,外界访问18080)
# firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=18080--zone=public --permanent

#防火墙转发移除
firewall-cmd -remove-forward-port=port=17032:proto=tcp:toport=17032:toaddr=192.168.111.138 --zone=public --permanent


###重载入添加的端口
firewall-cmd --reload


二、ubuntu系统

-----注意系统内有docker的话会有冲突,docker下用的iptables

1.服务启停、状态查询

#启动防火墙
sudo ufw enable

#关闭防火墙
sudo ufw disable

#防火墙状态
sudo ufw status


2.服务命令相关

#白名单ip、ip段、端口
sudo ufw allow from 192.168.111.138
sudo ufw allow from 192.168.1.0/24
sudo ufw allow from 192.168.111.138 to any port 80

#黑名单ip、ip段、端口
sudo ufw deny from 192.168.111.138
sudo ufw deny from 192.168.1.0/24 
sudo ufw deny from 192.168.111.138 to any port 80

#查看防火墙规则是否生效
sudo ufw status verbose

三、国产化操作系统

        之后使用到再补充。。。。。

四、系统防火墙

        有两种模式:

  • Enforcing模式‌:SELinux会强制执行访问控制策略。如果违反了策略,系统会阻止访问并记录警告(setenforce 1)
  • Permissive模式‌:SELinux仍然监视和记录所有的违规行为,但不会阻止这些违规行为,用于调试模式,基本安装k8s,elk都会临时关闭(setenforce 0)
#永久生效 
/etc/selinux/config  selinux=disabled 
需要重启 reboot

#调试模式(临时)
setenforce 0

##查看当前selinux
getenforce

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐