安全操作系统 中国科学技术大学计算机系 陈香兰(0512- ) 助教:裴建国

Slides:



Advertisements
Similar presentations
讀經教育  第一組:吳碧霞、陳鍾仁  第二組:吳雪華、謝濰萁  第三組:邱國峰、林佳玫. 不論上智下愚 成功的教育 讓每個孩子 都能成為最優秀的人才.
Advertisements

本章重点内容  SMB 协议和 Samba 简介  安装和启动 Samba  配置 Samba 文件共享  配置 Samba 打印共享  在 Linux 环境下访问 Samba 共享.
新闻写作基础知识 一. 新闻导语 二.新闻主体 三.新闻结构 四.角度选择.
第五章 网络服务组件.
Linux 安裝入門與基本管理 課程目標: 學習Linux平台下的安裝設定 與 建置一個基本的Linux伺服器
计算机网络高级工 梁绍宇.
第7章 防 火 墙 技 术 7.1 防火墙概念 7.2 防火墙原理及实现方法 7.3 防火墙体系结构 7.4 防火墙的构成
加油添醋話擴寫 日新國小 鄒彩完.
计算机网络 指导教师:杨建国 二零一零年三月.
十二年國民基本教育 高雄區入學方式說明 報告人:中山工商 楊薇主任.
Linux 網路教學 東南技術學院資訊工程系 職稱:講師 姓名: 曹茂勁 民國 92年 12月.
第四章 用Linux构建服务器 一 Linux入门基础 (一). Linux的安装
Linux 的檔案管理.
第六章 Linux的系統管理基礎 課前指引 身為Linux系統管理員,除了熟悉作業系統的安裝、圖形介面的操作及系統指令的使用與軟體套件的安裝外,更需要瞭解基礎的Linux系統管理技巧。本節,將針對此部分進行說明。
计算机网络安全技术实验 启动虚拟机、GIF、measpoilt、.
報告即將開始.
操作系统结构.
電腦硬體裝修丙級 試題分析 北科大工作室.
Windows Server 2003操作系统相关配置
Adviser :Quincy-Wu Speaker :Kai-Jia Chung Date :
Linux操作系统 网络管理 Acegene IT Co. Ltd..
UNIX系統與資料庫安裝 Why UNIX 常用的工具程式介紹 資料庫的安裝.
计算机系统安全 第10章 常用攻击手段.
离职流程精细化标准推进材料 人事行政处.
網路基本概念與設定方法 林文宗 資管系助理教授
网络地址转换(NAT) 及其实现.
第8章 操作系统安全.
第8章 Linux系统管理.
新聞報導 一、什麼是新聞? 1、狗咬人不是新聞,人咬狗才是新聞 2、大眾關切的事 3、讀者有興趣知道的事 4、接近性.
Confidential Property
嵌入式Linux开发快速入门 迟思堂工作室 李迟
Linux.
作業系統 第十三章 檔案系統實例.
教案名稱: 社群網站的益處 本教案製作者:毛俞婷
網路基本概念 本章主要是為讀者建立有關網路的基本知識, 作為後續章節的基礎。首先我們會說明網路的基本概念, 接著介紹網路的各種類型與相關的作業系統, 最後則是介紹 OSI 與 DoD 等兩種網路模型, 讓讀者能進一步了解網路運作的方式。
第 19 章 檔案系統與 權限設定.
Web Server 架設.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
Linux 入門課程(基礎篇) 講者: Pank
Syslog介紹.
第 16 章 Internet架構.
網路伺服器應用 Linux Server Andres, Wen-Yuan Liao
第8單元 Internet以及線上資源 McGraw-Hill Education.
Linux 圖形操作介面 GUI -- X-window 與 Webmin
讲议: PXE 介绍及实现 Jarvis
第二天 计算机基础技能培训 (一)linux基础知识
加油添醋話擴寫 鄒彩完.
網路資源的建立--LINUX系統 國立東華大學電算中心 陳鴻彬.
第 29 章 架設 Samba 伺服器 著作權所有 © 旗標出版股份有限公司.
Windows 2003 server 進階介紹 麋鹿.
預官考試輔導 計算機概論提要 91年12月4日.
認識FTP檔案傳輸協定 建立我的部落格 Archie檔案檢索服務 Google搜尋密技 歷久彌新的老朋友-BBS Skype網路電話
第8章 配置Linux网络 本章将从介绍Webmin软件开始,详细介绍各种网络相关的配置,如设置以太网接口连接Internet、DHCP服务器架设、设置NFS实现Unix/Linux系统间文件共享和架设DNS服务器等。通过本章学习,用户可以到相关的网络知识,并能深入理解Fedora提升用户使用该操作系统的能力。
黑客大曝光 安 阳 大 年1月1日星期二10时30分24秒2019年1月1日星期二10时30分24秒 黑客攻击与防范.
第 20 章 帳號與磁碟空間管理 著作權所有 © 旗標出版股份有限公司.
作業系統 (Operating System)
第 22 章 架設 WWW 伺服器.
第3章 認識處理元.
Web前端开发 第23章:网站发布 阮晓龙 / 河南中医药大学管理科学与工程学科
系统管理员培训(I期) 浙江省基层人民法院 -V8版介绍及系统管理培训 二OO八年四月二十三日 法院事业部经理:周春宏
如何有效率的學習Linux 培養組合能力 多用程式, 少寫程式 從錯誤訊息中學習 養成略讀 “各種文件” 加強英文基本閱讀能力 勤作筆記
Windows XP 簡易網路檢查 edo.
第八章 Linux WWW和ftp服务的配置
102-2金融法規(2~4) ~03..
豪雅科技股份有限公司 iSeries Professional Consultant P. 1
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
台灣大學計算機及資訊網路中心 教學研究組 張傑生
活動主題:能「合」才能「作」 指導教授:張景媛教授 設 計 者:協和國小團隊 李張鑫 × 陳志豪.
Linux文件系统.
第六章 文件系统与文件管理 6.4 Linux文件管理 1、比较MS DOS 与 Linux的目录结构 一、Linux文件系统的树形结构
Presentation transcript:

