信息安全专题培训(Unix系统安全)课件_第1页
信息安全专题培训(Unix系统安全)课件_第2页
信息安全专题培训(Unix系统安全)课件_第3页
信息安全专题培训(Unix系统安全)课件_第4页
信息安全专题培训(Unix系统安全)课件_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NSFocusInformationTechnologyCo.Ltd.Unix系统安全徐毅Xylonxuyi@Trainingdept.,CustomerSupportCenterAugust2005StrictlyPrivate&ConfidentialNSFocusInformationTechnologyLinux/Unix构成Linux/Unix构成Linux内核组成部分Linux内核组成部分Linux进程调度Task_runningdo_fork()收到SIG_KILL或SIG_CONT后Task_uninterruptible申请资源未果Task_interruptible所申请资源有效或者收到信号时HoldingCPU申请资源未果所申请资源有效时Task_stopped跟踪系统调用Task_zombiedo_exit()时间片到Schedule()Linux进程调度Task_runningdo_fork()Linux的系统调用编程接口,与POSIX兼容,C语言函数集合实现形式与DOS的INT21H相似Linux使用int80h函数名“sys_xxx”比如系统调用fork的相应函数sys_fork()系统调用号和系统调用表系统调用都转换为Int80h软中断所有的系统调用只有一个入口system_call出口:ret_from_sys_callLinux的系统调用编程接口,与POSIX兼容,C语言函数集Linux内存管理在i386机器上,每个进程有独立的4G虚存空间内核的代码段和数据段被映射到3G以上的空间中用户态下的代码实际可申请的虚存空间为0-3GB每个进程用两套段描述符来访问内存,分别用来访问内核态和用户态下的内存空间在用户态下,代码不可能访问3G以上的地址空间,如果要访问内核空间,必须通过系统调用或者中断Linux内存管理在i386机器上,每个进程有独立的4G虚存Linux的模块机制可动态装载的内核模块(lkm)一组命令:insmod、rmmod、lsmod、modprobe…关于模块机制可以让核心保持比较小的尺寸动态装载,避免重新启动模块机制常常用于设备驱动内核模块一旦加载之后,与原有的核心代码同等Linux的模块机制可动态装载的内核模块(lkm)insmod装载模块Mod1----0x1000Mod2----0x2000……模块列表Mod1----0x1000Mod2----0x2000……模块列表找到核心输出符号虚拟内存修改其未解析的核心例程和资源的引用地址…010010001…..物理内存空间申请足够的空间来容纳新的核心模块每个模块必须包括初始化例程和注销例程系统核心将模块的初始化与注销例程地址传递给核心insmod装载模块Mod1----0x1000模块列表MoLinux内核中的Rootkit通过LKM,可以在系统内核中插入木马模块一个典型的以Linux2.2.x为基础的rootkit——knark使用insmodknark.o就可以加载到内核中还有其他的ROOTKITS,比如adore内核ROOTKITS的对策根据每个rootkit的特征进行检测,然后设法删除预防为主,安装内核检测系统,比如LIDSLinux内核中的Rootkit通过LKM,可以在系统内核中Linux安全问题缓冲区溢出---与各机构公布的风险列表密切相关内核的安全性附加软件的安全性Bind系统Mail系统FTP服务和WWW服务X-Window系统NFS和NIS系统Linux安全问题缓冲区溢出---与各机构公布的风险列表密切账号管理账号管理帐户管理用户类型Root(uid=0,仅次于RING0)普通用户(未设置密码和宿主目录者除外)系统用户(用于标识进程身份和权限)攻击者的目标:夺取uid或euid=0帐户管理用户类型Unix口令文件存储路径Linux/etc/shadow(/etc/passwd)SystemVRelease4.2/etc/securitySystemVRelease4.0/etc/shadowSunOS5.0/etc/shadowSCOUnix/tcb/auth/files/OSF/1/etc/passwdHP-UX/.secure/etc/passwdBSD4.x/etc/master.passwdAIX3/etc/security/passwdIRIX5/etc/shadowUnix口令文件存储路径Linux/etc/shadow为什么要用shadow文件UNIX最早用/etc/passwd存储密码散列,普通用户可读,可以使用John、Crack之类的工具暴力破解,无安全性可言Shadow单独存储密码hash,passwd文件只被用于进程读取当前的属主权限为什么要用shadow文件UNIX最早用/etc/passw帐号密码文件xylon:x:501:501:Jacky:/home/zhuxg:/bin/bash用户名密码位置UIDGID用户全名用户主目录用户shell

/etc/passwd和/etc/shadow(master.passwd)文件帐号密码文件xylon:x:501:501:Jacky:/h解读/etc/shadow文件root:$1$fgvCnqo0$C6xldBN0rs.w1SCtD/RST0:10598:0:99999:7:-1:-1:-1073743272用户名加密口令上一次修改的时间(从1970年1月1日起的天数)口令在两次修改间的最小天数离用户必须修改口令还剩下的天数离系统提醒用户必须修改口令还剩下的天数用户仍可修改口令还剩余的天数,否则到期之后该账号将被禁止从1970年1月1日起账号被禁用的天数保留字段解读/etc/shadow文件root:$1$fgvCnqo口令的加密算法UNIX采用3种加密算法头两字节为$1表示MD5加密算法$2表示使用Blowfish加密算法其余为标准的DES加密算法口令的加密算法UNIX采用3种加密算法添加帐户添加用户useradd/adduser[root@www/root]#useradd--helpuseradd:invalidoption---usage:useradd[-uuid[-o]][-ggroup][-Ggroup,...][-dhome][-sshell][-ccomment][-m[-ktemplate]][-finactive][-eexpire][-ppasswd][-n][-r]nameuseradd-D[-ggroup][-bbase][-sshell][-finactive][-eexpire][root@www/root]#useradd–u1000–d/home/test–s/bin/shtest添加帐户添加用户删除帐户userdel/deluserUserdel[-r]name [root@www/root]#userdel–rtest [root@www/root]#ls–l/home删除帐户userdel/deluser管理帐号查看当前用户名[root@www/root]#whoami更改用户属性usermod[root@www/root]#usermod--helpusage:usermod[-uuid[-o]][-ggroup][-Ggroup,...][-dhome[-m]][-sshell][-ccomment][-lnew_name][-finactive][-eexpire][-ppasswd][-L|-U]name管理帐号查看当前用户名文件管理文件管理Linux/Unix文件系统类型Ext2/ext3、UFS、JFSVFS抽象层文件系统,挂载具体的文件系统,lkmrootkit过滤VFS相关的系统调用文件类型常规文件:ASCII文本,二进制数据,可执行binaryUNIX上的ABI:a.out,ELF文件格式目录:包含一组文件的二进制可执行文件特殊文件:/dev,/proc链接文件Sockets:进程间通讯使用的特殊文件Linux/Unix文件系统类型Ext2/ext3、UFS、文件类型由文件长模式显示的第一个字符决定“-”:普通文件“d”:目录“l”:符号链接“s”:套接字显示文件属性:lsattr文件类型由文件长模式显示的第一个字符决定Linux文件权限-rw-r--r--文件类型(文件、目录、特殊文件)拥有者访问权分组访问权其它用户访问权ls–l文件名Linux文件权限-rw-r--r--文件Mask和umask值Mask和umask相对应对于文件

umask值||文件权限=666对于目录

umask值||目录权限=777Daemon守护进程通常需要对”/”的完全访问权限Mask和umask值Mask和umask相对应文件管理添加/删除/移动文件和目录touch、echo、vi、rm、mv更改文件权限chmod、chattr更改文件属主chown、chgrp文件管理添加/删除/移动文件和目录设置SUID/SGID和Sticky-bit设置SUID/SGID程序利用chmod典型文件如/bin/passwdSGID通常设置在某个目录上Chmod1755和dos的TSR程序一样常驻内存设置粘置位典型目录如/tmp粘置位可防止误删、误修改或破坏用户文件设置SUID/SGID和Sticky-bit设置SUID/S进程的权限如果mysqld文件的属主是root,那么mysql服务被远程溢出后攻击者将得到rootshell,假设apache存在远程溢出,攻击者只能得到nobodyshellRedhat9.0以前版本的ping程序有suid位,假设该命令的可执行文件存在缓冲区溢出,那么本地攻击者可以获得rootshell进程的权限如果mysqld文件的属主是root,那么mysq进程运行时的权限变化Suid文件改变了文件运行时的进程属主,通常是更高的root权限,进程结束时返回原来相对较低的权限,这样普通用户可以享受到便利又不至于权限越界。这里引入了另一个值euid,有效用户ID,表征进程运行时的实际权限,如果euid=0那么你就拥有root权限,实际上你使用/bin/passwd更改自己密码的瞬间拥有root权限,但你却不能用它来做其它事该特性被黑客利用进程运行时的权限变化Suid文件改变了文件运行时的进程属主,Unix系统安全配置与优化Unix系统安全配置与优化安装系统补丁SolarisShowrev–p显示系统补丁Patchadd安装系统补丁LinuxRHNupdateRpm-UvhSrcrecompile安装系统补丁SolarisSolaris基本安全配置设置一个尽可能复杂的root口令设置默认路由/etc/defaultrouter设置dns/etc/resolv.conf设置/etc/nsswitch.confHost:filesdns会话劫持的可能性(sessionhijack)Solaris基本安全配置设置一个尽可能复杂的root口令系统启动服务清理清理/etc/rc2.d值得注意的nfs.*S71RPC清理/etc/rc3.dSNMP使用的选择SNMP配置清理/etc/init.d/inetsvc禁止dInetd–s–t启动(记录会话连接的IP、端口)禁止multicast系统启动服务清理清理/etc/rc2.d系统启动服务清理清理/etc/inetd.conf服务所有的TCP/UDP服务所有的调试服务所以的R服务几乎所有的RPC服务使用必要的工具替换telnet,ftp必要的时候可以完全禁止inetd或用xinetd替换系统启动服务清理清理/etc/inetd.conf服务ndd使用帮助ndd/dev/arp\?(icmp,tcp,udp,ip)查询ndd/dev/arparp_cleanup_interval设置ndd-set/dev/arparp_cleanup_interval60000ndd使用帮助启动网络参数设定设置/etc/init.d/inetinitndd-set/dev/tcptcp_conn_req_max_q010240ndd-set/dev/ipip_ignore_redirect1ndd-set/dev/ipip_send_redirects0ndd-set/dev/ipip_ire_flush_interval60000ndd-set/dev/arparp_cleanup_interval60ndd-set/dev/ipip_forward_directed_broadcasts0ndd-set/dev/ipip_forward_src_routed0ndd-set/dev/ipip_forwarding0(或/etc/notrouter)ndd-set/dev/ipip_strict_dst_multihoming1启动网络参数设定设置/etc/init.d/inetinitARP攻击防止减少过期时间#ndd–set/dev/arparp_cleanup_interval60000#ndd-set/dev/ipip_ire_flush_interval60000静态ARParp–ffilename禁止ARPifconfiginterface–arpARP攻击防止减少过期时间IP优化关闭ip转发#ndd–set/dev/ipip_forwarding0

