202-系统安全保护-配置用户环境-条件测试及选择-列表式循环-防火墙策略管理

SELinux安全机制

SELinux概述

• Security-Enhanced Linux
– 美国NSA国家安全局主导开发,一套增强Linux系统安
全的强制访问控制体系
– 集成到Linux内核(2.6及以上)中运行
– RHEL7基于SELinux体系针对用户、进程、目录和文件
提供了预设的保护策略,以及管理工具

SELinux运行模式的切换

• SELinux的运行模式
– enforcing(强制)、permissive(宽松)
– disabled(彻底禁用)

任何模式切换到disabled都要经历重起系统

• 切换运行模式

– 临时切换:setenforce 1|0           #只影响当前系统此次开机
– 固定配置:/etc/selinux/config 文件      #永久配置文件,每次开机默认的状态

虚拟机server
[root@server0 ~]# getenforce #查看SELinux状态
Enforcing
[root@server0 ~]# setenforce 0 #临时修改SELinux状态
[root@server0 ~]# getenforce
[root@server0 ~]# vim /etc/selinux/config      #每次开机默认
SELINUX=permissive

虚拟机desktop
[root@desktop0 ~]# getenforce          #查看SELinux状态
Enforcing
[root@desktop0 ~]# setenforce 0       #临时修改SELinux状态
[root@desktop0 ~]# getenforce
[root@desktop0 ~]# vim /etc/selinux/config
SELINUX=permissive

####################################################

配置用户环境

alias别名设置
• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= '实际执行的命令行'
• 取消已设置的别名
– unalias [别名名称]

• 影响指定用户的 bash 解释环境
– ~/.bashrc,每次开启 bash 终端时生效

• 影响所有用户的 bash 解释环境
– /etc/bashrc,每次开启 bash 终端时生效

[root@server0 ~]# vim /root/.bashrc
alias hello='echo hello'

[root@server0 ~]# vim /home/student/.bashrc
alias hi='echo hi'

[root@server0 ~]# vim /etc/bashrc
alias abc='echo abc'

#重新远程管理,才能生效。
exit
gos
#################################################

防火墙策略管理

一 虚拟机server:构建Web服务器
Web服务:提供一个网页内容
http协议:超文本传输协议
实现Web服务的软件:httpd Nginx Tomcat
1.安装httpd软件
[root@server0 ~]# yum -y install httpd

2.重起httpd软件(httpd服务)
[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# firefox 172.25.0.11      #本机测试访问

3.书写一个页面文件(html语言)
页面文件默认存放路径:/var/www/html
页面文件名称:index.html
[root@server0 ~]# vim /var/www/html/index.html
<marquee><font color=red><h1>NSD1907阳光明媚
滚动 字体颜色为红色 字体变大

[root@server0 ~]# firefox 172.25.0.11        #本机测试访问
#<marquee>产生动态效果,解决并发问题


一 虚拟机server:构建FTP服务器
FTP协议:文件传输协议
软件:vsftpd
1.安装vsftpd软件
[root@server0 ~]# yum -y install vsftpd

2.重起vsftpd程序(vsftpd服务)
[root@server0 ~]# systemctl restart vsftpd
[root@server0 ~]# firefox ftp://172.25.0.11 #本机访问测试

3.默认共享数据的路径:/var/ftp
#####################################################

防火墙策略管理

作用:隔离 严格过滤入站,允许出站

硬件防火墙
软件防火墙

firewalld服务基础
Linux的防火墙体系
• 系统服务:firewalld
• 管理工具:firewall-cmd(命令管理)、firewall-config(图形的管理工具)

[root@serverO ~]# systemctl restart firewalld

[root@serverO ~]# firewall-config &

 

 

 

预设安全区域

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

配置规则的位置

  -运行时 ( runtime )

  -永久( permanent ) 

查看防火墙规则列表

列表查看操作
- firewall-cmd --list-all [--zone=区域名]

- firewall-cmd --list-all-zones
- firewall-cmd --get-zones

- firewall-cmd --get-services

- firewall-cmd --get-default-zone

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

防火墙进入区域的判断:
1.首先查看客户端请求数据包中,源IP地址然后检测自己所有区域中,那个区域有此源IP地址规则,则进入该区域
2.进入默认区域(默认为public)

####################################################

配置防火墙

指定默认的安全区域

·使用--set-default-zone=区域名
  -默认为public,限制较严格
  -对于开放式环境,建议将默认区域修改为trusted

  -针对“运行时/永久配置”均有效

[root@serverO ~]# firewall-cmd --get-default-zone           //修改前
public
[root@serverO ~]# firewall-cmd --set-default-zone=trusted
[root@server0 ~]# firewall-cmd --get-default-zone           //修改之后

trusted

#######################################################

防火墙默认区域的修改
虚拟机server:
]# firewall-cmd --get-default-zone      #查看默认区域
虚拟机desktop:
]# ping 172.25.0.11 #可以通信

