Linux-Ch07
Linux-Ch07 Linux系统安全和防火墙
linux服务器安全可以分为系统安全和网络安全两个部分
Linux系统安全
权限三部曲
-
UGO补充:默认权限:
umask命令用于查看或设定新建文件和目录时的默认权限-
新建文件的默认权限=666-umask值
-
新建目录的默认权限=777-umask值
-
-
UGO补充:特殊权限:
是UGO权限模型对普通rwx权限的补充。因为基本的rwx权限难以实现某些特殊场景,如普通用户修改密码。
三种特殊权限:
-
SUID(针对可执行文件)
仅对二进制文件有效,仅在运行时有效。执行者在拥有该程序的x权限前提下,将拥有该程序所有者的权限(可理解为用户身份变为文件拥有者)
-
SGID(针对可执行文件)
和SUID类似,针对于组用户。,可以理解为用户的群组身份变成文件所属群组
-
SBIT(针对目录)
用于设置目录的特殊权限,作用是:当用户拥有某目录的写入权限时(w、x),在该目录创建的文件只有该用户和root用户可以进行更名、移动、删除
-
设置和修改三种特殊权限
1
2
3
4
5
6数字方法
SUID对应4 SGID对应2 SBIT对应1,即在权限数字前添加一个数字
chmod 4755 test
字符方法
SUID为u+s SGID为g+s SBIT为o+t
-
-
ACL权限:
Access Control List,访问控制列表,可以针对单一用户、单一文件或目录进行r、w、x的管理。
1
2
3
4
5
6
7
8
9
10
11
12
13ACL权限使用: setfacl和getfacl
setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
-m:设定指定的acl参数给文件使用
-x:删除指定的acl参数
-b:删除所有的acl参数
-R:若目标文件为目录则递归设置
acl参数:
u:[用户账号列表]:[rwx]
g:[用户组列表]:[rwx]
m:[rwx]
setfacl -m u:starlightglimmer:rwx test1
SELinux
传统Linux权限管理机制:DAC,自主访问控制
SELinux权限管理机制:MAC,委托访问控制
相关概念:
- 主体:运行中的程序,进程
- 目标:进程想访问的资源、文件
- 策略:针对不同类型应用设置的一系列规则
- 安全上下文:相当于rwx
三种模式:
- enforcing:强制模式:SELinux运行中,根据策略和安全上下文控制访问
- Permissive:宽容模式,SELinux运行中,但只提供警告
- disabled:关闭SELinux
防火墙技术
Linux防火墙基本概念
防火墙是一种隔离系统内部网络和外部网络的过滤技术
通过实现方式可以分为硬件防火墙和软件防火墙
软件防火墙技术原理可以分为包过滤防火墙和代理服务防火墙
- 包过滤防火墙采用数据包过滤技术,在网络层(IP层)依据预设的过滤规则对数据包进行选择。
- 代理服务防火墙也称链路级网关,将所有跨越防火墙的网络通信分为两段,中间由代理服务进行转发,实现过滤的目的
LInux防火墙
-
Netfilter
LInux内核中进行数据包过滤、连接跟踪、地址转换等功能的实现框架。
实质是通过定义一系列hook点,每个hook点挂载多个hook函数,hook函数实现对数据包的处理。
-
iptables
四表五链
-
iptables表
filter表、nat表、mangle表、raw表
filter表:保存数据包是否放行的规则,iptables机制中的默认表
nat表:保存在进行网络地址转换时的规则,依据该表修改需要nat的ip数据包
managle表:保存对数据包头部其他内容进行修改的规则
raw表:保存数据包是否被跟踪的规则,优先级高
-
iptables链
数据包进入到网卡后流向的五个阶段:
路由前prerouting、入站input、转发forward、出站output、路由后postrouting
-
iptables基本原理就是在数据包进入到网卡后的不同阶段,查找对应表,用相关的规则对数据包进行处理
-
-
firewall
在iptables的基础上改进:
- 可以热部署,即可以动态修改规则
- 新增zone概念,将网络连接分为多种可信等级
- 提供可视化图形界面设置
Linux防火墙的使用
iptables规则组成:
- 数据包访问控制
- ACCEPT、DROP、REJECT
- 数据包改写
- SNAT、DNAT
- 信息记录
- LOG
iptables完整语法:
iptables使用范例:



