1、SELinux
A、认识SELinux
Security Enhanced Linux的缩写,安全强化的Linux之意,是在进行程序、文件权限设置依据的一个内核模块。
自主访问控制(DAC): 基于传统文件权限与账户关系的机制,root拥有最高权限,用户可以取得进程更改文件资源权限
强制访问控制(MAC): 以策略规则制定特定程序读取特定文件,更加细化,限制经常活动空间
B、运行模式
主体(= 进程)
目标(= 文件系统)
策略
默认策略: 只针对网络服务限制较为严格,本地服务限制较少;
强制策略: 完整版策略,限制较严格
安全上下文
使用ls -Z查看,由三个字段组成:
身份标识: root、system_u、user_u
角色: object_r、system_r
类型:(最重要) type、domain
40983ecf-3ae8-4d01-becd-29f36f49f687.jpg
C、启动、关闭与查看
查看: getenforce(强制模式、宽容模式、关闭模式)、sestatus(策略查看)
启动与关闭: 需修改配置文件
2、系统服务
A、服务与Daemon
实现提供某一个服务的进程就称为Daemon。
分类:
按启动与管理方式: stand alone(独立启动、反应快)、super daemon(统一管理、相应较慢)
安工作形态: signal-control(信号驱动工作)、interval-control(间隔轮询工作)
命名规则: {xxx}d
在网络中,服务与端口号有对应关系
启动脚本与启动方式
/etc/init.d/* 启动脚本
/etc/sysconfig/* 服务初始化环境配置文件
/etc/xinetd.config、/etc/xinetd.d/* super domain配置文件
/etc/* 各服务各自的配置文件
/var/run/* 各服务程序的PID记录
stand alone的启动:
service [service name] (start|stop|restart|…)
service --startus-all
super domain的启动:
super domain自身的启动方式还是stand alone方式
B、super domain的配置文件
默认值配置文件: xinetd.conf
default
{
<attribute> <assign_op> <value>
……
}
includedir /etc/inetd.d
服务自身的配置文件:
service <service_name>
{
<attribute> <assign_op> <value> <value>
……
}
7b2e92a3-a79f-42c8-91e6-e0e60396367d.png
fe1fcba2-909e-4295-a6ef-71c22affc0d3.png
152993a6-bbf7-4e0c-b4be-25f9f2adb188.png
55e27976-94d0-4359-8775-0a45e9eb8ce7.png
3ed116c4-ccd8-4868-b43c-a09c0d864afe.png
08ee2c32-6060-4ce6-950e-4671d0244780.png
assign_op的取值与含义:
= 就是这样
+= 给原来的值中加入新值
-= 从原来的值中减去后面的值
C、服务的防火墙与配置
/etc/hosts.allow、/etc/hosts.deny管理
可以管理任何xinetd管理的服务的防火墙
配置文件语法:
<service (process_name)> : <IP, domain, hostname> : <action>
判定规则:
允许进入的写入hosts.allow;
禁止进入的写入hosts.deny;
hosts.allow的优先级高于hosts.deny;
其他可配关键字:
ALL: 代表所有程序或IP,如ALL:ALL:deny;
LOCAL: 代表来自本机,如ALL:LOCAL:allow;
UNKNOWN: 代表未知IP、未知domain、未知服务;
KNOWN: 代表可解析IP、可解析Domain;
chkconfig
管理系统服务默认开机启动与否
chkconfig --list [service name]
chkconfig [--level [0123456]] [service name] [on|off]