Linux 基础入门 05
一、Linux 安全管理
1.1 什么是防火墙?
防火墙分为硬件防火墙和软件防火墙两种
防火墙对数据封包取得方式来分类,可以分为
(1)代理服务器 proxy
(2)封包过滤机制 IP filter
1.2 防火墙的功能
(1)代理服务功能 是一种网络服务,通常架设在路由器上面,可以完整掌握局域网对外连接
(2)IP filter 这种方式可以直接分析底层封包表头数据进行过滤,包括MAC地址,IP,TCP,UDP,ICMP
等封包信息都可以进行过滤,用途非常广泛
(3)状态监控包过滤 动态服务,内网主动访问外网的请求,外网回复是可以进来的
其他功能
L2-L7层防御,失陷主机检测,沙盒,waf等web专属防御,热点事件预警,鉴黄等这些功能不是防火墙必须有的,甚至都是要花钱的。
1.3 Linux 防火墙
1.3.1 红帽系列自带的firewall
红帽8是没有防火墙的图形化界面,只能通过命令行来管理,我们可以安装红帽的防火墙图形化界面
[root@wentan ~]# yum install -y firewall-config
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RwEqHWoc-1642248747472)(C:\Users\tan-1210\AppData\Roaming\Typora\typora-user-images\image-20220114105640833.png)]
1.3.2 firewalld防火墙的区域
firewalld
中常用的区域名称及默认策略规则
区域 | 默认策略规则 |
---|---|
trusted | 允许所有的数据包 |
home | 拒绝流入的流量,除非与流出的流量相关; 而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量 |
internal | 等同于home区域 |
work | 拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client与dhcpv6-client服务相关, 则允许流量 |
public | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量 |
external | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
dmz | 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量 |
block | 拒绝流入的流量,除非与流出的流量相关 |
drop | 拒绝流入的流量,除非与流出的流量相关 |
1.3.3 防火墙 firewall 的两个应用项
runtime
当前有效
permanent
永久有效
1.4 firewall-cmd 命令
终端管理工具 firewall-cmd
命令的使用及作用
参数 | 作用 |
---|---|
–get-default-zone | 查询默认的区域名称 |
–set-default-zone=<区域名称> | 设置默认的区域,使其永久生效 |
–get-zones | 显示可用的区域 |
–get-services | 显示预先定义的服务 |
–get-active-zones | 显示当前正在使用的区域与网卡名称 |
–add-source= | 将源自此IP或子网的流量导向指定的区域 |
–remove-source= | 不再将源自此IP或子网的流量导向某个指定区域 |
–add-interface=<网卡名称> | 将源自该网卡的所有流量都导向某个指定区域 |
–change-interface=<网卡名称> | 将某个网卡与区域进行关联 |
–list-all | 显示当前区域的网卡配置参数、资源、端口以及服务等信息 |
–list-all-zones | 显示所有区域的网卡配置参数、资源、端口以及服务等信息 |
–add-service=<服务名> | 设置默认区域允许该服务的流量 |
–add-port=<端口号/协议> | 设置默认区域允许该端口的流量 |
–remove-service=<服务名> | 设置默认区域不再允许该服务的流量 |
–remove-port=<端口号/协议> | 设置默认区域不再允许该端口的流量 |
–reload | 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则 |
–panic-on | 开启应急状况模式 |
–panic-off | 关闭应急状况模式 |
实例1
#查看firewalld服务当前所使用的区域
[root@wentan ~]# firewall-cmd --get-default-zone
public#设置firewalld服务的区域
[root@wentan ~]# firewall-cmd --set-default-zone=trusted
success
[root@wentan ~]# firewall-cmd --set-default-zone=public
success#查看firewalld全部区域
[root@wentan ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
#查看firewalld全部服务
[root@wentan ~]# firewall-cmd --get-services
RH-Satellite-6 RH-Satellite-6-capsule amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit collectd condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm dropbox-lansync elasticsearch etcd-client etcd-server finger foreman foreman-proxy freeipa-4 freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp galera ganglia-client ganglia-master git grafana gre high-availability http https imap imaps ipp ipp-client ipsec irc ircs iscsi-target isns jenkins kadmin kdeconnect kerberos kibana klogin kpasswd kprop kshell kube-apiserver ldap ldaps libvirt libvirt-tls lightning-network llmnr managesieve matrix mdns memcache minidlna mongodb mosh mountd mqtt mqtt-tls ms-wbt mssql murmur mysql nbd nfs nfs3 nmea-0183 nrpe ntp nut openvpn ovirt-imageio ovirt-storageconsole ovirt-vmconsole plex pmcd pmproxy pmwebapi pmwebapis pop3 pop3s postgresql privoxy prometheus proxy-dhcp ptp pulseaudio puppetmaster quassel radius rdp redis redis-sentinel rpc-bind rquotad rsh rsyncd rtsp salt-master samba samba-client samba-dc sane sip sips slp smtp smtp-submission smtps snmp snmptrap spideroak-lansync spotify-sync squid ssdp ssh steam-streaming svdrp svn syncthing syncthing-gui synergy syslog syslog-tls telnet tentacle tftp tftp-client tile38 tinc tor-socks transmission-client upnp-client vdsm vnc-server wbem-http wbem-https wsman wsmans xdmcp xmpp-bosh xmpp-client xmpp-local xmpp-server zabbix-agent zabbix-server
#查看
[root@wentan ~]# firewall-cmd --get-active-zones
libvirtinterfaces: virbr0
publicinterfaces: ens160
实例2
#查询ens160网卡在firewalld服务中的区域
[root@wentan ~]# firewall-cmd --get-default-zone
public
[root@wentan ~]# firewall-cmd --get-zone-of-interface=ens160
public#开启https服务
[root@wentan ~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@wentan ~]# firewall-cmd --reload //刷新
success
[root@wentan ~]# firewall-cmd --zone=public --query-service=https
yes#禁用https服务
[root@wentan ~]# firewall-cmd --permanent --zone=public --remove-service=https
success
实例3
#把firewalld服务中ens160网卡的默认区域修改为external,并在系统重启后生效。分别查看当前与永久模式下的区域名称
[root@wentan ~]# firewall-cmd --permanent --zone=external --change-interface=ens160The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@wentan ~]# firewall-cmd --runtime-to-permanent
success
实例4
#把在firewalld服务中访问8080到8088端口的流量策略设置为允许,但仅限当前生效
[root@wentan ~]# firewall-cmd --zone=public --add-port=8080-8088/tcp
success
#查看端口
[root@wentan ~]# firewall-cmd --zone=public --list-ports
8080-8088/tcp
实例5
#把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效
[root@wentan ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.253.128
success
[root@wentan ~]# firewall-cmd --reload
success
[c:\~]$ ssh root@192.168.253.128 888
实例6
#启动/关闭firewalld防火墙服务的应急状况模式,阻断一切网络连接(当远程控制服务器时请慎用)
#紧急命令
[root@wentan ~]# firewall-cmd --panic-on
[root@wentan ~]# firewall-cmd --panic-off
实例7
#查询public区域是否允许请求SSH和HTTPS协议的流量
[root@wentan ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@wentan ~]# firewall-cmd --zone=public --query-service=https
no
实例8
#firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。比如,我们可以在firewalld服务中配置一条富规则,使其拒绝192.168.91.0/24网段的所有用户访问本机的ssh服务(22端口)
[root@wentan ~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule \family="ipv4" \source address="192.168.253.0/24" \service name="ssh" \reject"
[root@wentan ~]# firewall-cmd --reload
success#关闭防火墙服务
[root@wentan ~]# systemctl stop firewalld.service
二、iptables 服务
其实iptables
服务并不是真正的防火墙,只是用来定义防火墙功能的防火墙管理工具,将定义好的规则交给内核里面的netfilter
功能,即网络过滤器来读取,从而真正实现防火墙功能。
2.1 IPtables 抵挡封包的方式
(1)拒绝让Interne
t包进入Linux
主机的某些port
(2)拒绝让某些来源ip
封包进入
(3)拒绝让带有某些flag
标记的包进入
(4) 分析硬件地址mac
来提供服务
2.2 五链
iptables命令中设置了数据过滤或者是处理数据包的策略,叫做规则。将多个规则合成一个链,叫做规则链,规则链则依据数据包位置不同分成5类
PREROUTING #在进行路由判断之前所要进行的规则(DNAT/REDIRECT)
INPUT #处理入站的数据包
OUTPUT #处理出站的数据包
FORWARD #处理转发的数据包
POSTROUTING #在进行路由判断之后所要进行的规则(SNAT/MASQUERADE)
2.3 四表
iptables中的规则表适用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则。
表名 | 功能 |
---|---|
raw | 确定是否对该数据包进行状态跟踪 |
mangle | 为数据包设置标记(较少使用) |
nat | 修改数据包中的源、目标IP 地址或端口 |
filter | 确定是否放行该数据包(过滤) |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vMFx9YL1-1642248747475)(C:\Users\tan-1210\AppData\Roaming\Typora\typora-user-images\image-20220114204101691.png)]
- 规则表的先后顺序:
raw→mangle→nat→filter
- 规则链的先后顺序:
- 入站顺序
PREROUTING→INPUT
- 出站顺序
OUTPUT→POSTROUTING
- 转发顺序
PREROUTING→FORWARD→POSTROUTING
- 入站顺序
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rRqi9wsT-1642248747476)(C:\Users\tan-1210\AppData\Roaming\Typora\typora-user-images\image-20220114204331046.png)]
2.4 iptables命令中常见的控制类型
类型 | 功能 |
---|---|
ACCEPT | 允许通过 |
LOG | 记录日志,传递给下一条规则 |
REJECT | 拒绝通过,可以给提示 |
DROP | 直接丢弃,不给回应 |
2.5 用法格式
2.5.1 iptables的用法格式
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
iptables –[A|I 链] [-i|o 网络接口] [-p 协议] [-s 来源ip/网域] [-d 目标ip/网域] –j[ACCEPT|DROP]
参数 | 作用 |
---|---|
-P | 设置默认策略:iptables -P INPUT (DROP|ACCEPT) |
-F | 清空规则链 |
-L | 查看规则链 |
-A | 在规则链的末尾加入新规则 |
-I num | 在规则链的头部加入新规则 |
-D num | 删除某一条规则 |
-s | 匹配来源地址IP/MASK ,加叹号"!" 表示除这个IP 外。 |
-d | 匹配目标地址 |
-i 网卡名称 | 匹配从这块网卡流入的数据 |
-o 网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协议,如tcp,udp,icmp |
–dport num | 匹配目标端口号 |
–sport num | 匹配来源端口号 |
2.5.2 查看规则
[root@wentan ~]# iptables [-t tables] [-L] [-nv]
参数:
-t #后面接table,例如nat或filter,如果省略,默认显示filter
-L #列出目前的table的规则
-n #不进行IP与主机名的反查,显示信息的速度会快很多
-v #列出更多的信息,包括封包数,相关网络接口等
2.5.3 删除规则
[root@wentan ~]# iptables [-t tables] [-FXZ]
参数:
-F #清除所有的规则
-X #清除所有自定义规则
-Z #将计数与流量统计清零
2.5.4 默认策略修改
[root@wentan ~]# iptables [-t tables] -P [链名] [ACCEPT/DROP]
2.5.5 实例
实例1
# 所有的来自 lo 这个网口的封包,都予以接受
[root@wentan ~]# iptables -A INPUT -i lo -j ACCEPT# 目标来自 192.168.1.200 这个 IP 的封包都予以接受
[root@wentan ~]# iptables -A INPUT -s 192.168.1.200 -j ACCEPT# 192.168.1.0/24 可接受,但 192.168.1.10 丢弃
[root@wentan ~]# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
[root@wentan ~]# iptables -A INPUT -s 192.168.1.10 -j DROP[root@wentan ~]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 192.168.1.200 0.0.0.0/0
3 ACCEPT all -- 192.168.1.0/24 0.0.0.0/0
4 DROP all -- 192.168.1.10 0.0.0.0/0
#删除第三条规则
[root@wentan ~]# iptables -D INPUT 3
[root@wentan ~]# iptables -L -n --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT all -- 192.168.1.200 0.0.0.0/0
3 DROP all -- 192.168.1.10 0.0.0.0/0
案例2 Iptables
开放tcp、udp
端口
#开放samba端口(udp137,138;tcp139,445)
[root@wentan ~]# iptables -A INPUT -i ens160 -p udp --dport 137:138 -j ACCEPT
[root@wentan ~]# iptables -A INPUT -i ens160 -p tcp --dport 139 -j ACCEPT
[root@wentan ~]# iptables -A INPUT -i ens160 -p tcp --dport 445 -j ACCEPT
实例3 匹配ICMP端口和ICMP类型
iptables –A INPUT –p icmp --icmp-type 类型 –j REJECT
#参数:--icmp-type :后面必须要接 ICMP 的封包类型,也可以使用代号,例如 8 代表 echo request 的意思。(可自查询ICMP-type对应表)
[root@wentan ~]# iptables -A INPUT -p icmp --icmp-type 8 -j REJECT
ICMP类型
TYPE | CODE | Description |
---|---|---|
0 | 0 | Echo Reply——回显应答(Ping应答) |
3 | 0 | Network Unreachable——网络不可达 |
3 | 1 | Host Unreachable——主机不可达 |
3 | 2 | Protocol Unreachable——协议不可达 |
3 | 3 | Port Unreachable——端口不可达 |
3 | 4 | Fragmentation needed but no frag. bit set——需要进行分片但设置不分片比特 |
3 | 5 | Source routing failed——源站选路失败 |
3 | 6 | Destination network unknown——目的网络未知 |
3 | 7 | Destination host unknown——目的主机未知 |
3 | 8 | Source host isolated (obsolete)——源主机被隔离(作废不用) |
3 | 9 | Destination network administratively prohibited——目的网络被强制禁止 |
3 | 10 | Destination host administratively prohibited——目的主机被强制禁止 |
3 | 11 | Network unreachable for TOS——由于服务类型TOS,网络不可达 |
3 | 12 | Host unreachable for TOS——由于服务类型TOS,主机不可达 |
3 | 13 | Communication administratively prohibited by filtering——由于过滤,通信被强制禁止 |
3 | 14 | Host precedence violation——主机越权 |
3 | 15 | Precedence cutoff in effect——优先中止生效 |
4 | 0 | Source quench——源端被关闭(基本流控制) |
5 | 0 | Redirect for network——对网络重定向 |
5 | 1 | Redirect for host——对主机重定向 |
5 | 2 | Redirect for TOS and network——对服务类型和网络重定向 |
5 | 3 | Redirect for TOS and host——对服务类型和主机重定向 |
8 | 0 | Echo request——回显请求(Ping请求) |
9 | 0 | Router advertisement——路由器通告 |
10 | 0 | Route solicitation——路由器请求 |
11 | 0 | TTL equals 0 during transit——传输期间生存时间为0 |
11 | 1 | TTL equals 0 during reassembly——在数据报组装期间生存时间为0 |
12 | 0 | IP header bad (catchall error)——坏的IP首部(包括各种差错) |
12 | 1 | Required options missing——缺少必需的选项 |
13 | 0 | Timestamp request (obsolete)——时间戳请求(作废不用) |
14 | Timestamp reply (obsolete)——时间戳应答(作废不用) | |
15 | 0 | Information request (obsolete)——信息请求(作废不用) |
16 | 0 | Information reply (obsolete)——信息应答(作废不用) |
17 | 0 | Address mask request——地址掩码请求 |
18 | 0 | Address mask reply——地址掩码应答 |
实例4 iptables --syn
的处理方式
指定TCP匹配扩展
使用 --tcp-flags 选项可以根据tcp包
#打标记
[root@wentan ~]# iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK SYN
[root@wentan ~]# iptables -A FORWARD -p tcp --tcp-flags ALL SYN,ACK
#上实例中第一个表示SYN、ACK、FIN的标志都检查,但是只有SYN匹配。第二个表示ALL(SYN,ACK,FIN,RST,URG,PSH)的标志都检查,但是只有设置了SYN和ACK的匹配[root@wentan ~]# iptables -A FORWARD -p tcp --syn
#选项--syn相当于"--tcp-flags SYN,RST,ACK SYN"的简写
实例5
[root@wentan ~]# iptables -A INPUT -m 模块名 --state 状态参数:
-m iptables的模块 state: 状态检查 mac:网卡硬件地址
--state 连接追踪中的状态: NEW: 新建立一个会话 ESTABLISHED:已建立的连接 RELATED: 有关联关系的连接 INVALID: 无法识别的连接
# 放行ssh的首次连接状态
[root@wentan ~]# iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
# 对局域网内mac地址为00:0C:29:56:A6:A2主机开放其联机
[root@wentan ~]# iptables -A INPUT -m mac --mac-source 01:00:5E:C6:49:A2 -j ACCEPT
实例6 本地端口转发
[root@wentan ~]# iptables -t nat -A PREROUTING -p tcp --dport 6666 -j REDIRECT --to-port 22
实例7 iptables
保存和恢复
#保存
[root@wentan ~]# iptables-save > /etc/sysconfig/iptables
#恢复
[root@wentan ~]# iptables-restore /etc/sysconfig/iptables
在Linux
系统中,firewalld
服务和iptables
服务是冲突的,所以二者只有一个能运行,如果开启了iptables
,那么必须永久关闭防火墙,iptables
也会有默认的基本配置,保证网络安全。
[root@wentan ~]# iptables stop firewall
[root@wentan ~]# iptables disable firewall
这样才能用iptables
#可以删掉所有的规则
[root@wentan ~]# iptables -F
#保存当前配置
[root@wentan ~]# iptables-save
三、Selinux 安全子系统
3.1 什么是SELinux
SELinux(Security-Enhanced Linux)
是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)
的安全子系统。RHEL 7系统使用SELinux
技术的目的是为了让各个服务进程都受到约束,使其仅获取本应获取的资源。
selinux
在Linux环境中有非常重要的用途,在我们Linux环境中,如果禁用selinux
,是可以减少非常多的报错,但是在生产环境中想当不推荐
3.2 selinux
在linux当中的三个用途
(1)可以允许或者拒绝访问我们的文件和资源
(2)可以明确一个进程,服务,可以调用哪些端口
(3)可以对一个文件做更精确的限制,远远比我们的用户权限高很多,更精确。
3.3 selinux 的三个模式
(1)强制模式 enforcing selinux 会强制执行严格的访问控制,系统默认就是这个模式,它会拒绝其他服务访问违规端口,同时也限制这些服务的访问执行权限,而且但凡发现了违规行为,会记录在日志里面。
(2)许可模式 permissive 不执行严格的访问控制,但是会记录这些违规的警告,这个模式主要用于测试和故障排除。
(3)关闭模式 disabled selinux功能完全关闭,不拒绝仍和的违规行为,而且不予记录。
三种模式的查看和切换,*只是当前有效,关机重启后会变成原来的模式
getenforce #查看当前模式
setenforce 0 #设置为许可模式
setenforce 1 #设置为强制模式
关闭模式不能简单通过命令来实现,需要修改配置文件,同时修改配置文件也是永久修改默认模式的方法
selinux的配置文件:/etc/selinux/config
实例
[root@wentan ~]# getenforce
Enforcing
[root@wentan ~]# setenforce 0
[root@wentan ~]# getenforce
Permissive
[root@wentan ~]# setenforce 1
[root@wentan ~]# getenforce
Enforcing[root@wentan ~]# vim /etc/selinux/config
SELINUX=disabled #修改为disable
[root@wentan ~]# reboot #重启生效
[root@wentan ~]# getenforce
Disabled#最后再改回enforcing
3.4 selinux 的三个规则
-
targeted 默认规则,针对网络服务的限制比较多,对本机的限制比较少
-
minimun 只会选择性的保护我们的系统模块 例如内核
device
-
mls 完整的selinux限制,对系统各方面都做限制
默认是targeted
模式,因为一般只需要对网络服务做限制
#安装httpd服务
[root@wentan ~]# yum install -y httpd
#开启httpd服务
[root@wentan ~]# systemctl start httpd
#关闭防火墙
[root@wentan ~]# systemctl stop firewalld.service
3.5 安全上下文
在启动selinux
的时候,selinux
会给系统中的资源设置一个安全上下文,保存在 /etc/selinux/targeted/contexts/files/file_contexts
#查询某文件上下文
[root@wentan ~]# ls -Zd /var/www/html/
system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
#在文件上设置的selinux安全上下文,是由用户段,角色段,类型段等多个信息组成
#字段信息
system_u #代表了系统进程的身份
object_r #代表了文件目录的角色
httpd_sys_content_t #代表了网站服务的系统文件
S0 : #sensitivity
3.6 semanage管理安全策略
使用getsebool
命令查询并过滤出所有与HTTP协议相关的安全策略。其中,off为禁止状态,on为允许状态。
#查看某服务的安全策略
[root@wentan ~]# getsebool -a | grep http
httpd_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_check_spam --> off
httpd_can_connect_ftp --> off
httpd_can_connect_ldap --> off
httpd_can_connect_mythtv --> off
httpd_can_connect_zabbix --> off
httpd_can_network_connect --> off
httpd_can_network_connect_cobbler --> off
httpd_can_network_connect_db --> off
httpd_can_network_memcache --> off
httpd_can_network_relay --> off
httpd_can_sendmail --> off
httpd_dbus_avahi --> off
httpd_dbus_sssd --> off
httpd_dontaudit_search_dirs --> off
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> off
httpd_execmem --> off
httpd_graceful_shutdown --> off
httpd_manage_ipa --> off
httpd_mod_auth_ntlm_winbind --> off
httpd_mod_auth_pam --> off
httpd_read_user_content --> off
httpd_run_ipa --> off
httpd_run_preupgrade --> off
httpd_run_stickshift --> off
httpd_serve_cobbler_files --> off
httpd_setrlimit --> off
httpd_ssi_exec --> off
httpd_sys_script_anon_write --> off
httpd_tmp_exec --> off
httpd_tty_comm --> off
httpd_unified --> off
httpd_use_cifs --> off
httpd_use_fusefs --> off
httpd_use_gpg --> off
httpd_use_nfs --> off
httpd_use_openstack --> off
httpd_use_sasl --> off
httpd_verify_dns --> off
mysql_connect_http --> off
named_tcp_bind_http_port --> off
prosody_bind_http_port --> off
面对如此多的SELinux
域安全策略规则,实在没有必要逐个理解它们,我们只要能通过名字大致猜测出相关的策略用途就足够了。比如,想要开启httpd
服务的个人用户主页功能,那么用到的SELinux
域安全策略应该是httpd_enable_homedir
semanage-port
管理安全上下文
-a #增加
-d #删除
-t #指定文件上下文类型
实验:修改httpd服务监听端口为82(默认是80)
[root@wentan ~]# vim /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 82 #需要修改配置文件为Listen 82端口
[root@wentan ~]# cat /etc/httpd/conf/httpd.conf | grep 82
Listen 82[root@wentan ~]# journalctl -xe
[root@wentan ~]# semanage port -a -t http_port_t -p tcp 82
#重启服务
[root@wentan ~]# systemctl restart httpd#浏览器访问本机ip地址的82端口
关注公众号:问渠清源
回复关键字 视频 获取视频教程
发布评论