转发包广播由于在转发状态下默认是允许的,为了防止被用来实施

smurf攻击,关闭这一特性。(参见cert-98.01)#ndd–set/dev/ipip-forward_directed_broadcasts0源路由转发,所以我们必须手动关闭它#ndd–set/dev/ipip_forward_src_routed0IP优化关闭ip转发ICMP优化关闭对echo广播的响应#ndd–set/dev/ipip_respond_to_echo_boadcast0响应时间戳广播#ndd–set/dev/ipip_respond_to_timestamp_broadcast0

地址掩码广播#ndd–set/dev/ipip_respind_to_address_mask_broadcast0ICMP优化关闭对echo广播的响应ICMP优化接受重定向错误#ndd–set/dev/ipip_ignore_redirect1

响应时间戳广播发送重定向错误报文ndd–set/dev/ipip_send_redirects0

时间戳响应#ndd–set/dev/ipip_respond_to_timestamp0注意:Rdata(同步时钟)可能无法正常ICMP优化接受重定向错误TCP优化Synfloodndd–set/dev/tcptcp_conn_req_max_q04096

默认值是1024连接耗尽攻击ndd–set/dev/tcptcp_conn_req_max_q1024

默认值是128增加私有端口ndd/dev/tcptcp_extra_priv_ports20494045要注意的是,不要随便定义私有端口,因为有些非根权限的进程会使用这些端口。特别是改变最小非私有端口这个参数,经常会引起问题TCP优化Synflood文件系统配置删除NFS的相关配置/etc/auto_*/etc/dfs/dfstabMount文件系统的设置/etc/vfstab/usrmountro/dev/dsk/c0t3d0s4/dev/rdsk/c0t3d0s4/usrufs1noroOthermountnosuid/dev/dsk/c0t3d0s5/dev/rdsk/c0t3d0s5/varufs1nonosuid/dev/dsk/c0t3d0s6/dev/rdsk/c0t3d0s6/localufs2yesnosuid可能的话mount/nosuid文件系统配置删除NFS的相关配置文件系统配置寻找系统所有的suid程序Find/-typef\(-perm-4000\)|xargsls–a调整文件系统的权限/usr/sbin/var/log/etc…文件系统配置寻找系统所有的suid程序日志系统配置/etc/syslog.conf增加的日志记录/var/log/authlog输出到loghost输出到打印机增加对su和crontab的日志记录/etc/default/cron/etc/default/su日志系统配置/etc/syslog.conf日志系统配置syslog.conf的格式如下设备.行为级别[;设备.行为级别]记录行为注意各栏之间用[Tab]来分隔,用空格是无效的。如*.err;daemon.notice;mail.crit/var/adm/messages日志系统配置syslog.conf的格式如下日志系统配置-设备auth认证系统,由login、su和getty产生cron系统定时系统执行定时任务时发出的信息daemon守护程序的syslog,如由in.ftpd产生的logkern内核的syslog信息lpr打印机的syslog信息mail由syslog自己产生,为日志盖上时间戳mark定时发送消息的时标程序news新闻系统的syslog信息*:代表以上各种设备日志系统配置-设备auth认证系统,由login、su和日志系统配置-行为级别行为级别描述(危险程度递增)debug 程序的调试信息info 报告性消息notice 需要以后注意的通知warning 警告信息err 其它系统错误crit 危险的系统状态,如硬件或软件无效alert 应该立即被纠正的情况emerg 最严重的消息,如立即关闭系统none 指定的服务程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论