安全操作系统 中国科学技术大学计算机系 陈香兰(0512-87161312) xlanchen@ustc.edu.cn 助教:裴建国 Autumn 2008

主流操作系统的安全技术 Linux/Unix安全技术 Windows安全技术

Linux/UNIX安全概述 UNIX Linux 本课程:Linux 多用户、多任务 实现了有效的访问控制、身份标识与验证、审计记录等安全措施 安全性一般能达到TCSEC的C2级 Linux 一种类UNIX的OS 一个开放式系统 本课程:Linux

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux身份标识和验证 Linux系统的登录过程 Linux的主要帐号管理文件 PAM安全验证机制

Linux身份标识和验证 Linux系统的登录过程 Linux的主要帐号管理文件 PAM安全验证机制

Linux系统的登录过程 基于用户名和口令 通过终端登录Linux的过程: Init进程确保为每个终端连接(或虚拟终端)运行一个getty进程,getty进程监听对应的终端并等待用户登录 Getty输出一条欢迎信息(此欢迎信息保存在/etc/issue文件中),并提示用户输入用户名,接着getty激活login login要求用户输入口令,并根据系统中的etc/passwd文件来检查用户名和口令的一致性 若一致,启动一个shell;否则login进程推出,进程终止 Init进程注意到login进程终止,则会再次为该终端启动getty进程 /etc/passwd文件用来维护系统中每个合法用户的信息,包括用户登录名、经过加密的口令、口令时限、用户号UID、用户组号GID、用户主目录以及用户使用的shell 加密后的口令也可能存放在系统的/etc/shadow文件中

Linux身份标识和验证 Linux系统的登录过程 Linux的主要帐号管理文件 PAM安全验证机制

