linux基础篇-防火墙(开启、关闭、白名单、转发)-常用
·
日常工作,避免不了安全问题,为了不让自己的系统被攻击,又得让指定的人访问就需要开通防火墙策略。
工作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
更多推荐
所有评论(0)