概述
SElinux
1、系统安全保护(SElinux)
• Security-Enhanced Linux
– 美国NSA国家安全局主导开发,一套增强Linux系统安
全的强制访问控制体系
– 集成到Linux内核(2.6及以上)中运行
– RHEL7基于SELinux体系针对用户、进程、目录和文件
提供了预设的保护策略,以及管理工具
2、SElinux的运行模式:
enforcing (强制记录)
permissive (宽松)
disabled (彻底禁用) 变成disabled,都必须经过修改配置文件,重起才可以
3、管理SElinux
[root@server0 ~]# getenforce #查看当前SELinux状态
临时切换状态:
[root@server0 ~]# setenforce 1
[root@server0 ~]# getenforce
Enforcing
[root@server0 ~]# setenforce 0
[root@server0 ~]# getenforce
Permissive
永久切换状态:(需要修改配置文件,然后重启)
[root@server0 ~]# vim /etc/selinux/config #永久配置文件路径
SELINUX=permissive #状态
4、有关SElinux说明:
SElinux就好比宫中的皇帝,在linux系统(皇宫)中所有文件都打上对应的标签或者说是规则,当用户违反了它所设置的规则的时候,如果在enforcing(强制)模式下,会禁止用户该操作;如果在permissive(宽松)模式下,允许用户操作,但是会把用户的操作记录到自己的小本子上;虽然SElinux在linux系统(皇宫)中好比皇帝,大事小事都要管,但是我们管理员root完全可以修改它的状态,所有在日常使用当中,为了防止SElinux的干扰导致某些服务起不来,所以可以修改配置文件,彻底禁用SElinux。
firewall(软件防火墙)服务基础
1、RHEL7 的防火墙体系
系统服务:firewalld
管理工具:firewall-cmd(命令) firewall-config(图形)
匹配规则:匹配即停止(linux匹配规则)
2、预设安全区域
• 根据所在的网络场所区分,预设保护规则集
– public: 仅允许访问本机的sshd、DHCP、ping少数几个服务
– trusted: 允许任何访问
– block: 阻塞任何来访请求,明确拒绝
– drop: 丢弃任何来访的数据包,节省资源
防火墙决定,客户端请求进入某个区域的规则:
1.查看客户端请求中源IP地址,再看所以有区域中,哪一个区域有该源IP地址的规则,则进入该区域
2.进入默认区域,public
3、互联网常见的服务协议
http : 超文本传输协议 80
FTP : 文件传输协议 21
https : 安全的超文本传输协议 443
DNS : 域名解析协议 53
telnet : 远程管理协议 23
smtp : 邮件协议,用户发邮件协议 25
pop3 : 邮件协议,用户收邮件协议 110
tftp : 简单文件传输协议 69
4、安装基本Web服务,FTP服务,做firewall的实验测试:
1.服务端虚拟机Server,安装可以提供Web服务与FTP服务软件
# yum -y install httpd vsftpd
2.虚拟机Server操作,启动httpd与vsftpd服务,设置为开机自起服务
# systemctl restart httpd #重起服务
# systemctl enable httpd #设置开机自起服务
# systemctl restart vsftpd #重起服务
# systemctl enable vsftpd #设置开机自起服务
3.虚拟机Server操作,书写页面文件
# echo '<h1>NSD1803' > /var/www/html/index.html
4.虚拟机Server操作,访问测试
# firefox 172.25.0.11
# firefox ftp://172.25.0.11
5、默认区域服务的添加
虚拟机Server
# firewall-cmd --get-default-zone #查看默认区域
# firewall-cmd --zone=public --list-all #查看区域规则
# firewall-cmd --zone=public --add-service=http #添加服务http
# firewall-cmd --zone=public --add-service=ftp #添加服务ftp
# firewall-cmd --zone=public --list-all
虚拟机Desktop
# firefox 172.25.0.11 #可以访问
# firefox ftp://172.25.0.11 #可以访问
6、策略的永久配置
– 永久(permanent)
虚拟机Server
# firewall-cmd --reload #重新加载防火墙配置,模拟重起机器
# firewall-cmd --zone=public --list-all
# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=ftp
# firewall-cmd --zone=public --list-all
# firewall-cmd --reload
# firewall-cmd --zone=public --list-all
7、添加源IP的规则设置
虚拟机Server
# firewall-cmd --zone=block --list-all
# firewall-cmd --zone=block --add-source=172.25.0.10 #172.25.0.10虚拟机Desktop的IP地址
# firewall-cmd --zone=block --list-all
虚拟机Desktop
# ping -c 2 172.25.0.11 #失败
# firefox 172.25.0.11 #失败
# firefox ftp://172.25.0.11 #失败
真机访问
# ping -c 2 172.25.0.11 #成功
# firefox 172.25.0.11 #成功
# firefox ftp://172.25.0.11 #成功
8、实现本机的端口映射(访问5423端口,影射到80端口)
端口:编号,标识作用,标识每个服务
• 本地应用的端口重定向(端口1 --> 端口2)
– 从客户机访问 端口1 的请求,自动映射到本机 端口2
– 比如,访问以下两个地址可以看到相同的页面:
客户端desktop-----》172.25.0.11:5423-----》服务端Server
服务端Server-----172.25.0.11:5423 移交 -----172.25.0.11:80
虚拟机Server
# firewall-cmd --reload
虚拟机Desktop
# firefox 172.25.0.11 #可以访问
# firefox 172.25.0.11:5423 #不可以访问
虚拟机Server
# firewall-cmd --permanent
--zone=public
--add-forward-port=port=5423:proto=tcp:toport=80
#添加 - 转发 - 端口 = 将端口5423 协议为tcp 转发到80
# firewall-cmd --reload
# firewall-cmd --zone=public --list-all
虚拟机Desktop
# firefox 172.25.0.11:5423 #可以访问
9、工作时防火墙,设置的方式(推荐)
严格:默认区域为drop,把允许的IP单独放入trusted
宽松:默认区域为trusted,把拒绝的IP单独放入drop
最后
以上就是饱满橘子为你收集整理的SElinux firewall 学习笔记的全部内容,希望文章能够帮你解决SElinux firewall 学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复