我是靠谱客的博主 饱满橘子,最近开发中收集的这篇文章主要介绍SElinux firewall 学习笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

                                                                          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 学习笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部