linux安全(防火墙)

SELinux 安全机制

SELinux状态

enforcing 强制

permissive 宽松(百分之80策略失效,但是会记录其他软件的 危险行为,启用强制安全机制后会收拾以前违法的软件行为)

disabled 彻底禁用

查看SELinux状态:getenforce

临时设置SELinux状态:setenforce 1|0 # 只能强制和宽松之间切换

永久设置SELinux状态:/etc/selinux/config文件

找到SELINUX=enforcing

​ 改为自己想要的状态 SELINUX=disabled

系统下次启动后生效

构建Web服务

web服务器:httpd(古老) Nginx Tmcat

httpd

1.安装httpd

yum install -y httpd

rpm -q httpd

2.重启httpd

systemctl restart httpd # 重启

systemctl enable httpd # 设置为开机自启

3.本机测试

firefox 127.0.0.1

4.书写页面文件

​ 存放位置:/var/www/html/

​ 网页文件名字:index.html

​ vim /var/www/html/index.html

​ 随便写点东西(Hello World)其实按照html规范写就行了

安装ftp

FTP服务:文件传输

1.安装软件vsftpd

​ yum info vsftpd

​ yum -y install vsftpd

2.重启服务

systemctl restart vsftpd # 重启

systemctl enable vsftpd # 设置为开机自启

3.本机测试

firefox ftp://127.0.0.1

4.ftp共享路径

​ /var/ftp/ # 文件可以放在这里

安装防火墙

  • 防火墙firewall和SELinux的区别是:SELinux是系统自带的,firewall是需要下载的

  • 防火墙 firewalld和iptables区别:firewalld 是对 iptables 的 新的封装,所以firewalld 本身使用的还是iptables ;

在linux 中 firewalld 与 iptables 是共存的;

对于支持 firewalld 的系统中,建议使用firewalld,因为firewalld的一个十分方便的功能是可以动态添加防火墙规则,而直接生效,这在iptables中不不行的;这点对系统安全来讲十分重要;比如:当开发者的程序运行时判断一个IP是规则或者是危险的,可以动态的添加到防火墙的黑名单,从而更好的保护服务器;要知道攻击的来源IP并不是无限的,这样会造成攻击者的成本大幅升高;从而放弃攻击;

但是仍要注意无论是firewalld,还是 iptables 其实都不是真正的防火墙,只是一个防护规则而已,并不能抵抗规则以外的攻击,比如CC攻击,以及其他暴力破解等;

1、安装firewalld

root执行 # yum install firewalld firewall-config

2、运行、停止、禁用firewalld

启动:# systemctl start firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

防火墙策略

防火墙:隔离

​ 严格过滤入站,允许出站

硬件防火墙:对服务器集群,比较贵,可以对出入站进行限制,比如说 不让你玩B站

软件防火墙:对本机的保护

firewalld服务基础

系统服务:firewalld

管理工具:firewall-cmd 、firewall-config

  • 根据所在的网络区分,预设保护规则集
    • public : 仅允许访问本机的sshd、dhcp、ping服务
    • trusted : 允许访问任何访问
    • block : 阻塞任何来访请求(明确拒绝)
    • drop : 丢弃任何来访的数据包(不给客户端回应,节省资源)

数据包: 源IP地址 目标IP地址 数据

防火墙匹配原则:匹配及停止

​ 1. 查看数据包中源IP地址,然后查询所有区域中规则,哪一个区域中有该源IP地址的规则,则进入哪一个区域

​ 2. 进入默认区域(public)

查看防火墙默认区域:

firewall-cmd --get-default-zone

修改防火墙默认区域:

firewall-cmd --set-default-zone=block

区域中添加协议

互联网中常见协议:

http:超文本传输协议 默认端口80

https:安全超文本传输协议 默认端口443

FTP:文件传输协议 默认端口21

TFTP:简单的文件传输协议 默认端口69

telnet:远程管理协议(主要是管理路由器交换机) 默认端口23

DNS:域名解析协议 默认端口53

snmp:简单的网络管理协议 默认端口161

smtp:邮件协议(发邮件) 默认端口25

pop3:邮件协议(收邮件) 默认端口110

查看防火墙区域内的协议

firewall-cmd --zone=public --list-all

现在查看的 public ,如需查看其他的把public改为对应的区域即可

向防火墙区域添加协议
# 向public防火墙区域添加协议
firewall-cmmd --zone=public --add-service=http
# 查看防火墙public区域的协议
firewall-cmd --zone=public --list-all
永久配置策略

上面的配置,关机后会重置

# 永久配置(permanent)
# 向public防火墙区域添加协议(写入配置文件中)
firewall-cmmd --permanent --zone=public --add-service=http
# 重新加载防火墙策略
firewall-cmd --reload
# 查看防火墙public区域的策略
firewall-cmd --zone=public --list-all

拓展,拦截IP

了解:区域中添加源IP地址

单独拒绝一个机器desktop,所有的访问

将服务器desktop的源IP地址,写入区域block

firewall-cmd --zone=block --add-source=172.25.0.10

block区域为:阻塞任何来访请求(明确拒绝)

将源IP地址添加进此区域,可以起到一个拦截效果

# 查看防火墙block区域的策略
firewall-cmd --zone=block --list-all
block
	interfaces:
	sources:172.25.0.10
	services:(这里是放协议的地方:http,ftp)
	ports:
	masquerade: no
	forward-ports:
	icmp-blocks:
	rich rules:

宽松:默认区域为trsuted,单独拒绝的源IP地址写入block(例如web服务器)

严格:默认区域为block,单独拒绝的源IP地址写入trsuted(例如数据库服务器)

端口映射

什么是端口:协议或程序的编号

​ 数据包: 源IP地址 目标IP地址 数据 目标端口

实现本机的端口映射

  • 本地应用的端口重定向(端口1–>端口2)

- 从客户机访问端口1的请求,自动映射到本机端口2

- 比如,访问以下两个地址可以看到相同的页面:

​ http://172.25.0.11:5423 --> http://172.25.0.11:80

​ http://172.25.0.11

端口映射命令

firewall-cmd --permanent --zone=public
–add-forward-port=port=5423:proto=tcp:toport=80
# –add-forward-port=port=5423 添加协议,端口为5423
# proto=tcp 类型为tcp协议
# toport=80 重定向到80端口
# 5423,tcp,80都是可以自定义的
# 重新加载防火墙策略
firewall-cmd --reload
# 查看防火墙public区域的策略
firewall-cmd --zone=public --list-all
# 浏览器输入http://172.25.0.11:5423 查看

删除策略

想删除什么策略就在-remove-后面跟什么策略
firewall-cmd --zone=block --remove-source=172.25.0.10

firewall-cmd --zone=block --remove-service=ftp

参考文章:

linux 防火墙 firewalld和iptables区别https://blog.youkuaiyun.com/qianjiu/article/details/121335742

selinux及防火墙讲解https://blog.youkuaiyun.com/qq_43417559/article/details/95074204

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值