《网络信息安全课件.ppt》由会员分享,可在线阅读,更多相关《网络信息安全课件.ppt(143页珍藏版)》请在三一文库上搜索。
1、网络信息安全,中国科学技术大学 肖 明 军 , 第一版Unix系统最早于1971年11月安装在DEC PDP-11/45机器上 第一份有关Unix的论文发表于1973年 Unix v6 手册于1975年发布 此后,Unix发展成好多个分支,而且越来越复杂,UNIX 操作系统的早期发展,UNIX 操作系统演进史,UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为: V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文
2、件系统,fork、roff、ed等软件 V4(1973):以C语言从头写过,这使得UNIX修改容易,可以在几个月内移植到新的硬件平台上。最初C语言是为UNIX设计的,所以C与UNIX间有紧密的关系。 V6(1975):第一个在贝尔实验室外(尤其是大学中)广为流传的UNIX版本。这也是UNIX分支的起点与广受欢迎的开始。1.xBSD (PDP-II)就是由这个版本衍生出来的。 V7(1979):在许多UNIX玩家的心目中,这是“最后一个真正的UNIX”,这个版本包括一个完整的K&RC编译器,Bourne shell。V7移植到VAX机器后称为32V。 目前开发UNIX(System V)的公司是
3、Unix System Laboratories (USL)。USL本为AT&T所有,1993年初被Novell收购。Novell于1993年末将UNIX这个注册商标转让给X/Open组织 目前为止,UNIX有两大流派:那就是AT&T发布的UNIX操作系统System V与美国加州大学伯克利分校发布的UNIX版BSD(Berkeley Software Distribution)。SVR4是两大流派融合后的产物。1991年底,与System V针锋相对的开放软件基金会(Open Software Foundation)推出了OSF/1。,UNIX 操作系统分类,当前主流的 UNIX 系统,HP
4、/UX、AIX等等 从早期SYSV和部分BSD系统发展而来的商用操作系统 Solaris 从SunOS系统发展而来,并借鉴了一些BSD规则 Linux 是几乎所有unix系统发展而来的“混血儿”, 但看起来更像SYSV-ish FreeBSD、 NetBSD、OpenBSD 完全从主流BSD发展而来的分支,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,
5、提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,底层硬件设备,基本输入输出系统(BIOS),操 作 系 统,应用程序,计算机系统结构,一般情况下,我们不能直接操作裸机,必须通过一个叫做基本输入输出系统的软件系统(英文为Basic Input/Output System,简称BIOS),才能操作控制裸机,之所以这样称呼它,是因为它提供了最基本的
6、计算机操作功能,如在屏幕上显示一点,接收一个键盘字符的输入等。 在基本输入输出系统的外面是操作系统(Operating System):专门负责管理计算机的各种资源,并提供操作电脑所需的工作界面。有了它们,人们才可以方便自如地使用电脑。 应用软件一般都运行在操作系统之上,由专业人员根据各种需要开发。我们平时见到和使用的绝大部分软件均为应用软件,如杀毒软件,文字处理软件,学习软件,游戏软件,上网软件等等 具体结构图如右图所示:,硬件:CPU、内存、硬盘、网络硬件等,LINUX 内核,系统调用接口,用户进程,Linux 操作系统结构,用户进程:用户应用程序是运行在LINUX操作系统最高层的一个庞大
7、的软件集合,当一个用户程序在操作系统之上运行时,它就成为操作系统中的一个进程。 系统调用接口:在应用程序中,可通过系统调用来调用操作系统内核中特定的过程,以实现特定的服务,比如创建一个新进程等。由若干条指令构成的过程:SHELL、WHO等 内核:操作系统的灵魂,它负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等。内核实际是抽象的资源操作到具体硬件操作细节之间的接口。 硬件:这个子系统包括了LINUX安装时需要的所有可能的物理设备,如CPU、内存、硬盘、网络硬件等,Linux 内核的构成,进程调度 (SCHED),进程间通信 (IPC),进程调度控制着进程对CPU的
8、访问,当需要选择下一个进程运行时,由调度程序选择最值得运行的进程,内存管理子系统:允许多个进程安全地共享主内存区域,支持虚拟内存,虚拟文件系统隐藏了各种不同硬件的具体细节,为所有设备提供了统一的接口,VFS支持几十种不同的文件系统,网络接口提供了对各种网络标准的存取和各种网络硬件的支持,进程间通信支持进程间各种通信机制,Linux 进程调度子系统,FS,IPC,MM,NET,结构特定 的模块,系统调 用接口,Scheduler内核任务调度程序,task1,task2,task3,在屏幕上的不同位置分别显示各自的计数器值(16 进制),3、进程调度示意图,2、进程调度的结构图,1、进程调度与其他
9、子系统的依赖关系,SCHED,进程调度子系统完成的主要功能: 允许进程建立自己的拷贝 决定哪一个进程将占用CPU,使得可运行进程之间进行有效地转移接受中断并把他们发送到合适的内核子系统 发送信号给用户进程 管理定时器硬件 当进程结束后,释放进程所占用的资源 支持动态装入模块,这些模块代表着内核启动以后所增加的新功能,这种可装入的模块将由虚拟文件系统和网络接口使用,功能单元,寄存器,内部cache,内部cache,磁盘,主存,存储器的层次结构,Linux 内存管理子系统,昂贵 快速 小容量,便宜 低速 大容量,内存管理是Linux内核最复杂的任务之一:主要包括地址映射、请页、交换、内存分配、内存
10、回收、缓存、刷新、共享等机制 程序的创建和执行以及内存的初始化,OS代码 OS数据 -GDT、IDT、TSS -页表 -特权数据 -内核栈,Linux 多任务系统,1,0,2,3,用户数据 用户代码,保护特权级,任务1,任务2,任务3,任务4,任务N,任务5,内核空间,用户空间 (1、2、3 级),0G,3G,4G,Linux 采用0 级、3 级 内核模式对应 0 级 用户模式对应 1、2、3 级 内核模式和用户模式的区别反映在线性地址空间中就是内核空间和用户空间所处位置的不同,用户模式:3 级,内核模式:0 级,BSD套接字,INET套接字,TCP,IP,ARP/RARP,PPP,SLIP,
11、以太网,Linux 网络层,套接字接口,协议层,网络设备,应用程序,网络应用程序,UDP,Linux 文件系统-目录结构,/ 根目录,bin,boot,dev,etc,home,lib,lost+found,mnt,proc,root,sbin,tmp,usr,var,存放常用的命令,存放启 动文件,存放设 备文件,存放配 置文件,用户主 目录,存放共享 库文件,临时挂载文件系统,系统不正 常关机的 一些文件,存放系统内存的映射,超级用户主目录,存放超级用户管理程序,用到的应用程序和文件,存放不断扩 充的东西 和系统日志,存放临时文件,X11R6,bin,sbin,doc,include,li
12、b,local,Man,src,X-window 目录,应用程序,超级用户的管理程序,Linux文档,开发编译 应用程序 的头文件,常用的共享库,存放帮助文档,Linux 源代码,一般用户的/usr目录,进程间通信(IPC),进程调度,Linux 进程间通信(IPC),内存管理,文件系统,为了进程能在同一任务上协调工作,他们彼此之间必须能够进行通信,IPC机制具有如下功能: 支持信号:信号是发送给进程的异步信息 支持等待队列:等待队列提供了一种机制它让等待操作完成的进程处于睡眠(SLEEP)状态 支持文件锁:这种机制允许进程把文件的一个区域或整个文件声明为只读,所有进程只能对声明的区域进行读,
13、除了拥有锁的进程 支持管道和命名管道:这种机制允许两个进程之间面向连接,双向数据传送 支持System V IPC机制 支持信号量。 支持消息队列 支持共享内存:几个进程存取物理内存的同一区域 支持UNIX的套节口:又一种面向连接的数据传送机制,它提供了与INET sockets 相同的通信模型,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,U
14、NIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,服务就是运行在网络服务器上监听用户请求的进程 服务是通过端口号来区分的 常见的服务及其对应的端口 ftp : 21 telnet : 23 http(www) : 80 pop3 : 110,什么是服务?,在UNIX系统中, 服务是通过inetd 进程或启动脚本来启动 通过 inetd 来启动的服务可以通
15、过在/etc/inetd.conf 文件中注释来禁用 通过启动脚本启动的服务可以通过改变脚本名称的方式禁用,在UNIX系统里启动与关闭服务?,1. inetd超级服务器 inetd 的功能 inetd 的配置和管理 2. 服务的关闭 关闭通过inetd启动的服务 关闭独立启动的服务 3. inetd 的替代品 xinetd(http:/www.xinetd.org) xinetd 比inetd更多管理功能 xinetd 的配置,inetd 超级服务器?,inetd 配置文件?,UNIX启动脚本目录 /etc/rc*.d/,禁用启动脚本 改变脚本名,使他不以大写的S 开头,UNIX启动脚本,系统
16、启动脚本,sysV风格的启动脚本 rcX.d/KNprog SNprog K03rhnsd K24irda S10network S90crond K05anacron K25squid K60lpd S12syslog K05keytable K30sendmail S91smb BSD风格的启动脚本 /etc/rc.conf sshd_enable=“YES”,UNIX其他风格的启动脚本,使用命令工具来监视网络状况,netstat ifconfig Linux下的socklist Freebsd下的sockstat lsof I tcpdump,UNIX常用网络监视工具,finger tf
17、tp r系列服务 telnet 大多数rpc服务 其他不必要的服务,建议禁止使用的网络服务,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验
18、分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,PC启动 Intel CPU进入实模式 开始执行0xFFFF0(ROMBIOS)处的代码 BIOS 自检 初始化位于地址0 的中断向量表 BIOS将启动盘的第一个扇区装入到0x7C00, 并开始执行此处的代码 完成内核的初始化,PC 机启动过程,1. 开始引导装入程序(boot loader) 2. 内核初始化并运行内核程序 3. 开始其他系统 “自发的” 进程 4. 运行系统起始脚本,UNIX 引导概述, 最初的引导环境通常是储存在NVRAM 设备中,并在开机的时候读入内存 NVRAM 引导装入程序触发初
19、始引导模块(Boot block)里的程序,进行引导初始化 Boot block 装载入更大的程序块,引导Unix 内核程序,引导装入程序(boot loader),1. 识别CPU体系结构并初始化 2. 计算物理内存并初始化虚拟内存系统 3. 为内部结构分配内存 4. 探测系统设备,配置它们和初始化它们,内核活动,“自发” 进程是内核通过特别机制创建的 这些进程通常用来控制进程调度安排和 VM system 它们不是存在于文件系统中可执行的进程,而是真正的内核代码 INIT 进程开始并引导系统运行开始脚本,内核引导的自发进程, init 运行 shell 脚本 /etc/rc: Mounts
20、 本地文件系统 初始化网络接口 开始系统daemon程序 /etc/rc 运行 /etc/rc.local 中的特定系统服务程序 /etc/rc.conf 脚本用来告诉系统在引导时运行哪些服务,BSD “起始”(start-up)脚本,init程序依据设定运行级别运行相应的“开始”级别脚本: S 系统启动配置 2 初始化网络配置,启动系统daemon程序 3 输出文件系统,启动本地daemon进程 运行级别0是中止系统,运行级别6是重新引导系统 启动脚本存放在 /etc/init.d目录中 通常一个脚本对应一个daemon进程或者一项配置任务 这些脚本都可以带有“start”或“stop”参数
21、 这样当系统down的时候,可以很好地关闭打开的进程 每一个运行级别都对应一个/etc/rc*.d目录 /etc/rc*.d中的链接文件的原文件是/etc/init.d目录中文件 链接文件命名方式是 S nn (脚本运行使用“start” 参数)或者 K nn (脚本运行使用“stop”参数) nn代表脚本运行的顺序,SYSV “开始” (start-up)脚本,管理员可以控制在系统引导结束后运行哪些服务 对于BSD系统, 编辑/etc/rc.conf (或者去掉/etc/rc*中注释标记) 对于SYSV系统, 删除 (或者重命名) 在 /etc/rc*.d目录中的链接文件,底线,1. 基本系
22、统配置 2. 开始网络服务 3. 开始NFS守护进程 (NFS是一个流行的通过TCP/IP网络共享文件的协议 ) 4. 运行系统其他守护进程 5. 提供X界面登录的窗口,init- 控制引导进程, 装载root文件系统包括关键程序和配置文件 配置网络接口 装载其他文件系统,其中一些可能是从网络装载,1.基本系统配置,DNS服务只在有DNS服务的机器上运行 Portmapper (rpcbind ) 基于RPC服务的主控守护进程 NIS/NIS+ 基于RPC的网络信息数据库 Syslog 系统日志进程 inetd 运行其他网络服务的“meta” 守护进程,2.开始网络服务,3.开始NFS守护进程
23、,NFS 客户端进程: lockd NFS 文件锁定系统 statd 在系统重引导后解锁进程 NFS 服务器端进程: mountd 服务器响应客户请求 nfsd NFS I/O 进程 “Automounter“ (amd or automountd), cron 在事先设定好的时间运行的后台进程 Sendmail 邮件服务进程 其他服务进程 NTP、 SNMP、 HTTP、“volume managers”、local services ,4.运行系统其他进程,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安
24、全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,如何衡量系统安全程度?,操作系统安全程度的度量标准:目前常用美国国防部系统所制定的TCSEC(“Trusted Computer Syst
25、em Evaluation Criteria”(1985),其评估标准主要是基于: 系统安全政策(Policy)的制定 系统使用状态的可审性(Accountability) 安全政策的准确解释和实施的可靠性(Assurance) 系统安全程度被分为八个等级(D1、C1、C2、B1、B2、B3、A1和A2),其中D1系统的安全度为最低,常见的无密码保护的个人计算机系统即属此类; 通常具有密码保护的多用户工作站系统属于C1级 一个网络系统所能达到的最高安全等级不超过网络上安全性能最低环节的安全等级,因而网络系统安全的难度更大。,中华人民共和国国家标准 GB 17859-1999 计算机信息系统安全
26、保护等级划分准则,第一级:用户自主保护级 第二级:系统审计保护级 第三级:安全标记保护级 第四级:结构化保护级 第五级:访问验证保护级,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处
27、理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,UNIX 系统物理安全 - 注意点1,服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录。 机箱、键盘、电脑桌抽屉要上锁,以确保旁人即使进入房间也无法使用电脑,钥匙要放在另 外的 安全的地方。 所有设备的管理人和责任人必须明确,名单必须由相应主管定期审核; 计算机设备的访问必须得到其管理人的授权; 受控访问区域内任何计算机设备的存放都必须有完整纪录清单,清单不许定期审视; 计算机系统设备的任何物理变更,如搬迁、废弃、更换配件等都必须进行
28、登记; 计算机设备离开公司时必须要通行证,所有此类物品的出门都必须记录。,保护硬件环境 ; 保护硬件; 关闭不用的接口:并行口、串行、红外或USB; 设置开机口令; 严格限制对系统的物理存储; 安装操作系统时应该在非生产的网络中,或放置在断开的网络中; 使用第二系统来接收厂商提供的升级报或补丁程序,UNIX 系统物理安全 - 注意点2,使用常规介质;备份可能包括改变的代码 对于具有网络功能的设备只安装必要的选项 系统安装结束后,将最新的补丁程序打上 去掉不用的用户名或者修改其密码 使用第二系统来获得补丁程序 在正式装补丁程序前需要校验(md5sum) 随时注意并更新系统和软件补丁,UNIX 系
29、统物理安全 - 注意点3,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原
30、 理 篇,实 践 篇,UNIX 常用命令 - lsof,下载地址: http:/ 用途: 列举打开的文件(list open files).由于在UNIX中文件的多样性,一个socket连接也可以理解为一个文件句柄描述符. 类型:基本命令: 主要功能: 查看当前连接,类似于netstat 查看某个进程打开或者使用了哪些文件 从上面可以看出来21端口ftp是由xinetd提供服务,如果我们想看关于ftp进程打开了哪些文件,可以运行命令如图: 还有其他操作引用请参看lsof 的man page,UNIX 常用命令 - chattr,给ext2系统上的文件设置属性.比如设置成只读,这样即使是root
31、,也不能使用rm 命令删除掉. Chattr是为linux的ext2文件系统服务的,在BSD下,可以用chflags命令. 比如:锁定文件1,不允许删除: rootmobile test# ls 1 rootmobile test# lsattr - ./1 rootmobile test# chattr +i 1 /*设置不能更改属性 */ rootmobile test# lsattr -i- ./1 rootmobile test# rm 1 rm: remove write-protected file 1? y rm: cannot unlink 1: Operation not p
32、ermitted /*已经不允许删除了 */ rootmobile test# chattr -i 1 rootmobile test# rm 1 rm: remove 1? y rootmobile test# ls rootmobile test# 具体详细帮助请参考man chattr,UNIX 常用命令 - Netstat /sockstat,Netstat 查看网络连接命令,可以知道当前系统有那些连接,那些端口是listen状态等。 Sockstat是BSD下的程序,可以用来查看网络进程的PID号(对应linux下netstat p参数)。 Linux下查看TCP连接: rootmo
33、bile test# netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22289 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22
34、 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN tcp 0 20 192.168.7.114:22 192.168.7.110:1055 ESTABLISHED 详细应用请参看man netstat,UNIX 常用命令 - md5sum,文件校验和,主要用来检查文件大小,内容等是否更改。在系统被入侵后,可以很方便的用这个命令来检查一些常用命令是否被更改。 我们可以在刚安装完系统后备份一些重要命令的md5校验和,再备份结果到其他介质上,定期检查看校验和是否正确。 比如: rootmobile test# md5sum /bin/net
35、stat /bin/ps /bin/su /bin/ls result.txt rootmobile test# ls a.txt id.txt ls.txt result.txt rootmobile test# md5sum -c result.txt /bin/netstat: OK /bin/ps: OK /bin/su: OK /bin/ls: OK rootmobile test# 监视文件大小变化、操作等,还可以使用第三方程序:Tripwire,Swatch等。,UNIX 常用命令 - acct,acct是用来记录和统计用户命令执行情况以及其他有关用户的信息。不过很少有人使用。
36、这一系列的工具可以在psacct的rpm包里面找到。 rootmobile log# rpm -ql psacct /etc/logrotate.d/psacct /etc/rc.d/init.d/psacct /sbin/accton /usr/bin/ac /usr/bin/lastcomm /usr/sbin/accton /usr/sbin/dump-acct /usr/sbin/dump-utmp /usr/sbin/sa /usr/share/info/accounting.info.gz /usr/share/man/man1/ac.1.gz /usr/share/man/man
37、1/lastcomm.1.gz /usr/share/man/man8/accton.8.gz /usr/share/man/man8/sa.8.gz /var/account /var/account/pact 具体使用可以参看man 8 sa ,man 8 accton ,man lastcomm,man ac,UNIX 常用命令 - Last/lastlog,用来查询用户登陆情况以及用户最后登陆时间。 系统文件:/var/log/utmp以及/var/log/lastlog用来记录用户登陆情况和最后登陆时间。 注意:如果这两个日志被擦除,这两个命令将显示无结果,UNIX/LINUX 系统
38、概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,用户环境变量 - profil
39、e,每一个用户登录进来的时候,如果有特殊需要,会在用户目录里面产生一些配置文件,比如inux下默认bash shell的就有.bash_profile .bashrc等文件,这些文件主要用来控制用户在整个登陆会话中的一些环境变量,alias命令别名,umask值,以及初始化命令等。 比如:linux下的bash_profile文件: rootmobile root# cat .bash_profile # .bash_profile # Get the aliases and functions if -f /.bashrc ; then . /.bashrc fi # User specif
40、ic environment and startup programs PATH=$PATH:$HOME/bin BASH_ENV=$HOME/.bashrc USERNAME=“root“ export USERNAME BASH_ENV PATH rootmobile root# cat .bashrc # .bashrc # User specific aliases and functions alias rm=rm -i alias cp=cp -i alias mv=mv -i # Source global definitions if -f /etc/bashrc ; then
41、 . /etc/bashrc fi rootmobile root# 针对所用用户的设置文件是/etc/bashrc,有兴趣的可以打开/etc/bashrc看看,用户环境变量 - History,用户的命令记录会在history文件里面记录起来,比如,linux下用bash shell的用户,命令会缺省记录在.bash_history文件里面: rootmobile root# tail .bash_history lsof -iTCP -m lsof -iTCP -n lsof -iTCP -n -P lsof -iTCP -n -P -s lsof -iTCP -n -P -T lsof
42、-iTCP -n -P -U lsof -iTCP -n -P -U -X names lsof -iTCP -n -P -U -names lsof -iTCP -n -P -U -r netstat -antp rootmobile root# 在系统被入侵后,如果运气好的话,还会留下入侵者使用的一些命令哦。,UNIX/LINUX 系统概述 系统体系结构 系统服务与进程 系统启动过程 系统的安全级别 UNIX/LINUX 系统安全特性 物理安全 常用命令介绍 用户环境变量介绍 文件系统安全 账号安全 日志记录 安全配置 APACHE 服务器配置要点 FTP 服务器配置要点 DNS 服务器配
43、置要点,提 纲,UNIX/LINUX 下第三方安全工具 SSH TCP_WRAPPER TRIPWIRE NON-EXEC STACK UNIX/LINUX 系统入侵分析 特征 处理方法 UNIX/LINUX 系统配置经验 分区划分 机器的启动密码 用户管理 系统文件安全 网络服务响应,原 理 篇,实 践 篇,常见目录的用途,/bin - 用户命令可执行文件。 /dev - 特殊设备文件。 /etc -系统执行文件、配置文件、管理文件。 /home -用户的起始目录。 /lib -引导系统及在 root 文件系统中运行命令所需共享。 /lost+found - 与特定文件系统断开连接的丢失文件
44、。 /mnt -临时安装的文件系统。 /proc -伪文件系统,是到内核数据结构或运行进程的接口。 /sbin - 为只被root使用的可执行文件及引导系统启动的文件。 /usr - 分成许多目录,包含可执行文件、头文件、帮助文件。 /var -用于电子邮件、打印、cron等的文件,统计、日志文件。,UNIX 文件系统结构,文件类型 1. 普通文件文本文件,二进制文件。 2. 目录 包括一组其它文件的二进制文件。 3. 特殊文件 /dev目录下的设备文件等。 4. 链接文件 硬链接和符号链接。 5. Sockets 进程间通信时使用的特殊文件。,UNIX 文件类型,UNIX把一切都看成是个文件
45、。包括目录以及设备等等的所有的文件都有一个i node号,作为这个文件的管理信息。文件本身存在于数据区,但是i node号存在i node block里。 i-node包含的信息 UID文件拥有者。 GID 文件的权限设置。 模式节点上次修改时间。 文件大小文件所在的分组。 文件类型文件、目录、链接等。 ctimei-访问时间。 mtime文件上次修改时间。 atime文件上次访问时间。 nlink硬链接的数目。,UNIX 文件属性,各种许可权限的含义是什么?,UNIX 文件系统权限,File Owner,Group Owner,Everyone Else,Write Permission,R
46、ead Permission,Execute Permission,UNIX 文件和目录权限位的含义,File Owner,Group Owner,Everyone Else,UNIX 绝对文件权限模式,ls -l 命令可以来显示文件名与特性。 下面信息的第一栏可以表明文件类型和该文件赋予不同组用户的权限,查看UNIX 文件权限,1. chmod 改变文件权限设置。 2. chgrp 改变文件的分组。 3. chown 改变文件的拥有权。 4. Chattr 设置文件属性,UNIX 文件驱权限修改命令,使用chmod命令修改文件权限: chmod 666 myfile chmod 1777 /
47、tmp 使用umask命令设置文件默认权限 umask 022 umask 077,什么是umask值?,用来指明要禁止的访问权限,通常在登录文件.login或.profile中建立。 三位8进制值 用来指定新创建文件和目录权限的缺省许可权限 通过umask值来计算文件目录的许可权限 常用的值有022,027,077,何谓 UMASK值?,什么是SUID和SGID程序?,UNIX中的SUID(Set User ID)/SGID(Set Group ID)设置了用户id和分组id属性,允许用户以特殊权利来运行程序, 这种程序执行时具有宿主的权限.,如passwd程序,它就设置了SUID位 -r-s-x-x 1 root root 10704 Apr 15 2002 /usr/bin/passwd SUID程序 passwd程序执行时就具有root的权限,SUID和SGID,为什么要有SUID和SGID程序?,SUID程序是为了使普通用户完成一些普通用户权限不能完成的事而设置的.比如每个用户都允许修改自己的密码, 但是修改密码时又需要root权限,所以修改密码的程序需要以管理员权限来运行.
链接地址:https://www.31doc.com/p-3221187.html