Linux的主要帐号管理文件 口令文件/etc/passwd /etc/passwd文件用于存放用户的基本信息 Reading: 每个账户在该文件中有拥有一个相应的条目 Reading: Hacking Linux exposed,ch1,p7;&ch9,p284 http://www.aka.org.cn/Lectures/002/Lecture-2.2.1/320.html

老版的/etc/passwd举例

老版的/etc/passwd中条目定义 每个条目包含7个字段,字段间用冒号分隔 登录帐号:密码域:UID:GID:用户信息:主目录:用户shell 登录帐号:即用户的登录名 密码域:口令被加密后的密文 UID,用户ID,为0~MAXINT-1之间的一个整数 GID,组ID,来自/etc/group,为0~MAXINT-1之间的一个整数 用户信息,用于标识诸如用户的全名、位置和电话号码等信息,可以不设置 主目录,为用户的起始登录目录,如/home/chenxl 用户shell,用户登录后所用的shell路径名,如/bin/sh

用户可以修改口令条目中的部分信息: 其余的字段由系统管理员设置 命令passwd:更改口令 命令chfn:更改第五个字段中的用户信息 命令chsh:更改第七个字段,shell路径名 其余的字段由系统管理员设置

关于UID UID是用户标识;具有唯一性。 一般 UID的最大值可以在/etc/login.defs文件中查到 Root帐号的UID是:0 系统预设帐号:1~99 常用服务帐号:100~499 普通用户帐号:500以后 UID的最大值可以在/etc/login.defs文件中查到 登录后,用户权限通过UID来确认,而非用户名 最好不要共用UID 使用root权限,可以su或者sudo

关于GID 一般GID为0的组对应于root用户组 关于GID的预留,不同Linux系统有所不同 Fedora:预留500个,添加新用户组时,从500开始 Slackware:100个 系统添加用户组默认的GID范围对应于文件/etc/login.defs中的GID_MIN和GID_MAX

Linux的shadow技术 用于提高用户密码存放的安全性 口令加密后的密文存放在/etc/shadow文件中,在/etc/passwd文件中的密码域只保存一个“x” Shadow文件对一般用户是不可读的,只有超级用户(root)才可以读写。 由于普通用户无法得到加密后的口令,提高了系统的安全性 /etc/passwd文件中每行内容9个字段,也以冒号分隔

登录帐号,与/etc/passwd中的登录帐号对应 密文。若值为x,表示该用户不能登录到系统 上次口令的修改时间。自1970.1.1日以来的天数 两次修改口令间隔最少的天数。(0?) 两次修改口令间隔最多的天数 提前多少天警告用户口令将过期 在口令过期之后多少天禁用此用户 用户过期日期。为空则永久可用 保留字段

HomeWork: 请找到自己安装的Linux系统中的/etc/passwd文件,对照上述条目说明,分析自己当前所登录账户的相关信息

Linux身份标识和验证 Linux系统的登录过程 Linux的主要帐号管理文件 PAM安全验证机制

PAM安全验证机制 Pluggable Authentication Modules,是SUN提出的一种验证机制,最初集成在Solaris系统中 目前已经移植到 Linux,SunOS,HP-UX 9.0等 目的:提供一个框架和一套编程接口,将认证工作由程序员交给管理员 允许管理员在多种认证方法之间做出选择, 能够改变本地认证方法而不需要重新编译与认证相关的应用程序 以共享库的形式提供

PAM的组成 PAM API PAM SPI PAM 库 PAM配置文件 服务程序 各种认证手段

功能包括: 加密口令(包括DES和其他加密算法) 对用户进行资源限制,防止DOS攻击 允许随意Shadow口令 限制特定用户在指定时间从指定地点登录 引入概念“client plug-in agents”,使PAM支持C/S应用中的机器

Linux PAM 主页: http://www.kernel.org/pub/linux/libs/pam/ 最新版本为1.0.1 下载地址:http://www.kernel.org/pub/linux/libs/pam/library/Linux-PAM-1.0.1.tar.gz

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux的访问控制 Linux基于权限字的文件系统访问控制 Linux的访问控制表ACL

