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

网站开发的架构企业网站制作模板免费下载

网站开发的架构,企业网站制作模板免费下载,视频广告,鹤壁哪里做网站目录 前言 一、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/a/497148.html

    相关文章:

  1. 打造个人 Z-Library 镜像完整技术指南
  2. 怎么建设代刷网站中国住建部和城乡建设部
  3. 【解决思路】关于暴力破解 的Splunk 触发SPL
  4. 做竞价网站要准备什么条件wap网站 手机网站
  5. 重庆市建设工程信息官网站毕业设计代做的网站好
  6. 网站中的文字滑动怎么做h5单页网站制作
  7. 行业网站设计医学网站建设方案
  8. 做柜子喜欢上哪些网站看c 可以做网站
  9. 赚钱的网站做任务搜索排名优化公司
  10. 微网站建设的第一步是进行wordpress菜单参数设置
  11. 代刷网站只做软件下载wordpress搜索结果页
  12. 网站多条件筛选 htmlphp网站开发经理招聘
  13. 做网站的域名是做什么用的设计公司标志设计
  14. threejs(六)加载外部模型 .gltf
  15. 达人设计网官方网站工信部官网备案查询系统
  16. soho外贸网站建设做外贸推广要做哪些平台
  17. 网站建设 中企动力西安竹子建站邀请码
  18. C++----变量存储空间
  19. 天津正规网站建设调试公司wordpress recaptcha
  20. 如果让你建设网站之前你会想什么seo关键词优化软件合作
  21. 阿里巴巴吧网站怎么做开发网站的过程
  22. 怎么做网站例如京东口碑好的网站推广软件
  23. 百度网站地图天津网站建设-中国互联
  24. 高效学习闭环:如何导出功能构建可复用的知识库?
  25. 网站建设汇报评估关键词推广是什么意思
  26. 外贸商城网站开发静安手机网站建设
  27. 怎么做代理网站项目管理软件免费
  28. 网站设计计划漳州模板网站建设
  29. 网站管理与维护方案开个人网站如何赚钱
  30. 哪里有做网站排名优化教学成果申报网站 化工专业建设