第6讲 操作系统安全

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• UNIX系统中为OpenSSH服务程序定义的配置信息
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
– g(进程) EUID+EGID
进程变身
用户
进程 P 启动 执行 exec
进程 P 执行 exec
进程 P
文件
文件
• 通过执行新的程序映像,可为进程更换新的有效身份。 • UNIX类操作系统的系统调用exec能达到这个目的。
进Βιβλιοθήκη Baidu变身效果
progf1: printf(“China”); exec(“progf2”); printf(“America”); return; progf2: printf(“England”); exec(“progf3”); printf(“Canada”); return; progf3: printf(“Australia”); return;
•Requisite:模块执行失败时报告失败并结束认证。
命令控制标记 •Required:模块执行失败时报告失败但继续认证。
•Sufficient:模块执行成功时报告成功并结束认证。
•Optional:模块的执行不影响报告结果和认证过程。
配置文件/etc/pam.conf示例
• UNIX系统中为OpenSSH服务程序定义的配置信息
第5讲 操作系统安全
大纲
• • • • Unix系统身份认证 SELinux访问控制机制 SELinux安全机制结构设计 系统安全审计
Unix账户文件/etc/passwd
Unix口令文件/etc/shadow
插拔式统一认证框架PAM
• PAM(Pluggable Authentication Modules)是一个统一 的身份认证框架。 • 起初,它是由美国Sun公司为Solaris操作系统开发的。 • 后来,很多操作系统都实现了对它的支持。
• SELinux安全机制结构设计 • 系统安全审计
进程的用户属性
• • • • • • 用户属性:用户标识(UID)+组标识(GID) 真实用户:进程为谁工作? 有效用户:进程拥有的权限与谁相同? 真实用户属性:RUID+RGID 有效用户属性:EUID+EGID 访问判定时,进程到用户域的映射:
服务程序的名称
配置文件/etc/pam.conf示例
• UNIX系统中为OpenSSH服务程序定义的配置信息
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
• 假设:用户执行程序progf1启动进程proc1。 • 问题:进程proc1的运行将显示什么信息? • 结果:China -- England -- Australia
确定进程的用户属性
• 用户U启动进程P时:
– 进程P的RUID和EUID 用户U的ID – 进程P的RGID和EGID 用户U的属组ID
服务类型
配置文件/etc/pam.conf示例
• UNIX系统中为OpenSSH服务程序定义的配置信息
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
配置文件/etc/pam.conf示例
• UNIX系统中为OpenSSH服务程序定义的配置信息
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
PAM认证系统的构成
• PAM应用编程接口(API) • PAM模块(动态装载库),提供以下服 务功能支持:
– – – – 身份认证(auth) 账户管理(account) 口令管理(password) 会话管理(session)
• PAM配置文件
PAM认证系统的工作原理
配置文件/etc/pam.conf示例
OpenSSH进行身份认证时,首先执行pam_env模块,然后执行pam_unix 模块,如果pam_unix执行成功且pam_env没有失败,则认证结束并报告 成功。如果pam_unix执行失败,则接着执行pam_deny模块。
大纲
• Unix系统身份认证 • SELinux访问控制机制
– SETUID – SELINUX
• 进程P变身且映像文件F允许时:
– – – – 进程P的EUID 文件F的属主ID (1) 进程P的EGID 文件F的属组ID (2) (1)的条件:文件F有SETUID标记 (2)的条件:文件F有SETGID标记
文件的SETUID/SETGID标记的表示
• 位串表示法:
– utgtstrowoxorgwgxgrawaxa – ut=1 SETUID;gt=1 SETGID
待执行的模块名称及必要的参数
配置文件/etc/pam.conf示例
• UNIX系统中为OpenSSH服务程序定义的配置信息
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
• 字符串表示法:
– RoWoXoRgWgXgRaWaXa – ut=1 Xo=“s”;gt=1 Xg=“s”
• 例子:
– 100101001001 r-s--x--x – 010101001001 r-x--s--x
SETUID/SETGID的应用
progf1: printf(“China”); exec(“progf2”); printf(“America”); return; progf2: printf(“England”); exec(“progf3”); printf(“Canada”); return; progf3: printf(“Australia”); return;
sshd sshd sshd sshd sshd sshd sshd sshd sshd auth required auth sufficient auth required account required password required password sufficient password required session required session required /lib/security/pam_env.so /lib/security/pam_unix.so likeauth nullok /lib/security/pam_deny.so /lib/security/pam_unix.so /lib/security/pam_cracklib.so retry=3 /lib/security/pam_unix.so nullok use_authtok md5 shadow /lib/security/pam_deny.so /lib/security/pam_limits.so /lib/security/pam_unix.so
相关文档
最新文档