Linux基于权限字的文件系统访问控制 在Linux中,所有的活动都可以看成是主体对客体的一系列操作 客体:一种信息实体,或是从其他主体/客体接受信息的实体 如文件、内存、进程消息、网络包或者I/O设备 主体:一个用户或者代表用户的进程,它引起信息在客体之间的流动 访问控制机制: 控制系统中的主体对客体的读、写和执行等各种访问 Linux采用一种比较简单的访问控制机制 传统UNIX的基于访问权限位的单一的自主访问控制

Linux中自主访问控制机制的基本思想 系统中每个主体都有唯一的UID,并且总是属于某一个用户组,而每个用户组有唯一的GID 由超级用户或授权用户为系统内的用户设定,保存在/etc/passwd文件中 通常情况下,代表用户的进程继承用户的uid和gid 用户登录并进入第一个shell时,该用户的uid和gid就被设置到该shell进程的task_struct中,此后的进程按照继承规则继承uid和gid(除非SETUID)

对客体的访问权限:r/w/x 三种。 针对某客体,用户:u/g/o 三种。 上述信息构成一个访问控制矩阵, 允许客体的所有者和特权用户通过这个访问控制矩阵为客体设定访问控制信息 当用户访问客体时,根据进程的uid、gid和文件的访问控制信息检查访问的合法性 举例:

chmod/chown/chgrp命令 chmod命令用来重新设定对客体的访问权限 chown命令用来修改某个文件或目录的属主

setuid/setgid 为维护系统的安全性,对于某些客体,普通用户不应具有某种访问权限,但是出于某些特殊需要,用户由必须能超越对这些客体的受限访问 例如,对/etc/passwd文件,用户不具有写访问权限,但又必须允许用户能够修改该文件,以修改自己的密码。 setuid/setgid使得代表普通用户的进程不继承用户的uid和gid,而是继承该进程所对应的应用程序文件的所有者的uid和gid,即普通用户暂时获得其他用户身份,并通过该身份访问客体

Linux的访问控制表ACL

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux网络服务安全 Linux的网络层次结构图

早期的网络服务管理程序inetd(守护进程) /etc/rc.d/rc.local激活inetd 根据/etc/inetd.conf监听 处理客户连接 例子(本地)(网络链接) 应当禁止不需要的服务,降低风险

扩展后的xinetd 配置文件:/etc/xinetd.conf 与前者完全不同,而且不兼容 组合了下列文件 /etc/inetd.conf /etc/hosts.allow /etc/hosts.deny

系统默认使用xinetd的服务 标准internet服务,如http,telnet,ftp等 信息服务,如finger,netstat,systat等 邮件服务,如imap,pop3,smtp等 RPC服务,如rquotad,rstatd,rusersd,sprayd,walld等 BSD服务,如comsat,exec,login,ntalk,shell talk等 内部服务,如chargen,daytime,echo等 安全服务,如irc等 其他,如name,tftp,uucp,wu-ftp等

典型例子 各种服务,可以添加到这个文件中 也可以放在指定的目录中 These lines control various aspects of xinetd: instances — Sets the maximum number of requests xinetd can handle at once. log_type — Configures xinetd to use the authpriv log facility, which writes log entries to the /var/log/secure file. Adding a directive such as FILE /var/log/xinetdlog here would create a custom log file called xinetdlog in the /var/log/ directory. log_on_success — Configures xinetd to log if the connection is successful. By default, the remote host's IP address and the process ID of server processing the request are recorded. log_on_failure — Configures xinetd to log if there is a connection failure or if the connection is not allowed. cps — Configures xinetd to allow no more than 25 connections per second to any given service. If this limit is reached, the service is retired for 30 seconds. includedir /etc/xinetd.d/ — Includes options declared in the service-specific configuration files located in the /etc/xinetd.d/ directory. Refer to Section 15.4.2 The /etc/xinetd.d/ Directory for more information about this directory.

