1 / 138

NISE 安全技术工程师培训 — UNIX 系统安全

NISE 安全技术工程师培训 — UNIX 系统安全. 课程目的. 了解 UNIX 系统的发展 了解 UNIX 的启动原理和脆弱性 掌握 UNIX 的基础使用 掌握 UNIX 系统的安全配置 掌握 UNIX 系统的异常分析及审计 授课方式:讲解、演示、学员上机操作. UNIX 系统安全. UNIX 系统发展历史 为什么介绍 UNIX 系统安全 UNIX 系统的启动过程 UNIX 系统基础 UNIX 系统安全配置 UNIX 系统审计分析. Unix的起源与发展. 起源 1969年Ken Thompson,Dennis Ritchie 发展

sandro
Download Presentation

NISE 安全技术工程师培训 — UNIX 系统安全

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NISE安全技术工程师培训—UNIX系统安全

  2. 课程目的 • 了解UNIX系统的发展 • 了解UNIX的启动原理和脆弱性 • 掌握UNIX的基础使用 • 掌握UNIX系统的安全配置 • 掌握UNIX系统的异常分析及审计 授课方式:讲解、演示、学员上机操作

  3. UNIX系统安全 • UNIX系统发展历史 • 为什么介绍UNIX系统安全 • UNIX系统的启动过程 • UNIX系统基础 • UNIX系统安全配置 • UNIX系统审计分析

  4. Unix的起源与发展 • 起源 • 1969年Ken Thompson,Dennis Ritchie • 发展 • V1(汇编)、V4(C)、V6(大学)、V7 • 分支 • System V(AT&T) • BSD • SVR4 • OSF/1(Open Software Foundation)

  5. Unix的版本 • SVRx • AIX(SVR2及部分BSD) • HP-UX • SCO(SVR3.2) • Xenix • BSD • *BSD • Sun Solaris(基于BSD,包含SystemV) • DEC(Ultrix)

  6. UNIX产品标准 UNIX产品 计算机 生产厂家 SCO UNIX PC兼容机SCO公司 XENIX PC兼容机微软, SCO Digital Unix Dec Alpha机Digital公司 Solaris Sun工作站Sun公司 AIX IBM机IBM公司

  7. Unix的发展历程

  8. UNIX系统安全 • UNIX系统发展历史 • 为什么介绍UNIX系统安全 • UNIX系统的启动过程 • UNIX系统基础 • UNIX系统安全配置 • UNIX系统审计分析

  9. 为什么介绍UNIX安全 • DOS/Windows 3.x D1 • Windows NT/Windows 2000 C1/C2 • 多数商用Unix系统 C1 • Novell C2 • 部份强Unix系统,如Trust solaris C2-B1 • Linux/*BSD没有测评,通常认为在C1-C2 • 新的测试标准是CC

  10. 为什么介绍UNIX安全 • TCP/IP网的主要安全缺陷 • 脆弱的认证机制 • 容易被窃听和监视 • 易受欺骗 • 有缺陷的LAN服务和相互信任的主机 • 复杂的设置和控制 • 基于主机的安全不易扩展

  11. 为什么介绍UNIX安全 • 黑客攻击的日益增长 • 新技术应用中不断发现了新的安全漏洞 • 新的服务未经过严格的安全测试就开始使用 • 早期业务系统均采用UNIX系统 • 大型重要业务大多数采用UNIX系统 • 黑客攻击最早对象是UNIX系统 • 各种UNIX系统的漏洞层出不穷

  12. 为什么介绍UNIX安全 按照可信计算机评价标准达到C2级 • 访问控制 • 对象的可用性 • 个人身份标识与认证 • 审计记录 • 操作的可靠性

  13. UNIX系统安全 • UNIX系统发展历史 • 为什么介绍UNIX系统安全 • UNIX系统的启动过程 • UNIX系统基础 • UNIX系统安全配置 • UNIX系统审计分析

  14. UNIX系统启动过程简介 • 系统运行模式简介 • 0 进入EPROM状态(OK状态) • 1 管理状态(所有文件系统都挂上的单用户模式,禁止其他用户登录) • 2 多用户模式(没有网络文件共享服务) • 3 多用户模式(有网络文件共享服务) • 4 未使用 • 5 退出操作系统并关机 • 6 重新启动机器 • S,单用户模式

  15. Linux启动过程简介 • 在Linux中,系统运行级别是并行式的,也就是系统加载完内核和mount /文件系统之后,就会直接跳转到相应的默认运行级别。 • 在Solaris中,采取了一种串行化的引导方式。

  16. UNIX系统启动过程简介 • Solaris的启动分为若干个运行级别(S,1-6),当系统内核运行完毕,加载好所有的驱动之后,就会把控制权移交给/sbin/init进程,也就是所有进程的父进程,然后由init读取/etc/inittab,依次执行/etc/rc1(2,3)启动脚本,最终到达inittab中指定的默认运行级别。

  17. UNIX系统启动过程简介 • solaris系统启动过程 Init 0 →Init 1 → Init 2 → Init 3 init 0/openboot模式:引导内核,加载硬件驱动,此时可以选择从cdrom引导进入维护模式。 init 1/单用户模式:(加载/分区) 登陆进入维护模式,或按Ctrl+D进入多用户模式 init 2/网络工作站模式:(连接网络,运行网络工作站服务) 运行/etc/rc2脚本连接网络,启动S69inet服务,运行部分inetd网络服务 init 3/网络服务器模式:(运行各种网络服务) 运行/etc/rc3脚本启动网络服务器

  18. Solaris的启动过程 • 引导(EEPROM OpenBoot) • sparc(/platform/`arch`/kernel/unix) • 启动过程 • init的概念 init 0 openboot模式 -> (引导内核,加载硬件驱动) 可以选择从cdrom引导进入维护模式 | init 1 单用户模式 -> (加载/分区) 登陆进入维护模式,或按Ctrl+D进入多用户模式 | init 2 网络工作站模式 -> (连接网络,运行网络工作站服务) 运行/etc/rc2脚本连接网络 | | | ---->启动S69inet服务,运行部分inetd网络服务 | init 3 网络服务器模式 -> (运行各种网络服务) 运行/etc/rc3脚本启动网络服务器

  19. rc0.d和rc1.d • 说明 • +代表必须服务,系统正常运行必须 • =代表可选服务,由用户环境决定 • -代表无效,不必要,或不安全的服务 • init inittab rc0 rc1 rc2 rc3 rc5 rc6 rcS init.d • init 系统启动超级进程 • inittab 进程启动配置文件 • rc0 - rc6 各启动级别的启动脚本 • rcS 单用户模式启动脚本 • init.d 启动脚本存放目录 • rc0.d: eeprom OpenBoot状态,可以进入硬件维护模式,或关闭机器。 • rc1.d: 单用户模式,可以对系统进行软件维护。 • S01MOUNTFSYS +加载文件系统 • S10lu =当运行live update后清理系统

  20. rc2.d

  21. rc3.d • rc3.d: 多用户模式,启动网络服务器模式 • S15nfs.server - 启动nfs服务器,NFS网络文件服务器 • S13kdc.master - 启动Kerberos服务器 • S14kdc - 启动Kerberos服务器,Kerberos认证服务器 • S16boot.server - 启动bootp服务器,boot网络启动服务 • S34dhcp = 启动dhcp,DHCP服务器 • S50apache - 启动apache服务器 • S76snmpdx - 启动snmp服务器,启动SNMP服务,允许远程网络管理 • S77dmi - 启动snmp - dmi服务,SNMP子服务 • S89sshd + 启动sshd服务器,SSH服务器 • S80mipagent - 启动Mobile IP 代理 • S90samba - 启动samba服务器,Samba CIFS网络文件服务器

  22. Ps -ef

  23. 启动过程看安全 • OpenBoot安全级别 • none :不需要任何口令 • command:除了boot和go之外所有命令都需要口令 • full:除了go命令之外所有命令都需要口令。 • 改变OpenBoot安全级别 • 设置口令命令 #eeprom security-password • 改变安全级别为command #eeprom security-mode=command

  24. UNIX用户登录过程 • 用户打开终端电源(或运行telnet)。 • getty进程将登录提示信息送到用户终端显示,并等待用户输入用户名。 • 用户输入用户名。 • getty进程接收到用户名后,启动login进程。 • login进程要求用户输入口令。 • 用户输入口令。 • login进程对username和password进行检查。 • login启动shell进程。 • shell进程根据/etc/password中的shell类型,启动相应的shell。并启动/etc/profile文件和$HOME/.profile文件(或$HOME/.login文件)。最后出现UNIX提示符,等待用户输入命令。

  25. UNIX用户登录过程 打开终端 -> getty -> login -> sh -> /etc/profile -> $HOME/.profile -> 出现提示符$

  26. UNIX系统安全 • UNIX系统发展历史 • 为什么介绍UNIX系统安全 • UNIX系统的启动过程 • UNIX系统基础 • UNIX系统安全配置 • UNIX系统审计分析

  27. UNIX系统基础 • UNIX系统组成 • UNIX文件系统基础 • UNIX帐户管理基础 • UNIX口令基础

  28. UNIX系统组成 UNIX Kernel(UNIX内核) 是UNIX操作系统的核心,指挥调度UNIX机器的运行,直接控制计算机的资源,保护用户程序不受错综复杂的硬件事件细节的影响。 UNIX Shell(UNIX外壳) 是一个UNIX的特殊程序,是UNIX内核和用户的接口,是UNIX的命令解释器、也是一种解释性高级语言。

  29. UNIX文件系统

  30. UNIX文件系统结构

  31. UNIX帐户管理基础

  32. UNIX帐户管理基础 • useradd 增加用户 • userdel 删除用户 • usermod 修改用户 • userls 显示用户和系统登录信息 • passwd 修改用户口令 • groupadd 增加用户组 • groupdel 删除用户组 • groupmod 修改用户组 • groupls 显示用户组的属性 只有root用户和授权用户才能对用户和用户组进行增加、修改、删除操作。

  33. 帐号口令基础 • Passwd文件剖析 name:coded-passwd:UID:GID:user-info:home-directory:shell 7个域中的每一个由冒号隔开。空格是不允许的,除非在user-info域中使用。 .name—给用户分配的用户名,这不是私有信息。 .Coded-passwd—经过加密的用户口令。如果一个系统管理员需要阻止一个用户登录,则经常用一个星号( : * :)代替。该域通常不手工编辑。用户应该使用passwd命令修改他们的口令。 .UID—用户的唯一标识号。习惯上,小于100的UID是为系统帐号保留的。

  34. 帐号口令基础 • Passwd文件剖析(续) .GID—用户所属的基本分组。通常它将决定用户创建文件的分组拥有权。 .User_info—习惯上它包括用户的全名。邮件系统和finger这样的工具习惯使用该域中的信息。 .home-directory—该域指明用户的起始目录,它是用户登录进入后的初始工作目录。 .shell—该域指明用户登录进入后执行的命令解释器所在的路径。注意可以为用户在该域中赋一个/bin/false值,这将阻止用户登录。

  35. UNIX帐号口令基础 • /etc/shadow文件 • 记录了系统用户的加密后口令 loginID:passwd:lastchg:min:max:warn:inactive:expire: #more /etc/shadow root:LXeokt/C/oXtw:6445:::::: daemon:NP:6445:::::: bin:NP:6445:::::: sys:NP:6445:::::: adm:NP:6445:::::: lp:NP:6445:::::: ……

  36. UNIX帐号口令基础 • loginID 对应用户名 • password 加密后的口令。LK表示锁定帐号,NP表示无口令 • lastchg 最后更改口令的日期与1970年1月1日之间相隔的天数 • min 改变口令需要最少的天数 • max 同一口令允许的最大天数 • warn 口令到期时,提前通知用户的天数 • inactive 用户不使用帐号多少天禁用帐号 • expire 用户帐号过期的天数 • 最后一个字段未用

  37. UNIX系统安全 • UNIX系统发展历史 • 为什么介绍UNIX系统安全 • UNIX系统的启动过程 • UNIX系统基础 • UNIX系统安全配置 • UNIX系统审计分析

  38. UNIX系统安全配置 • UNIX系统基本安装配置 • 帐号和口令安全 • 文件系统安全 • 其它安全配置 • 网络服务安全 • 异常检测和维护

  39. UNIX系统 • 不安装多余组件 • 停止不必要的服务 • 打最新的补丁

  40. UNIX系统安全配置 • UNIX系统基本安装配置 • 帐号和口令安全 • 文件系统安全 • 其它安全配置 • 网络服务安全

  41. UNIX系统帐号安全 • 禁用和删除不必要的帐号 • 简单的办法是在/etc/shadow的password域前加*。 • 删除账号 • # userdel user1

  42. UNIX系统帐号安全 • Root帐号安全性 • 确保root只允许从控制台登陆 • 限制知道root口令的人数 • 使用强壮的密码 • 三个月或者当有人离开公司是就更改一次密码 • 使用普通用户登陆,用su取得root权限, 而不是以root身份登录

  43. UNIX系统帐号安全 • Root帐号安全性 • 设置 umask 为077 ,在需要时再改回022 • 请使用全路径执行命令 • 不要允许有非root用户可写的目录存在root的路径里 • 修改/etc/securetty,去除终端ttyp0-ttyp9,使root只能从console或者使用ssh登陆。

  44. UNIX系统帐号安全 禁止root用户远程登录 • 多数UNIX系统: • 编辑/etc/default/login文件,添加 #CONSOLE=/dev/console • 禁止root远程FTP登录 在/etc/ftpusers里加上root。 • linux下: 编辑文件/etc/pam.d/login,添加 /etc/pam.d/login auth required pam_securetty.so

  45. UNIX帐号口令安全 • 设置密码策略 编辑“/etc/login.defs” chage -l username chage [-m 最短周期] [-M 最长周期] [-I 口令到期到被锁定的天数] [-E到期日期] [-W 口令到期之前开始警告的天数] username

  46. UNIX系统安全配置 • UNIX系统基本安装配置 • 帐号和口令安全 • 文件系统安全 • 其它安全配置 • 网络服务安全

  47. Unix文件系统的安全 #ls –al test • drwxr-xr-x 3 root root 1024 Sep 13 11:58 test • 模式位通常由一列10个字符来表示,每个字符表示一个模式设置 • 1:表示文件类型。 • d表示目录,-表示普通文件,l表示链接文件等等 • 每个文件和目录有三组权限,一组是文件的拥有者、一组是文件所属组的成员、一组是其他所有用户。 • "r"表示可读,"w"表示可写,"x"表示可执行。一共9位(每组3位),合起来称为模式位(mode bits)

  48. Unix文件系统的安全 • Chmod • 改变文档或目录之属性。如 #chmod 755 test • Chown • 改变文档或目录之拥有权 #chown user1 file1; chown -R user1 dir1 • Chgrp • 改变文档或目录之群组拥有权 #chgrpgroup1file1

  49. Unix文件系统的安全 • SUID/SGID • SUID表示"设置用户ID“;SGID表示"设置组ID"。 • 当用户执行一个SUID文件时,用户ID在程序运行过程中被置为文件拥有者的用户ID。如果文件属于root,那用户就成为超级用户。 • SUID程序代表了重要的安全漏洞,特别是SUID设为root的程序。

  50. Unix文件系统的安全 • SUID/SGID #find / -perm -04000 -o -perm -02000 -print find列出所有设置了SUID(“4000”)或SGID(“2000”)位的普通文件(“f”)。 chmod a-s <文件名>”移去相应文件的“s”位。

More Related