虚拟机server:
]# firewall-cmd --set-default-zone=block      #修改默认区域
]# firewall-cmd --get-default-zone        #查看默认区域
虚拟机desktop:
]# ping 172.25.0.11             #不可以通信,有回应

虚拟机server:
]# firewall-cmd --set-default-zone=drop      #修改默认区域
]# firewall-cmd --get-default-zone        #查看默认区域
虚拟机desktop:
]# ping 172.25.0.11             

#不可以通信,没有回应

###################################################

在public区域中添加允许的协议
虚拟机server:
]# firewall-cmd --set-default-zone=public         #修改默认区域
]# firewall-cmd --zone=public --list-all           #查看区域规则

虚拟机desktop
]# firefox 172.25.0.11 #失败
]# firefox ftp://172.25.0.11 #失败

虚拟机server:
# firewall-cmd --zone=public --add-(两次TAB键)      #看到能够添加的协议

# firewall-cmd --zone=public --add-service=http       #添加协议

# firewall-cmd --zone=public --add-service=ftp         #添加协议

# firewall-cmd --zone=public --list-all           #查看区域规则

虚拟机desktop
]# firefox 172.25.0.11                  #成功

]# firefox ftp://172.25.0.11                #成功

#################################################

封网段、开服务

·若针对“永久配置”,需添加--permanent
  -使用--add-source=网段地址
  -使用--add-service=服务名

[root@server0 ~]# firewall-cmd --permanent --zone=block--add-source=172.34.0.0/24
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=http
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=ftp
[root@server0 ~]# firewall-cmd --reload                                                     //重载配置

实现本机的端口映射

 

·本地应用的端口重定向(端口1-->端口2)
  -从客户机访问端口1的请求,自动映射到本机端口2

  -比如,访问以下两个地址可以看到相同的页面
    http://server0.example.com:5423/
    http://server0.example.com/

[root@serverO ~]# firewall-cmd --permanent --zone=trusted --add-forward-port=port=5423:proto=tcp:toport=80

[root@serverO ~]# firewall-cmd --reload                               //重载配置(重新加载防火墙所有配置)

#################################################
添加永久的规则:永久( --permanent)                 #下一次开机读取防火墙规则才能够生效
虚拟机server:
]# firewall-cmd --reload                      #重新加载防火墙所有配置规则
]# firewall-cmd --zone=public --list-all                #查看区域规则

]# firewall-cmd --permanent --zone=public --add-service=http
]# firewall-cmd --reload                      #重新加载防火墙所有配置规则
]# firewall-cmd --zone=public --list-all                 #查看区域规则

]# firewall-cmd --permanent --zone=public --add-service=ftp
]# firewall-cmd --reload                      #重新加载防火墙所有配置规则
]# firewall-cmd --zone=public --list-all                #查看区域规则
#使用网页访问时候,前一个http实验是在网页浏览器上有缓存,以前的配置有影响,重新载入reload,查看是否ftp配置成功
##################################################
利用源IP地址,单独拒绝一个主机进行访问
虚拟机server:
]# firewall-cmd --zone=block --add-source=172.25.0.10(虚拟机desktop的IP)
]# firewall-cmd --zone=block --list-all

虚拟机desktop
]# firefox 172.25.0.11             #失败
]# firefox ftp://172.25.0.11          #失败

真机测试
]# firefox 172.25.0.11            #成功
]# firefox ftp://172.25.0.11          #成功

###################################################
端口:程序或服务或协议编号

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

http:默认端口为80
ftp:默认端口为21

实现本机的端口映射
• 本地应用的端口重定向(端口1 --> 端口2)(#能够让用户访问到我们想让他访问的端口,防火墙将端口)重新转到另一个端口。
– 从desktop访问 5423端口 的请求,自动映射到本机 80端口
– 比如,访问以下两个地址可以看到相同的页面:
172.25.0.11:5423
172.25.0.11

虚拟机server
1.将拒绝的规则删除
]# firewall-cmd --zone=block --remove-source=172.25.0.10

2.添加端口转发的规则
]# firewall-cmd --zone=public
--add-forward-port=port=5423:proto=tcp:toport=80
#添加端口转发规则=目标端口为5423:协议为tcp协议:转发到80端口
#proto协议toport转到端口

3.查看public区域的规则
]# firewall-cmd --zone=public --list-all

虚拟机desktop 访问测试
]# firefox 172.25.0.11:5423 #访问对方的编号为5423的程序

####################################################

posted @ 2022-11-20 14:14  东山有耳  阅读(148)  评论(0)    收藏  举报