目录/etc/xinetd.d/ 文件名:相关服务 大多默认关闭

目录/etc/xinetd.d/下的文件 文件格式:

以telnet为例:/etc/xinetd.d/telnet 改成“no”,打开服务 修改后,需要重启xinetd 运行如下命令: /etc/rc.d/init.d/xinetd restart

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux备份/恢复 备份技术 备份的存储设备 备份单位 脚本 … 一些商业化软件 远程网络设备、磁带驱动器、其他可移动媒体 文件(目录) 驱动器映像

备份与还原:Linux与Windows??? 制定备份策略 What Where When How … 备份与还原:Linux与Windows??? Linux只需要打包和解包

一般情况下,以下目录需要备份 一般不需备份的 /etc /var /home /root /opt /proc /dev 等等 /var,包含系统守护进程所使用的信息,包括DNS配置,DHCP租期,邮件缓冲文件、HTTP服务器文件,DB2实例配置等等 /home,包含所有用户的默认用户主目录。包括用户的个人设置、私人文件等 /root是root用户的主目录 /opt是安装许多非系统文件的地方。 /proc,虚拟文件系统,是内核和环境的一个用户态视图 /dev,设备文件目录。可选备份 其他目录,包含一些系统文件和已安装的包,可选备份

常用的备份命令 tar,打包 含义:Tape archive,磁带归档 举例: 还原 SCSI磁带设备 -c,创建 -p,保留文件访问权限 -f,归档文件名 -c,创建 -p,保留文件访问权限 -f,归档文件名 -x,提取 -C / ,还原从“/”开始 备份整个文件系统 更深入的使用,参见tar相关 使用手册 -x,提取 -C / ,还原从“/”开始

dump/restore;cpio;dd 一些商业化备份产品 压缩 tar,可以压缩,使用-z选项(gzip格式) dump/restore;cpio;dd 一些商业化备份产品 Tivoli Storage Manager Amanda Arkeia 等等

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux日志系统 记录和捕捉各种活动,包括黑客的活动 系统记账 系统日志管理 连接记账:跟踪当前用户的会话、登录和退出的活动 进程记账:对进程活动的记录 系统日志管理

连接记账 由多个程序执行,把记录写入到 Login等程序使用utmp,wtmp等工具更新上述文件 系统管理员据此跟踪谁在何时登录到系统 /var/log/utmp /var/log/wtmp Login等程序使用utmp,wtmp等工具更新上述文件 系统管理员据此跟踪谁在何时登录到系统 ac:对用户连接进行大概统计 last:提供每一个用户的登录信息 who:报告当前正在登录的用户的信息 等

进程记账 由系统内核执行 当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录 打开进程记账 /var/log/pacct 打开进程记账

可以在每次启动系统的时候,打开进程记账 /etc/rc.d/rc.local中添加

进程记账信息的解读 dump_acct sa 统计系统进程记账的大致情况 lastcomm 列出系统执行的命令

sa命令举例

lastcomm命令举例

系统日志 有各种日志文件 系统日志工具syslogd 守护进程klogd 其他日志 配置文件:/etc/syslog.conf 获得并记录Linux内核信息 其他日志

Linux/UNIX安全技术 Linux身份验证 Linux访问控制 Linux网络服务安全 Linux备份/恢复 Linux日志系统

Linux的内核安全技术 可加载的内核模块LKM Linux的内核防火墙

Linux 0.99,引入LKM Loadable Kernel Module 早期,Monolithic的缺陷 混杂,各组成部分之间的界限不明显 可扩展性、可剪裁性差;需要重新编译 Linux 0.99,引入LKM Loadable Kernel Module 内核功能动态扩充技术 双刃剑 威胁:内核级入侵

LKM入侵举例 Linux 2.2,knark 可以改变netstat的输出结果 改变运行进程的UID和GID 可以不用SUID就能获得root访问权限

Linux内核防火墙 内核防火墙 早期的ipfwadm Ipchains Netfilter/iptables组合

