1.43k likes | 1.72k Views
《 网络信息安全 》. 中国科学技术大学 肖 明 军 xiaomj@ustc.edu.cn. UNIX 操作系统的早期发展. • 第一版 Unix 系统最早于 1971 年 11 月安装在 DEC PDP-11/45 机器上 • 第一份有关 Unix 的论文发表于 1973 年 • Unix v6 手册于 1975 年发布 • 此后, Unix 发展成好多个分支,而且越来越复杂 …. UNIX 操作系统演进史.
E N D
《网络信息安全》 中国科学技术大学 肖 明 军 xiaomj@ustc.edu.cn
UNIX 操作系统的早期发展 • 第一版Unix系统最早于1971年11月安装在DEC PDP-11/45机器上 • 第一份有关Unix的论文发表于1973年 • Unix v6 手册于1975年发布 • 此后,Unix发展成好多个分支,而且越来越复杂…
UNIX 操作系统演进史 UNIX的历史开始于1969年ken Thompson,Dennis Ritchie(即著名的K&G,C语言的发明人)与一群人在一部PDP-7上进行的一些工作,后来这个系统变成了UNIX。它主要的几个版本为: V1(1971):第一版的UNIX,以PDP-11/20的汇编语言写成。包括文件系统,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)的公司是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 系统 • HP/UX、AIX等等– 从早期SYSV和部分BSD系统发展而来的商用操作系统 • Solaris– 从SunOS系统发展而来,并借鉴了一些BSD规则 • Linux– 是几乎所有unix系统发展而来的“混血儿”, 但看起来更像SYSV-ish • FreeBSD、 NetBSD、OpenBSD– 完全从主流BSD发展而来的分支
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
计算机系统结构 一般情况下,我们不能直接操作裸机,必须通过一个叫做基本输入输出系统的软件系统(英文为Basic Input/Output System,简称BIOS),才能操作控制裸机,之所以这样称呼它,是因为它提供了最基本的计算机操作功能,如在屏幕上显示一点,接收一个键盘字符的输入等。 在基本输入输出系统的外面是操作系统(Operating System):专门负责管理计算机的各种资源,并提供操作电脑所需的工作界面。有了它们,人们才可以方便自如地使用电脑。 应用软件一般都运行在操作系统之上,由专业人员根据各种需要开发。我们平时见到和使用的绝大部分软件均为应用软件,如杀毒软件,文字处理软件,学习软件,游戏软件,上网软件等等 具体结构图如右图所示: 应用程序 操 作 系 统 基本输入输出系统(BIOS) 底层硬件设备
Linux操作系统结构 用户进程 系统调用接口 LINUX 内核 硬件:CPU、内存、硬盘、网络硬件等 用户进程:用户应用程序是运行在LINUX操作系统最高层的一个庞大的软件集合,当一个用户程序在操作系统之上运行时,它就成为操作系统中的一个进程。 系统调用接口:在应用程序中,可通过系统调用来调用操作系统内核中特定的过程,以实现特定的服务,比如创建一个新进程等。由若干条指令构成的过程:SHELL、WHO等 内核:操作系统的灵魂,它负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等。内核实际是抽象的资源操作到具体硬件操作细节之间的接口。 硬件:这个子系统包括了LINUX安装时需要的所有可能的物理设备,如CPU、内存、硬盘、网络硬件等
内存管理子系统 (MM) 虚拟文件系统 (VFS) 硬件无关 逻辑文件系统 硬件相关 硬件驱动程序 网络接口 (NET) 网络协议 硬件驱动程序 Linux 内核的构成 内存管理子系统:允许多个进程安全地共享主内存区域,支持虚拟内存 进程调度控制着进程对CPU的访问,当需要选择下一个进程运行时,由调度程序选择最值得运行的进程 进程间通信 (IPC) 进程调度 (SCHED) 虚拟文件系统隐藏了各种不同硬件的具体细节,为所有设备提供了统一的接口,VFS支持几十种不同的文件系统 进程间通信支持进程间各种通信机制 网络接口提供了对各种网络标准的存取和各种网络硬件的支持
进程调度 进程 调度 定时器管理 模块管理 时钟中断(182次 / 秒) Linux 进程调度子系统 • 进程调度子系统完成的主要功能: • 允许进程建立自己的拷贝 • 决定哪一个进程将占用CPU,使得可运行进程之间进行有效地转移接受中断并把他们发送到合适的内核子系统 • 发送信号给用户进程 • 管理定时器硬件 • 当进程结束后,释放进程所占用的资源 • 支持动态装入模块,这些模块代表着内核启动以后所增加的新功能,这种可装入的模块将由虚拟文件系统和网络接口使用 FS IPC 在屏幕上的不同位置分别显示各自的计数器值(16 进制) SCHED MM NET task1 task2 task3 1、进程调度与其他子系统的依赖关系 系统调 用接口 Scheduler内核任务调度程序 3、进程调度示意图 结构特定 的模块 2、进程调度的结构图
中央处理单元(CPU) Linux 内存管理子系统 昂贵 快速 小容量 功能单元 寄存器 内部cache 内部cache 便宜 低速 大容量 主存 内存管理是Linux内核最复杂的任务之一:主要包括地址映射、请页、交换、内存分配、内存回收、缓存、刷新、共享等机制 程序的创建和执行以及内存的初始化 磁盘 存储器的层次结构
Linux 多任务系统 Linux 采用0 级、3 级 内核模式对应 0 级 用户模式对应 1、2、3 级 内核模式和用户模式的区别反映在线性地址空间中就是内核空间和用户空间所处位置的不同 任务3 保护特权级 用户数据 用户代码 3 2 任务2 1 • OS代码 • OS数据 • ---GDT、IDT、TSS • ---页表 • ---特权数据 • ---内核栈 0 任务4 4G 内核空间 任务1 3G 用户空间 (1、2、3 级) 任务5 0G 任务N
Linux 网络层 网络应用程序 应用程序 用户模式:3 级 内核模式:0 级 BSD套接字 套接字接口 INET套接字 TCP UDP 协议层 IP ARP/RARP 网络设备 PPP SLIP 以太网
Linux 文件系统------目录结构 / 根目录 bin boot dev etc home lib lost+found mnt 存放常用的命令 存放启 动文件 存放设 备文件 存放配 置文件 用户主 目录 系统不正 常关机的 一些文件 存放共享 库文件 临时挂载文件系统 proc sbin root usr var tmp 存放系统内存的映射 存放超级用户管理程序 超级用户主目录 用到的应用程序和文件 存放不断扩 充的东西 和系统日志 存放临时文件 X11R6 bin sbin doc include lib local Man src X-window 目录 应用程序 超级用户的管理程序 Linux文档 开发编译 应用程序 的头文件 常用的共享库 一般用户的/usr目录 存放帮助文档 Linux 源代码
Linux 进程间通信(IPC) 进程间通信(IPC) 进程调度 内存管理 文件系统 • 为了进程能在同一任务上协调工作,他们彼此之间必须能够进行通信,IPC机制具有如下功能: • 支持信号:信号是发送给进程的异步信息 • 支持等待队列:等待队列提供了一种机制它让等待操作完成的进程处于睡眠(SLEEP)状态 • 支持文件锁:这种机制允许进程把文件的一个区域或整个文件声明为只读,所有进程只能对声明的区域进行读,除了拥有锁的进程 • 支持管道和命名管道:这种机制允许两个进程之间面向连接,双向数据传送 • 支持System V IPC机制 • 支持信号量。 • 支持消息队列 • 支持共享内存:几个进程存取物理内存的同一区域 • 支持UNIX的套节口:又一种面向连接的数据传送机制,它提供了与INET sockets 相同的通信模型
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
什么是服务? • 服务就是运行在网络服务器上监听用户请求的进程 • 服务是通过端口号来区分的 • 常见的服务及其对应的端口 • ftp : 21 • telnet : 23 • http(www) : 80 • pop3 : 110
在UNIX系统里启动与关闭服务? • 在UNIX系统中, 服务是通过inetd 进程或启动脚本来启动 • 通过 inetd 来启动的服务可以通过在/etc/inetd.conf 文件中注释来禁用 • 通过启动脚本启动的服务可以通过改变脚本名称的方式禁用
inetd 超级服务器? 1. inetd超级服务器 inetd 的功能 inetd 的配置和管理 2. 服务的关闭 关闭通过inetd启动的服务 关闭独立启动的服务 3. inetd 的替代品 xinetd(http://www.xinetd.org) xinetd 比inetd更多管理功能 xinetd 的配置
# inetd.conf This file describes the services that will be available # through the INETD TCP/IP super server. To re-configure # the running INETD process, edit this file, then send the # INETD process a SIGHUP signal. # # Echo, discard, daytime, and chargen are used primarily for testing. # # To re-read this file after changes, just do a 'killall -HUP inetd' # #echo stream tcp nowait root internal #echo dgram udp wait root internal #discard stream tcp nowait root internal #discard dgram udp wait root internal #daytime stream tcp nowait root internal #daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal #time stream tcp nowait root internal #time dgram udp wait root internal # # These are standard services. # ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd inetd 配置文件?
[root@smithers rc3.d]# ls -a . S11portmap S40crond S55routed S60rusersd S85sound .. S15netfs S45pcmcia S55sshd S60rwhod S90xfs K30sendmail S20random S50inet S60lpd S75keytable S91smb S05apmd S30syslog S50snmpd S60nfs S85gpm S99linuxconf S10network S40atd S55named S60rstatd S85httpd S99local [root@smithers rc3.d]# UNIX启动脚本 • UNIX启动脚本目录 /etc/rc*.d/ • 禁用启动脚本 改变脚本名,使他不以大写的‘S’ 开头
UNIX其他风格的启动脚本 系统启动脚本 • 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
建议禁止使用的网络服务 • finger • tftp • r系列服务 • telnet • 大多数rpc服务 • 其他不必要的服务
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
PC 机启动过程 • PC启动 Intel CPU进入实模式 • 开始执行0xFFFF0(ROM—BIOS)处的代码 • BIOS 自检 • 初始化位于地址0 的中断向量表 • BIOS将启动盘的第一个扇区装入到0x7C00, • 并开始执行此处的代码 • 完成内核的初始化
1. 开始引导装入程序(boot loader) 2. 内核初始化并运行内核程序 3. 开始其他系统 “自发的” 进程 4. 运行系统起始脚本 UNIX 引导概述
• 最初的引导环境通常是储存在NVRAM 设备中,并在开机的时候读入内存 • NVRAM 引导装入程序触发初始引导模块(Boot block)里的程序,进行引导初始化 • Boot block 装载入更大的程序块,引导Unix 内核程序 引导装入程序(boot loader)
1. 识别CPU体系结构并初始化 2. 计算物理内存并初始化虚拟内存系统 3. 为内部结构分配内存 4. 探测系统设备,配置它们和初始化它们 内核活动
“自发” 进程是内核通过特别机制创建的 这些进程通常用来控制进程调度安排和 VM system 它们不是存在于文件系统中可执行的进程,而是真正的内核代码 INIT 进程开始并引导系统运行开始脚本 内核引导的自发进程
• init 运行 shell 脚本 /etc/rc: – Mounts 本地文件系统 – 初始化网络接口 – 开始系统daemon程序 • /etc/rc 运行 /etc/rc.local 中的特定系统服务程序 • /etc/rc.conf 脚本用来告诉系统在引导时运行哪些服务 BSD “起始”(start-up)脚本
init程序依据设定运行级别运行相应的“开始”级别脚本:init程序依据设定运行级别运行相应的“开始”级别脚本: S – 系统启动配置 2 – 初始化网络配置,启动系统daemon程序 3 – 输出文件系统,启动本地daemon进程 运行级别0是中止系统,运行级别6是重新引导系统 启动脚本存放在 /etc/init.d目录中 通常一个脚本对应一个daemon进程或者一项配置任务 这些脚本都可以带有“start”或“stop”参数– 这样当系统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. 基本系统配置 2. 开始网络服务 3. 开始NFS守护进程 (NFS是一个流行的通过TCP/IP网络共享文件的协议 ) 4. 运行系统其他守护进程 5. 提供X界面登录的窗口 init- 控制引导进程
• 装载root文件系统-包括关键程序和配置文件 • 配置网络接口 • 装载其他文件系统,其中一些可能是从网络装载 1.基本系统配置
DNS服务-只在有DNS服务的机器上运行 Portmapper (rpcbind )– 基于RPC服务的主控守护进程 NIS/NIS+– 基于RPC的网络信息数据库 Syslog– 系统日志进程 inetd – 运行其他网络服务的“meta” 守护进程 2.开始网络服务
NFS 客户端进程: lockd – NFS 文件锁定系统 statd – 在系统重引导后解锁进程 NFS 服务器端进程: mountd – 服务器响应客户请求 nfsd – NFS I/O 进程 "Automounter" (amd or automountd) 3.开始NFS守护进程
• cron– 在事先设定好的时间运行的后台进程 • Sendmail – 邮件服务进程 • 其他服务进程 – NTP、 SNMP、 HTTP、“volume managers”、local services …… 4.运行系统其他进程
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
如何衡量系统安全程度? 第一级:用户自主保护级 第二级:系统审计保护级 第三级:安全标记保护级 第四级:结构化保护级 第五级:访问验证保护级 中华人民共和国国家标准GB 17859-1999计算机信息系统安全保护等级划分准则 • 操作系统安全程度的度量标准:目前常用美国国防部系统所制定的TCSEC(“Trusted Computer System Evaluation Criteria”(1985)),其评估标准主要是基于: • 系统安全政策(Policy)的制定 • 系统使用状态的可审性(Accountability) • 安全政策的准确解释和实施的可靠性(Assurance) • 系统安全程度被分为八个等级(D1、C1、C2、B1、B2、B3、A1和A2),其中D1系统的安全度为最低,常见的无密码保护的个人计算机系统即属此类; • 通常具有密码保护的多用户工作站系统属于C1级 • 一个网络系统所能达到的最高安全等级不超过网络上安全性能最低环节的安全等级,因而网络系统安全的难度更大。
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
UNIX 系统物理安全------ 注意点1 服务器应该安放在安装了监视器的隔离房间内,并且监视器要保留15天以上的摄像记录。 机箱、键盘、电脑桌抽屉要上锁,以确保旁人即使进入房间也无法使用电脑,钥匙要放在另 外的 安全的地方。 所有设备的管理人和责任人必须明确,名单必须由相应主管定期审核; 计算机设备的访问必须得到其管理人的授权; 受控访问区域内任何计算机设备的存放都必须有完整纪录清单,清单不许定期审视; 计算机系统设备的任何物理变更,如搬迁、废弃、更换配件等都必须进行登记; 计算机设备离开公司时必须要通行证,所有此类物品的出门都必须记录。
UNIX 系统物理安全------ 注意点2 • 保护硬件环境 ; • 保护硬件; • 关闭不用的接口:并行口、串行、红外或USB; • 设置开机口令; • 严格限制对系统的物理存储; • 安装操作系统时应该在非生产的网络中,或放置在断开的网络中; • 使用第二系统来接收厂商提供的升级报或补丁程序
UNIX 系统物理安全------ 注意点3 • 使用常规介质;备份可能包括改变的代码 • 对于具有网络功能的设备只安装必要的选项 • 系统安装结束后,将最新的补丁程序打上 • 去掉不用的用户名或者修改其密码 • 使用第二系统来获得补丁程序 • 在正式装补丁程序前需要校验(md5sum) • 随时注意并更新系统和软件补丁
提 纲 实 践 篇 原 理 篇 • UNIX/LINUX 系统概述 • 系统体系结构 • 系统服务与进程 • 系统启动过程 • 系统的安全级别 • UNIX/LINUX 系统安全特性 • 物理安全 • 常用命令介绍 • 用户环境变量介绍 • 文件系统安全 • 账号安全 • 日志记录 • 安全配置 • APACHE 服务器配置要点 • FTP 服务器配置要点 • DNS 服务器配置要点 • UNIX/LINUX 下第三方安全工具 • SSH • TCP_WRAPPER • TRIPWIRE • NON-EXEC STACK • UNIX/LINUX 系统入侵分析 • 特征 • 处理方法 • UNIX/LINUX 系统配置经验 • 分区划分 • 机器的启动密码 • 用户管理 • 系统文件安全 • 网络服务响应
UNIX 常用命令------ lsof • 下载地址: http://freshmeat.net/projects/lsof/ • 用途: 列举打开的文件(list open files).由于在UNIX中文件的多样性,一个socket连接也可以理解为一个文件句柄描述符. • 类型:基本命令: • 主要功能: • 查看当前连接,类似于netstat • 查看某个进程打开或者使用了哪些文件 • 从上面可以看出来21端口ftp是由xinetd提供服务,如果我们想看关于ftp进程打开了哪些文件,可以运行命令如图: • 还有其他操作引用请参看lsof 的man page
UNIX 常用命令------ chattr • 给ext2系统上的文件设置属性.比如设置成只读,这样即使是root,也不能使用rm 命令删除掉. Chattr是为linux的ext2文件系统服务的,在BSD下,可以用chflags命令. • 比如:锁定文件1,不允许删除: [root@mobile test]# ls 1 [root@mobile test]# lsattr -------------- ./1 [root@mobile test]# chattr +i 1 /*设置不能更改属性 */ [root@mobile test]# lsattr ---i---------- ./1 [root@mobile test]# rm 1 rm: remove write-protected file `1'? y rm: cannot unlink `1': Operation not permitted /*已经不允许删除了 */ [root@mobile test]# chattr -i 1 [root@mobile test]# rm 1 rm: remove `1'? y [root@mobile test]# ls [root@mobile test]# • 具体详细帮助请参考man chattr
UNIX 常用命令------ Netstat /sockstat • Netstat 查看网络连接命令,可以知道当前系统有那些连接,那些端口是listen状态等。 • Sockstat是BSD下的程序,可以用来查看网络进程的PID号(对应linux下netstat –p参数)。 • Linux下查看TCP连接: [root@mobile 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 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校验和,再备份结果到其他介质上,定期检查看校验和是否正确。 • 比如: [root@mobile test]# md5sum /bin/netstat /bin/ps /bin/su /bin/ls >result.txt [root@mobile test]# ls a.txt id.txt ls.txt result.txt [root@mobile test]# md5sum -c result.txt /bin/netstat: OK /bin/ps: OK /bin/su: OK /bin/ls: OK [root@mobile test]# • 监视文件大小变化、操作等,还可以使用第三方程序:Tripwire,Swatch等。
UNIX 常用命令------ acct • acct是用来记录和统计用户命令执行情况以及其他有关用户的信息。不过很少有人使用。 • 这一系列的工具可以在psacct的rpm包里面找到。 [root@mobile 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/man1/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