当前位置: 首页 > wzjs >正文

高端网站建设要公司网站定制

高端网站建设要,公司网站定制,企业信用查询平台,汕头市网站建设分站服务机构目录 前言 一、SELinux安全上下文 1、SELinux 简介 2、基础操作命令 1. 查看SELinux状态 2. 切换工作模式 3、安全上下文(Security Context) 1. 查看上下文 2. 修改上下文 chcon命令 semanage 命令 4、SELinux布尔值(Booleans&am…

目录

前言

一、SELinux安全上下文

1、SELinux 简介

2、基础操作命令

1. 查看SELinux状态

2. 切换工作模式

3、安全上下文(Security Context)

1. 查看上下文

2. 修改上下文

chcon命令

semanage 命令

4、SELinux布尔值(Booleans)

5、日志分析与故障排除

1. 查看SELinux日志

2.生成解决方案建议

6、常见问题与解决方案

场景1:Web服务器无法访问文件

场景2:服务无法绑定非标准端口

7、注意事项

二、Linux防火墙-Firewalld

1、 概述

2、 Linux防火墙

防火墙结构

firewalld防火墙

区域分类

区域功能

firewall-cmd命令用法

结语


前言

学习Linux系统,安全管理为重中之重,保护好系统的安全,就是保护数据的安全,今天主要是SELinux系统讲解以及Linux系统防火墙firewall的命令运用。

一、SELinux安全上下文

1、SELinux 简介

  1. 是什么? SELinux(Security-Enhanced Linux)是Linux内核的强制访问控制(MAC)安全子系统,提供更细粒度的权限控制,防止进程或用户越权操作。

  2. 核心思想

    • 最小权限原则:进程/用户只能访问其明确需要的资源。

    • 基于标签的访问控制:所有资源(文件、端口、进程)被赋予安全上下文(Security Context)。

  3. 工作模式

模式描述
Enforcing强制执行策略,拒绝非法操作并记录日志。
setenforce 0# 切换到Permissive模式
setenforce 1# 切换到Enforcing模式

Permissive仅记录违规操作,不阻止(用于调试)。
Disabled完全关闭SELinux(需重启生效)。

2、基础操作命令

1. 查看SELinux状态
getenforce# 查看当前模式
sestatus# 详细状态(模式/策略类型)
2. 切换工作模式
setenforce 0# 切换到Permissive模式
setenforce 1# 切换到Enforcing模式

注意:setenforce仅临时生效,永久修改需编辑 /etc/selinux/config 文件。

3、安全上下文(Security Context)

1. 查看上下文
ls -Z /var/www/html # 查看文件/目录的上下文
ps -Z -C httpd# 查看进程的上下文
2. 修改上下文
chcon命令
选项说明示例消息
-t, --type TYPE设置安全上下文的类型部分已将 file.txt 的类型更改为 httpd_sys_content_t
-u, --user USER设置安全上下文的用户部分已将 file.txt 的用户更改为 system_u
-r, --role ROLE设置安全上下文的角色部分已将 file.txt 的角色更改为 object_r
--reference=FILE使用指定文件的安全上下文已从 ref_file 复制上下文到 target_file
-R, --recursive递归处理文件和目录已递归更改 dir/ 及其内容的上下文
-h, --help显示帮助信息显示帮助菜单
-v, --verbose显示操作详情正在更改 file.txt 的安全上下文
--version显示版本信息chcon (GNU coreutils) 8.32

选项使用案例

设置文件类型 将 /var/www/html/index.html 的上下文类型设为 httpd_sys_content_t:

sudo chcon -t httpd_sys_content_t /var/www/html/index.html

设置用户部分 将 /etc/nginx/nginx.conf 的用户部分设为 system_u:

sudo chcon -u system_u /etc/nginx/nginx.conf

设置角色部分 将 /home/user/file.txt 的角色部分设为 object_r:

sudo chcon -r object_r /home/user/file.txt

递归操作目录 递归修改 /var/www/html/ 目录下所有文件的上下文类型:

sudo chcon -R -t httpd_sys_content_t /var/www/html/

显示帮助信息

chcon --help

显示版本信息

chcon --version

详细模式操作 启用详细输出,修改 ~/.ssh/config 的上下文类型:

sudo chcon -v -t ssh_home_t ~/.ssh/config

说明

  • 实际执行时,若未添加 -v 参数,chcon 默认不输出成功信息,仅在出错时显示错误。

  • 使用 -v 参数可查看操作详情(如上述表格中的“示例消息”)。

chcon -t httpd_sys_content_t /var/www/html/index.html # 临时修改文件类型
restorecon -v /var/www/html/index.html # 恢复默认上下文
semanage 命令
子命令/选项用途说明常用选项示例消息/操作
semanage login管理SELinux用户与Linux账户的映射关系-a (添加)、-d (删除)、-m (修改)
semanage user管理SELinux用户及其角色和权限-a、-d、-R (角色)、-L (限制)创建新SELinux用户 web_user 并分配角色 httpd_role
semanage port管理网络端口与SELinux类型的绑定关系-a、-d、-t (类型)、-p (协议)将TCP端口 8080 绑定到 http_port_t 类型
semanage interface管理网络接口与SELinux类型的绑定关系-a、-d、-t将接口 eth1 绑定到 netif_t 类型
semanage module管理SELinux策略模块(启用/禁用)-a、-d、-e (启用)、-D (禁用)启用策略模块 my_custom_module
semanage fcontext管理文件/目录的默认SELinux上下文规则-a、-d、-t、-s (范围)添加规则:/webapps(/.*)? 的上下文类型为 httpd_sys_content_t
semanage boolean管理SELinux布尔值(开关策略功能)-1 (查看)、--on、--off启用布尔值 httpd_can_network_connect
semanage dontaudit管理dontaudit规则(是否记录特定访问拒绝事件)--on、--off关闭对 sshd 的 dontaudit 规则
-h / --help显示帮助信息-显示子命令的帮助菜单
-v / --verbose显示详细操作信息-显示添加端口 8080 的详细过程
-n / --noheading输出时隐藏列标题-仅显示端口列表数据,无标题行

选项使用案例

管理端口绑定

将TCP端口 8080 标记为HTTP服务端口:

sudo semanage port -a -t http_port_t -p tcp 8080

说明:允许Apache等HTTP服务使用8080端口。

管理文件上下文规则

为自定义Web目录 /opt/webapps 设置默认上下文:

sudo semanage fcontext -a -t httpd_sys_content_t "/opt/webapps(/.*)?"
sudo restorecon -Rv /opt/webapps

说明:添加规则后需运行 restorecon 立即生效。

管理SELinux用户映射

将Linux用户 dev_user 映射到SELinux用户 user_u:

sudo semanage login -a -s user_u dev_user

说明:限制用户 dev_user 的SELinux权限。

启用布尔值

允许HTTP服务访问网络:

sudo semanage boolean --on httpd_can_network_connect

说明:无需重启服务,立即生效。

管理策略模块

禁用自定义策略模块 mymodule:

sudo semanage module -D mymodule

说明:禁用后相关规则不再生效。

查看当前端口绑定

列出所有HTTP相关端口:

semanage port -l | grep http_port_t

输出示例

http_port_t    tcp    80, 443, 8080

 删除文件上下文规则

移除对 /tmp/custom_dir 的上下文规则:

sudo semanage fcontext -d "/tmp/custom_dir(/.*)?"

注意事项

  • 权限要求:大多数操作需 sudo 或 root 权限。

  • 持久化存储:semanage 修改的规则会保存到策略库(默认路径 /etc/selinux/targeted),重启后仍有效。

  • 结合工具使用:修改文件上下文后,需运行 restorecon 或重启服务使更改生效。

4、SELinux布尔值(Booleans)

SELinux策略通过布尔值动态调整权限控制(例如允许Apache访问用户家目录)。

getsebool -a | grep httpd# 查看所有与Apache相关的布尔值
setsebool -P httpd_enable_homedirs=on # 启用布尔值(-P永久生效)

5、日志分析与故障排除

1. 查看SELinux日志
tail -f /var/log/audit/audit.log # 直接查看原始日志
ausearch -m AVC -ts recent# 使用工具过滤日志
2.生成解决方案建议
grep "avc: denied" /var/log/audit/audit.log | audit2allow -M mypolicy
semodule -i mypolicy.pp# 编译并加载自定义策略

6、常见问题与解决方案

场景1:Web服务器无法访问文件
  • 现象:Apache返回403错误,但文件权限正常。

  • 解决

    1. 检查文件上下文:ls -Z /var/www/html

    2. 修复上下文:restorecon -Rv /var/www/html

场景2:服务无法绑定非标准端口
  • 现象:Nginx无法监听8080端口。

  • 解决

semanage port -a -t http_port_t -p tcp 8080# 添加端口到SELinux策略

7、注意事项

  1. 不要随意禁用SELinux:优先使用Permissive模式调试。

  2. 谨慎使用chcon:错误修改上下文可能导致系统不稳定。

  3. 备份策略:修改策略前备份 /etc/selinux 目录。

二、Linux防火墙-Firewalld

1、 概述

按表现形式划分:

软件防火墙: 集成在系统内部,Linux系统: iptables、firewalld、ufw; windows系统下: windows defender

硬件防火墙: 华为防火墙、思科防火墙、奇安信防火墙、深信服防火墙等

按技术划分:

包过滤防火墙: 检查数据包的源IP、目的IP、源端口、目的端口、TCP的syn控制位

七层防火墙:除了上述检查外,还会检查数据内容

防火墙的作用:

阻止来自网络外部的攻击、进行流量控制

2、 Linux防火墙

防火墙结构

用户态:

iptables: 使用iptables命令对防火墙规则进行管理,必须深度理解网络技术和四表五链,对于初学者或者网络技术不达标的人员不友好

firewalld:使用firewall-cmd命令对防火墙进行管理,采用的是区域划分的形式。不需要连接底层的四表五链,对于初学者比较友好

ufw: 使用ufw命令对防火墙进行管理,命令简单易懂。

内核态:

四表: 从内核->用户的顺序: raw -> mangle -> nat -> filter

五链: input、output、forward、prerouting、postrouting

firewalld防火墙
区域分类

九大区域: block、dmz、drop、external、home、internal、public、trusted、work

区域功能

public:公共区域,默认区域

public (active)
target: default #区域类型规则
icmp-block-inversion: no
interfaces: ens33 #属于该区域的接口
sources:#来源
services: dhcpv6-client ssh #放行服务的名称
ports:#放行端口号
protocols:#放行协议
masquerade: no#NAT地址转换
forward-ports:#转发端口
source-ports:#源端口
icmp-blocks:#ICMP的阻塞类型,ping的阻塞
rich rules:#富规则

 home: 家庭区域

home
target: default
icmp-block-inversion: no
interfaces: 
sources: 
services: dhcpv6-client mdns samba-client ssh
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules:

 work: 工作区域

work
target: default
icmp-block-inversion: no
interfaces: 
sources: 
services: dhcpv6-client ssh
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules: 

 trusted: 完全信任区域

trusted
target: ACCEPT#不采用默认规则,放行一切
icmp-block-inversion: no
interfaces: 
sources: 
services: 
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules: 

 internal: 内部区域 (连接内部网络)

internal
target: default
icmp-block-inversion: no
interfaces: 
sources: 
services: dhcpv6-client mdns samba-client ssh
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules: 

 external: 外部区域 (连接外部网络,例如: internet网络)

ternal
target: default
icmp-block-inversion: no
interfaces: 
sources: 
services: ssh
ports: 
protocols: 
masquerade: yes#默认进行NAT地址转换
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules: 

 dmz: 非军事化管理区域(内部的服务器放于该区域)

dmz
target: default
icmp-block-inversion: no
interfaces: 
sources: 
services: ssh
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules:

 drop: 丢弃区域(丢弃一切流量,不给出任何回应)

drop
target: DROP
icmp-block-inversion: no
interfaces: 
sources: 
services: 
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules:

 block: 阻塞区域 (拒绝任何流量,但给出回应)

block
target: %%REJECT%%
icmp-block-inversion: no
interfaces: 
sources: 
services: 
ports: 
protocols: 
masquerade: no
forward-ports: 
source-ports: 
icmp-blocks: 
rich rules:
firewall-cmd命令用法

关键字:

--list-*
--get-*
--set-*
--add-*
--remove-*
--change-*
--zone=

命令分类:

查看:

#查看所有区域的详细信息
[root@arthur ~]# firewall-cmd --list-all-zones 
#查看指定区域的详细信息
[root@arthur ~]# firewall-cmd --list-all --zone=public 
#查看指定区域的放行服务
[root@arthur ~]# firewall-cmd --list-services --zone=public 
#查看指定区域的放行端口
[root@arthur ~]# firewall-cmd --list-ports --zone=public 
#查看指定区域包含的网络接口
[root@arthur ~]# firewall-cmd --list-interfaces --zone=public 
#查看指定区域的放心协议
[root@arthur ~]# firewall-cmd --list-protocols --zone=public
#查看指定区域的ICMP阻塞类型
[root@arthur ~]# firewall-cmd --list-icmp-blocks --zone=public
#查看指定区域的放行源地址
[root@arthur ~]# firewall-cmd --list-sources --zone=public
#查看指定区域的源端口
[root@arthur ~]# firewall-cmd --list-source-ports --zone=public
#查看指定区域的富规则
[root@arthur ~]# firewall-cmd --list-rich-rules --zone=public 
#查看指定区域的转发端口
[root@arthur ~]# firewall-cmd --list-forward-ports --zone=public 
#查看firewalld支持的服务类型
[root@arthur ~]# firewall-cmd --get-services
#查看firewalld的默认区域
[root@arthur ~]# firewall-cmd--get-default-zone
#查看firewalld支持的ICMP的阻塞类型
[root@arthur ~]# firewall-cmd--get-icmptypes 
#查看firewalld所有的活动区域
[root@arthur ~]# firewall-cmd --get-active-zones
#查看指定网络接口所属区域
[root@arthur ~]# firewall-cmd --get-zone-of-interface=ens33
#查看所有区域名称
[root@arthur ~]# firewall-cmd --get-zones

 添加:

#添加指定服务到指定区域
[root@arthur ~]# firewall-cmd --add-service=http --zone=public 
success
#添加端口到指定区域
[root@arthur ~]# firewall-cmd --add-port=80/tcp --zone=public 
success
#添加指定协议到指定区域
[root@arthur ~]# firewall-cmd --add-protocol=ah --zone=public 
success
#添加ICMP阻塞类型到指定区域
[root@arthur ~]# firewall-cmd --add-icmp-block=echo-request --zone=public 
success
#windows端验证
C:\Users\zzh>ping 192.168.115.129正在 Ping 192.168.115.129 具有 32 字节的数据:
来自 192.168.115.129 的回复: 无法访问目标主机。
来自 192.168.115.129 的回复: 无法访问目标主机。
来自 192.168.115.129 的回复: 无法访问目标主机。
#添加指定网络接口到指定区域
[root@arthur ~]# firewall-cmd --add-interface=ens33 --zone=work 
success
#添加指定区域的放行源地址
[root@arthur ~]# firewall-cmd --add-source=192.168.1.0/24 --zone=work 
success
#添加指定区域的放行源端口
[root@arthur ~]# firewall-cmd --add-source-port=999/tcp --zone=work 
success
#添加转发端口到指定区域
[root@arthur ~]# firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.115.115 --zone=work 
success
#添加地址转换功能到指定区域
[root@arthur ~]# firewall-cmd --add-masquerade --zone=work 
success
#验证添加
[root@arthur ~]# firewall-cmd --list-all --zone=public 

 修改:

#修改默认区域
[root@arthur ~]# firewall-cmd --set-default-zone=work
success
#修改网络接口所属区域
[root@arthur ~]# firewall-cmd --change-interface=ens33 --zone=internal 
success
[root@arthur ~]# firewall-cmd --change-zone=ens33 --zone=external 
success
#追加指定区域的放行源地址
[root@arthur ~]# firewall-cmd --change-source=192.168.2.0/24 --zone=work 
success

 删除:

#删除指定服务到指定区域
[root@arthur ~]# firewall-cmd --remove-service=http --zone=public 
success
#删除端口到指定区域
[root@arthur ~]# firewall-cmd --remove-port=80/tcp --zone=public 
success
#删除指定协议到指定区域
[root@arthur ~]# firewall-cmd --remove-protocol=ah --zone=public 
success
#删除ICMP阻塞类型到指定区域
[root@arthur ~]# firewall-cmd --remove-icmp-block=echo-request --zone=public 
success
#删除指定网络接口到指定区域
[root@arthur ~]# firewall-cmd --remove-interface=ens33 --zone=work 
success
#删除指定区域的放行源地址
[root@arthur ~]# firewall-cmd --remove-source=192.168.1.0/24 --zone=work 
success
#删除指定区域的放行源端口
[root@arthur ~]# firewall-cmd --remove-source-port=999/tcp --zone=work 
success
#删除转发端口到指定区域
[root@arthur ~]# firewall-cmd --remove-forward-port=port=8080:proto=tcp:toport=80:toremover=192.168.115.115 --zone=work 
success
#删除地址转换功能到指定区域
[root@arthur ~]# firewall-cmd --remove-masquerade --zone=work 
success
#验证删除
[root@arthur ~]# firewall-cmd --list-all --zone=public 

 保存规则:

#逐行规则保存
[root@arthur ~]# firewall-cmd --remove-masquerade --zone=work --permanent
#一次性保存所有规则
[root@arthur zones]# firewall-cmd --runtime-to-permanent
success
#保存的规则存储路径
/etc/firewalld/zones

结语

今天的主要试验是关于防火墙的练习,需要在练习中对防火墙的相关命令进行熟练掌握。 

    http://www.dtcms.com/wzjs/163976.html

    相关文章:

  1. 昭通市住房和城乡建设局网站热点新闻事件今日最新
  2. 邢台企业做网站价格百度招聘电话
  3. 如何做整人网站数字营销服务商seo
  4. 网站建设公司怎样拓展网站业务神马seo教程
  5. 成都比较好的网站设计公司外贸网站推广费用
  6. 采用什么方法推广网站营销手段有哪些方式
  7. 凡科网站怎么关闭建设中网页设计与制作软件有哪些
  8. 网站改变配色方案长沙网站制作推广
  9. 如何建设一个文件分享网站怎样进行seo优化
  10. 做b2b网站优化设计三年级下册数学答案
  11. 广告模板网站百度统计数据分析
  12. 西宁市网站建设公司推荐电子商务网店运营推广
  13. 网站域名如何备案佛山做网络优化的公司
  14. 自己有网站怎么做优化培训心得体会范文大全1000字
  15. php做网站脑图软文推广是什么
  16. wordpress设置背景音乐郑州网站优化培训
  17. 有关做学校网站的毕业论文渠道推广平台
  18. 机械加工网站哪里找餐饮管理培训课程
  19. 《学做网站论坛》视频下载北京朝阳区
  20. dw中怎样做网站二级页面在哪个平台做推广比较好
  21. 介绍政府网站建设经验合肥seo网站排名
  22. 企业简介郑州seo询搜点网络效果佳
  23. 四大门户网站百度电视剧风云榜
  24. 如何做网站编辑最新的疫情防控政策和管理措施
  25. 建一个自己的网站站长之家官网入口
  26. 微信公众号做头图的网站如何使用网络营销策略
  27. 响应式网站开发图标首页
  28. 可以做免费的网站吗宁波网站建设优化企业
  29. 网站主体负责人和网站负责人东莞排名优化团队
  30. 建设网站怎么查明细百度收录查询方法