Netfilter举例 Netfilter体系结构

Thanks! The end.

特权管理 Linux继承了传统Unix的特权管理机制,即基于超级用户的特权管理机制。 基本思想: 1)普通用户没有任何特权,超级用户拥有系统内所有的特权 2)当进程要进行某特权操作时,系统检查进程所代表的用户是否为超级用户,即检查进程的UID是否为0 3)当普通用户的某些操作涉及特权操作时,通过setuid/setgid来实现 缺点: 容易被hacker利用 从2.1版开始,Linux内核中实现了基于权能的特权管理机制

基于权能的特权管理机制 基本思想:(以2.4.0内核为例) 1)使用权能分割系统内的所有特权,使同一类敏感操作具有相同的权能 2)普通用户及其shell没有任何权能,而超级用户及其shell在系统启动之初拥有所有权能 3)在系统启动后,系统管理员为了系统的安全可以剥夺超级用户的某些特权,并且该剥夺过程是不可逆的。(只能重新启动系统来恢复) 4)进程可以放弃自己的某些权能,该过程也是不可逆的 5)进程被创建时拥有的权能由它所代表的用户目前所具有的权能、父进程权能两者的与运算来确定 6)每个进程的权能被保存在进程控制块的cap_effective域中 7)当一个进程要进行某个特权操作时,操作系统检查进程是否具有相应特权操作所应该具有的权能 8)当普通用户的某些操作涉及特权操作时,仍然通过setuid来实现

安全审计 Linux系统的审计机制,基本思想: 图 审计事件分为系统事件和内核事件 系统事件由审计服务进程syslogd来维护与管理 内核事件由内核审计线程klogd来维护与管理 图

安全注意键

其他安全机制 口令脆弱性警告 口令有效期 一次性口令 口令加密算法 影子文件 帐户加锁 限制性shell 特殊属性 文件系统加载限制 加密文件系统与透明加密文件系统 根用户的限制 安全shell 防火墙 入侵检测

安全Linux服务器配置参考 BIOS的安全设置 LILO的安全设置 口令安全 自动注销帐号的登录 取消普通用户的控制台访问权限 取消并卸载所有不用的服务 TCP_Wrapper 修改/etc/host.conf文件 使/etc/services文件免疫 从不允许从不同的控制台进行root登录 使用PAM禁止任何人通过su命令改变身份为root Shell logging bash 禁止Ctrl+Alt+Del键盘关闭命令 给/etc/rc.d/init.d下script文件设置权限 隐藏系统信息 禁止不使用的SUID/SGID程序

Windows安全技术 Windows身份验证与访问控制 Windows分布式安全服务 Windows审核机制 Windows注册表

Windows操作系统安全机制 NT设计目标:TCSEC标准的C2级,这就要 在用户级实现自主访问控制 必须提供对客体的访问的审计机制 必须实现客体重用

Windows NT/2000/XP的体系结构

Windows NT的安全模型 Windows NT的安全模型包括5个主要部分 登录(WinLogon) 本地安全认证子系统(LSA) msv1_0 安全帐户管理器(SAM) NT LAN Manager(NTLM)

Windows 2000/XP的安全模型

Windows的域和委托

Windows安全性组件 安全引用监视器 本地安全认证 LSA策略数据库 安全帐号管理器服务 SAM数据库 默认身份认证包 登录进程 网络登录服务

Windows NT/2000/XP的系统登录过程 登录是通过登录进程WinLogon、LSA、一个或多个身份认证包和SAM的相互作用发生的 身份认证包:执行身份验证检查的动态链接库。 Msvl_0:用于交互式登录的身份认证包 WinLogon:一个受托进程,负责管理与安全性相关的用户相互作用 是从键盘截取登录请求的唯一进程

WinLogon的初始化

用户登录步骤

Windows NT/2000/XP的资源访问 安全性描述符和访问控制 访问令牌与模仿

Windows NT/2000/XP安全审计