solaris安全操作指南_第1页
solaris安全操作指南_第2页
solaris安全操作指南_第3页
solaris安全操作指南_第4页
solaris安全操作指南_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、Solaris平安操作指南第一章Solaris系统平安安装1.1 安装步骤下面将以安装Solaris8为例,描绘系统安装的过程及相关的平安本卷须知。请系统管理员在安装系统前,认真阅读Sun公司提供的系统安装指南和参考手册,理解系统安装的根本操作步骤。断开网络连接请确定网络是断开,即网线没有接入网络中。假设用户希望自动配置NIS效劳,那么需要网络处于连通状态,但是这样做会带来一些平安隐患,因为在安装期间,RPC效劳处于启动状态,存在潜在的平安威胁。建议在系统处于平安保护状态下,才将系统联入网络。Openboot口令和平安请首先插入CD。为了防止无关人员执行EEPROM上的命令,请在OK提示符下,

2、使用命令"setenv"设置EEPROM的平安形式为"command",并设置相应的口令,要求口令至少为8位,必须有字母、数字和标点,不能使用名字、完好的英文单词或生日作为口令。下面是一个例如:oksetenvsecurity-modecommandsecurity-mode=command请再次确定已经设置了EEPROM的平安形式和口令,并且口令满足一定的复杂读要求。OKbootcdrom在OK状态下,设置系统启动设备为CD-ROM。开始Solaris安装程序进入系统安装初期,请系统管理员按照SUN公司提供安装手册所描绘的步骤进展。在系统安装min-r

3、oot,并进入StartWeb安装环境后,系统管理员注意以下平安事项:1. 设置root口令设置一个强壮的root的口令,使其符合复杂性要求,即口令长度必须为8位,包含数字、字母和标点,不能为完好的英文单词或句子。2. 选择系统安装的类型选择系统安装的类型是系统安装中关键一步,系统管理员需要根据系统安装的策略和最小化原那么选择相应的系统软件包。强烈建议:系统安装选择自定义核心组coregroup软件包,并且不安装附带软件和附加产品。下一步是选择群集和包,在自定义核心组的默认选择的软件包根底上,可以增加如下软件包:软件包编号软件包描绘备注SUNWast通过监视或限制对系统文件和目录的访问来进步系

4、统平安性的管理公用程序此为SUN提供的平安工具,详细使用可以参阅有关手册关于Solaris8系统安装的软件包信息,请系统管理员参阅附录3,以便根据详细应用选取相应的软件包。3. 网络配置假设系统需要DHCP或NIS,那么需要将系统接入网络,注意接入网络的时间要尽可能短,假设配置DHCP或NIS完毕,请暂时将网络再次断开。下一步是选择IP或DHCP,这里会询问是否安装IPv6,除非必要,否那么禁用。同时,SUN的建议是安装所需要的所有效劳,因为效劳平安的,但是不要采用这个选项。后期在配置效劳和网络的时候会证明前者的做法是会带来平安问题的,因为在默认安装后,系统将开放RPC、aotumount、N

5、FS等可能不必要且有潜在危险的效劳。4. 名字效劳配置下一步是配置NIS,建议最好不要使用NIS,除非必要。不要在安装中配置DNS,因为在安装时,系统要求联网以便校验DNS效劳。系统就暴露在不平安的网络环境下了。建议在系统完成安装,并且根据本手册提供的方法完成系统加固之后,才对DNS进展配置。同样的,假设DNS效劳的配置是必要的,那么系统接入网络的时间要尽可能的短,配置完毕立即断开网络连接。5. 磁盘分区首先将/var分区与root分区分开,以防止日志文件耗尽root分区的空间。确保root分区足够大,建立一个/var分区用于存放系统记录文件和Email文件等。Swap分区为RAM的2倍。通常

6、使用SUN的默认配置,需要进展一些调整。建议分为三个区,即/、/opt和/var。可以在/opt区创立/usr/local,以方便备份管理。6. 注意其它版本的Solaris系统安装的顺序可能略有不同,系统管理员可根据详细情况,在上述相应的安装步骤中做好平安配置工作。安装效劳越少的软件,潜在的平安破绽就越少,尽量选择最小安装,进步效率。理解更多关于建立最小安装的信息,请观察SolarisMinimizationforSecurity。1.2 安装后的工作关闭不必要的效劳系统在安装coregroup后,默认开放如下不必要的效劳:1 、NFS2 、RPC3 、automount4 、echo、ti

7、me、chargen等TCP/IP简单效劳备份系统根本信息系统安装完成后,系统管理员应该查看和备份系统关键信息,包括系统进程、网络效劳信息、suid/sgid文件或目录、系统用户等。安装和启用辅助平安工具为了进步系统的平安性以及可维护性,建议安装建议的平安辅助工具。安装补丁程序在安装完其他系统软件和第三方软件后,马上更新系统补丁程序。并更新Tripwire数据库假设使用了该软件的话。第二章Solaris系统平安配置2.1 系统平安配置的原那么Solaris的平安配置可以从以下几个方面来考虑:2.1.1 本地平安增强包括限制某些命令的访问、设置正确的文件权限、应用组和用户的概念、suid/sgi

8、d的文件最少、rw-rw-rw的文件最少等。2.1.2 网络平安增强包括使用平安的协议来管理、制止所有不需要的效劳、制止系统间的信任关系、制止不需要的帐号、增强认证需要的密码、保护存在危险的网络效劳、限制访问等。2.1.3 应用平安增强包括限制用户的权限、限制进程所有者的权限、检查应用相关文件权限、限制访问其他系统资源、应用所依赖的suid/sgid文件最少、使用应用本身的平安特性、删除samples和其他无用的组件等。2.1.4 监控与警报包括日志、完好性、入侵检测等一些使用工具等。2.2 主机的根本平安配置主机的根本平安配置包括以下主要内容:1 、系统补丁更新2 、控制台平安3 、文件系统

9、平安4 、用户管理5 、系统启动与关闭6 、内核调整7 、日志与审核8 、其它9 .2.1系统补丁更新及时更新系统补丁是系统管理员做好日常维护的一项重要工作。更新系统补丁的目的,除了满足某些兼容性的要求外,它的主要目的是修补系统的平安破绽,防止系统破绽被入侵者所利用。系统补丁包括操作系统的补丁,以及其它应用效劳软件的补丁,诸如WEB效劳、DNS效劳、邮件效劳、数据库等等。1 、强烈建议定期从操作系统提供商或应用软件提供商的官方网站下载最新的系统补丁集,SUN的操作系统补丁列表可以以下网站获取:ftp:/sunsolve1.sun/pub/patches/:/sunsolve1.sun/2 、完

10、好性检查,使用校验工具检查下载的补丁软件是否被篡改,以防止补丁软件感染病毒或植入木马程序。建议使用MD5检验工具一般的SUN提供的补丁包内会有一个MD5校验数据文件,可以使用MD5校验工具计算文件的MD5值与之对照。3 、假设条件允许的情况下,建议最好先做补丁修补实验,因为某些补丁可能会影响部分效劳的正常运行;4 、在安装系统补丁软件后,建议按照本手册提供的方法和步骤对系统配置进展平安检查,因为某些系统补丁安装后可能会启动系统的默认配置,使系统状态发生变化,可能会导致系统效劳异常或者使系统开放了某些不必要的效劳而违犯系统最小化原那么。另外,系统管理员可以使用showrev-p命令查看系统补丁修

11、补情况,例如如下:root$showrev-pPatch:106541-16Obsoletes:106832-03,106976-01,107029-01,107030-01,107334-uPatch:106793-07Obsoletes:Requires:Incompatibles:Packages:SUNWcsu,SUNWaPatch:107544-03Obsoletes:Requires:Incompatibles:Packages:SUNWcsu,SUNWrPatch:107451-05Obsoletes:Requires:107117-03Incompatibles:Package

12、s:SUNWuPatch:107454-05Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:107792-02Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:108301-02Obsoletes:Requires:Incompatibles:Packages:SUNWcsu,SUNWaPatch:108482-02Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:106950-13Obsoletes:Requir

13、es:Incompatibles:Packages:SUNWcsu,SUNWxPatch:107018-03Obsoletes:Requires:106938-01Incompatibles:Packages:SUNWuPatch:109253-01Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:108798-01Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:108838-02Obsoletes:Requires:Incompatibles:Packages:SUNWc

14、suPatch:109744-01Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:107443-13Obsoletes:Requires:Incompatibles:Packages:SUNWcsu,SUNWcPatch:107477-03Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:108748-01Obsoletes:Requires:Incompatibles:Packages:SUNWcsuPatch:108760-01Obsoletes:Requires:In

15、compatibles:Packages:SUNWcsuPatch:108764-01Obsoletes:Requires:Incompatibles:Packages:SUNWcsu2.2.2控制台平安1. 设置OpenBoot的平安级别设置OpenBoot的平安级别主要是防止可以物理接触系统的人任意修改系统OpenBoot参数,到达完全控制系统的目的。一方面,可以访问OpenBoot的用户可以从外部硬盘或光盘上启动系统,从而完全控制系统;另一方面,可以用Stop-A停顿系统的用户可以修改所有OpenBoot环境变量。Openboot的平安级别有3种:none、command和full。 N

16、one是不需要任何口令,所有的OpenBoot设置都可以修改包括系统启动的硬盘分区,所有的OpenBoot命令都可以执行。任何可以物理接触系统的人就完全控制了系统。 Command是除了boot和go之外的所有命令都需要口令。系统可以从默认的启动设备启动。Go命令在按下Stop-A或者发送中断序列之后继续系统操作可以执行。对于任何其它命令,用户都必须输入OpenBoot命令; Full是除了go命令在按下Stop-A或者发送中断序列之后继续系统操作之外的所以命令都需要OpenBoot口令。建议把平安级别设为command。因为设置为full的话,假设忘记了OpenBoot口令,就只好更换PRO

17、M了。设置方法有两种:a) 在root下,下面是一个配置例如:#eepromsecurity-mode=commandChangingPROMpassword:Newpassword:passwordRetypenewpassword:passwordb) 在OpenBootPROM下,下面是一个配置例如:oksetenvsecurity-modecommandsecurity-mode=commandoksetenvsecurity-passwordpasswordsecurity-password=假设希望修改OpenBoot口令可以使用如下命令。#eepromsecurity-passw

18、ord=ChangingPROMpassword:Newpassword:passwordRetypenewpassword:password注意:“=不要忘记键入了,否那么会出现错误信息:security-password:datanotavailable;在修改口令时,不会询问以前的口令。假设希望禁用该项平安功能只需要将security-mode设置为none。方法同上。2. 监视EEPROM口令假设用户敲错了OpenBoot的口令将被记录下来,使用下面的命令可以查看总共有多少次错误的尝试:# eepromsecurity-#badloginssecurity-#badlogins=3可以

19、使用以下命令初始化它的计数器:# eepromsecurity-#badlogins=0security-#badlogins=02.2.3文件系统平安文件系统是计算机系统的重要组成部分,用于存储和管理计算机中的信息,包括操作系统、应用程序和数据等。管理系统文件的工作主要包括设置访问权限、控制用户访问文件的方式读、写、执行。一文件权限由于具备suid/sgid位的可执行文件可能会被入侵者利用获得系统最高权限root,因此,假设该文件或目录不需要suid/sgid权限的话,应该去除其相应的suid/sgid位。1. 删除所有不使用的suid文件大多数setuid程序都只是由root运行的,或者是

20、由某些特定用户或组运行,那就可以将其setuid位移去,系统管理员应该根据实际需要的情况进展增减。请系统管理员参看SUN网站或CERT的平安公告,假设发现有破绽的的程序还存在setuid位,请及时下载补丁进展补丁更新。假设目前暂时无法获得相应补丁程序时,一个简单的临时解决方案是将该程序的setuid位去掉。而且还应该建立一个setuid/setgid程序的列表,以便作为系统审核的根据之一,这样可以通过比照发现是否有新的setuid程序出现。假设发现来历不明的带有setuid位的程序,就把它删掉。可能需要用到的操作命令例如如下:列出系统中所有suid文件Find/-typef(-perm-400

21、0)-execls-al;find/-typef(-perm-4000)-execls-al;>$HOME/search-4-suid-files.txt首先备份suid文件:mkdir/opt/backup/suidfind/-typef(-perm-4000)-print|cpio-pudm/opt/backup/suid删除前建立tar备份,不要删除suid-files.tar!cd/opt/backup;tar-cvpfsuid-files.tar/opt/backup/suid/*rm-r/opt/backup/suid去除所有suid文件中的suid位find/-typef(

22、-perm-4000)-execchmod-s;再查一遍find/-typef(-perm-4000)-execls-al;对一些常用文件建立suid位chmodu+s/usr/bin/suchmodu+s/usr/bin/passwdchmodu+s/usr/bin/ps2. 变更不必要sgid文件的权限可能需要用到的操作命令例如如下:列出系统中所有sgid文件find/-typef(-perm-2000)-execls-al;find/-typef(-perm-2000)-execls-al;>$HOME/search-4-sgid-files.txt备份sgid文件:mkdir/o

23、pt/backup/sgidfind/-typef(-perm-2000)-print|cpio-pudm/opt/backup/sgid对一些常用且必要的文件建立sgid位。一般的是系统管理员在理论中根据应用的需要而设置,通常不必设置。3. 去掉/etc下不必要的组可写文件的写权限可能需要用到的操作命令例如如下:列出所有组可写的文件find/etc-typef(-perm-20)-execls-al;find/etc-typef(-perm-20)-execls-al;>search-4-group-writeable-in-etc.txtfind/etc-typef(-perm-20

24、)-execchmodgw;结合上述所列文件信息,系统管理员可以视详细需要,更改文件权限。4. 去掉/etc下不必要的所有人可写文件的写权限可能需要用到的操作命令例如如下:列出所有人可写的文件find/etc-typef-perm-2-execxargsls-als;find/etc-typef-perm-2-execxargsls-als;>search-4-world-writeable-in-etc.txt结合上述所列文件信息,系统管理员可以视详细需要,更改文件权限。5. 可以将不必要权限为所有人都可以读写rw-rw-rw-的文件改为权限为所有人可读仅属主可写rw-r-r-的文件可

25、能需要用到的操作命令例如如下:find/-typef-perm666|xargsls-al>perm-666-before-change.txt结合上述所列文件信息,系统管理员可以视详细需要,更改文件权限。6. 改变所有人可读写执行rwxrwxrwx文件的权限为所有人可读可执行仅属主可写的rwxr-xr-x文件可能需要用到的操作命令例如如下:find/-typef-perm777-execxargsls-al;>perm-777-before-change.txt结合上述所列文件信息,系统管理员可以视详细需要,更改文件权限。7. 查找world,group可写的目录操作命令例如如下

26、:find/-typed-perm2-print>search-4-world-writeable-directories.txtfind/etc-typef-perm-20-print>search-4-group-writeable-dir.txt8. 确保每个root启动的脚本属于root首先查找所有启动脚本的属主find/etc-typef-print|greprc|egrep-v"skel|tty|mail|snmp|Mail"|xargsls-al>rc_files_before_change_txt改变属主find/etc-typef-pri

27、nt|greprc|egrep-v"skel|tty|mail|snmp|Mail"|xargschownroot:rootfind/etc-typef-print|greprc|egrep-v"skel|tty|mail|snmp|Mail"|xargsls-al>rc-files-after-change.txtls-al/etc/init.d>etc-init.d-before.change.txtchownroot:root/etc/init.dls-al/etc/init.d>etc-init.d-after-change.t

28、xt9.确保所有cron行为有记录在/etc/default/cron中CRONLOG=YES删除/var/spool/cron/crontabs目录中除了root文件外所有文件10. 查找无用户的文件操作命令例如如下:find/-typef-nouser>files-nouser-before-change11. 查找无组的文件操作命令例如如下:find/-typef-nogroup>files-nogroup-before-change12. 改变/var/cron权限chmod700/var/cron&&chownroot/var/cron&&

29、chgrpsys/var/cron13. 改变utmpwtmp的权限utmp文件记录当前登录到系统中的所有用户,wtmp文件记录用户登录和退出事件,假设这些文件是所有用户可写,那就可以轻松地修改或删除访问系统的记录。所以/var/adm/utmp、/var/adm/utmpx、/var/adm/wtmp、/var/adm/wtmpx的文件权限都应该设为644。chmod644/var/adm/utmp&&/var/adm/utmpx&&/var/adm/wtmp&&/var/adm/wtmpx下面总结了常用系统目录的权限分配情况:文件权限或属主/

30、etc/utmp644/var/adm/wtmp644/etc/syslog.pid或/var/run/syslog.pid644/etc,/usr/etc,/bin,/usr/bin,/sbin,/usr/sbin,/tmpand/var/tmp由root所拥有/tmp和/var/tmp设置sticky-bit粘滞位日志/var/log/只能由root写入二mount选项在mount选项设置为nosuid的分区内的文件即使有suid位也不会被入侵者用以提升权限。假设mount选项设置为只读ro那么可以防止用户修改该分区内的关键数据文件,因此,推荐按照下表修改/etc/vfstab文件。#de

31、vicedevicemountFSfsckmountmount#tomounttofsckpointtypepassatbootoptions/dev/dsk/c0t3d0s0/dev/rdsk/c0t3d0s0/ufs1no-/dev/dsk/c0t3d0s4/dev/rdsk/c0t3d0s4/usrufs1noro/dev/dsk/c0t3d0s5/dev/rdsk/c0t3d0s5/varufs1nonosuid/dev/dsk/c0t3d0s6/dev/rdsk/c0t3d0s6/optufs2yesnosuid,ro注意:/usr分区建议设置为只读,但是不要设置为nosuid,因为

32、该分区下的部分命令有nosuid位。需要把NFS效劳器共享的目录装入到系统中时,建议加上nosuid和ro的选项,这样目录就会以只读的方式装入,并且以setuid运行也是不允许的。三卷管理Solaris的卷管理可以方便简单地管理可挪动介质设备,在有CD-ROM、软驱等设备接入时会自动安装到系统中,而不需要超级用户的介入。但是这样容易被入侵者所利用,入侵者只需要在CD-ROM、软盘等介质中存储有suid的命令,便可用以提升权限到达完全控制系统的目的。因此,建议效劳器不要使用自动mount的功能,而工作站假设需要使用自动mount功能,需要修改/etc/rmmount.conf使mount的文件系

33、统具备nosuid的选项。在/etc/rmmount.conf参加如下信息:mounthsfs-onosuidmountufs-onosuid四其它1、确定EXINIT的环境变量禁用了.exrc文件功能,并且删除了系统内不必要.exrc文件。可以使用如下命令查找.exrc文件:#/bin/find/-name'.exrc'-exec/bin/cat;-print2、确定用户HOME目录下的.forward文件不能被非授权命令或程序所执行,邮件效劳可能会由于错误配置导致普通用户的拥有root特权。可以使用如下命令查找.forward文件:#/bin/find/-name'

34、.forward'-exec/bin/cat;-print2.2.4用户管理1 、制止所有不需要的系统帐户管理性的帐号应该被封锁起来,防止被入侵者所利用。这些帐号包括daemon、bin、sys、adm、lp、uucp、nuucp、listen、nobody和noaccess封锁方法为在/etc/passwd文件中,斗各其对应的shell置为/bin/false。假设系统没有shadow文件,那么编辑/etc/passwd,将需要制止帐户的*用NP代替Example:noaccess:NP:60002:60002:NoAccessUser:/:/sbin/noshell假设系统有sha

35、dow文件,那么编辑shadow文件,在用户名后面直接参加:NP。daemon:NP:6445:bin:NP:6445:sys:NP:6445:adm:NP:6445:lp:NP:6445:uucp:NP:6445:nuucp:NP:6445:2、口令及口令策略 长度至少为8位,必须包括数字、字母和标点。 设置密码相关参数,编辑/etc/default/passwd设置:MINWEEKS=1#最短改变时间MAXWEEKS=4#密码最长有效时间PASSLENTH=8#最短密码长度 确保提示输入密码可以在直接键入如下命令:#passreq=YES或者编辑/etc/login/文件,更改相应条目。检

36、查是否每个用户都设置了密码检查/etc/passwd和/etc/shadow,每个用户的密码栏是否为空。3、修改登录login配置文件防止root远程登录建议超级用户不要直接登录,设置方法为在/etc/default/login文件中设置CONSOLE=/dev/null。这样任何需要成为超级用户的系统管理员都必须先用普通帐号登录,然后用su命令切换成超级用户,因为系统会记录下用户使用su命令的情况,以便审计的用户行为。编辑/etc/default/login,加上:#IfCONSOLEisset,rootcanonlyloginonthatdevice.CONSOLE=/dev/consol

37、e记录所有root登录尝试编辑/etc/default/login#SYSLOGdetermineswhetherthesyslog(3)LOG_AUTHfacilityshouldbeused#tologallrootloginsatlevelLOG_NOTICEandmultiplefailedlogin#attemptsatLOG_CSYSLOG=YES设置session超时时间编辑/etc/default/login,加上:#TIMEOUTsetsthenumberofseconds(between0and900)towaitbefore#abandoningaloginsession

38、.TIMEOUT=120设置缺省umask编辑/etc/default/login,加上:#UMASKsetstheinitialshellfilecreationmodemask.Seeumask(1).UMASK=027权限设置为750."rw-r"对于如下文件,同样加上缺省umask:/etc/.login,/etc/profile,/etc/skel/local.cshrc/etc/skel/local.login,/etc/skel/file设置Shell环境变量编辑/etc/default/login,加上:#ALTSHELLdetermine

39、siftheSHELLenvironmentvariableshouldbesetALTSHELL=YES4、设置root的umask检查root的.profile,确保umask为027或077。5、在所有path中,去掉所有"."途径。检查所有缺省启动脚本和root启动脚本,在所有途径变量中删除"."途径,包括以下文件:/.login,/etc/.login,/etc/default/login,/.cshrc,/etc/skel/local.cshrc,/etc/skel/local.login,/etc/skel/file,/.

40、profile,/etc/profile6、使用sugroup来限制su,将可以su的用户添加到这个组在/etc/group中创立特殊的组sugroup将系统管理员帐号加到这个组;改变/bin/su的权限为:r-sr-sr-x1rootsugroup#chmod550/bin/su#chmod+s/bin/su#chownroot:sugroup/bin/su#ls-al/bin/su-r-sr-s-1rootsugroup18360Jan151998/bin/su#grepsugroup/etc/groupsugroup:600:root,adm,wspher这样,只有sugroup组中的用

41、户可以使用su,提升为超级用户,另外一个可行的方法是使用sudo来替代su。2.2.5系统启动与关闭一系统启动和关闭1 、检查系统的启动和关闭程序也就是/etc/init.d、/etc/rc.X目录和/etc/inittab文件,将这些文件和目录的权限设为只有超级用户可写。2 、在rc.x目录中将不需要的效劳禁用,可以采取一定的格式进展更名处理,以便在有需要的时候可以重新启动效劳。更名举例如下:mv/etc/rc3.d/S92volmgt/etc/rc3.d/no_use_S92volmgt以下效劳原那么上应该禁用,但是系统管理员可以根据系统应用需求,按照系统最小化原那么进展取舍:snmpdx

42、autofs(Automounter)volmgt(VolumeDeamon)lpsched(LPprintservice)nscd(NameServiceCacheDaemon)Sendmail(注意,假设确要使用sendmail处理邮件信息,那么请参照“网络效劳平安配置的相关内容进展配置)keyserv(注意KeyservDeamon在安装了NIS+或NFS才使用,假设启动时使用了-d的选项,那么默认的"nobody"key是禁用的)另外,rpcbind提供远程呼叫,依靠远程系统的IP地址和远程用户的ID进展验证,这样很容易伪造和改变。建议关闭rpcbind效劳。3 、

43、制止所有DMI效劳制止所有DMI效劳:mv/etc/rc3.d/S?dmi/etc/rc3.d/no_use?dmi/etc/init.d/init.dmi中启动的dmi效劳有:/usr/lib/dmi/dmispd/usr/lib/dmi/snmpXdmid/etc/dmi/ciagent/ciinvoke4、检查所有的.rhosts文件.rhosts允许不要密码远程访问,预先生成$HOME/.rhosts文件,并且设置为0000,防止被写入+。攻击者经常使用类似符号链接或者利用ROOTSHELL写入。注:这种情况会导致一些如SSH的RCP命令无法使用需要使用$HOME/.rhosts文件的

44、一些命令touch/.rhosts;chmod0/.rhosts.rhosts可以被普通用户所创立在个人目录下。推荐使用脚本来发现.rhosts文件。并且利用cron自动检查,报告给特定用户。ScriptforFind.rhost:#!/bin/sh/usr/bin/find/home-name.rhosts|(cat<<EOFthisonlyfind.rhost:EOFcat)|/bin/mailx-s"Contentof.rhostsfileauditreport"yourmailbox5、制止使用.rhosts认证在/etc/pam.conf中删除rlog

45、inauthsufficient/usr/lib/security/pam_rhosts_auth.so.1将rsh的行改为:rshauthrequired/usr/lib/security/pam_unix.so.16、检查信任关系检查/etc/hosts.equiv文件,确保为空二审核启动和关闭机制由于在系统启动和关闭阶段,系统的保护措施暂时没有运行或访问,因此,提请系统管理员需要特别关注系统启动和关闭脚本的完好性。可以借助工具审核系统的启动和关闭脚本,如Tripwire。需要审核的文件和目录包括:/etc/rc*.X、/etc/inetd.conf等。2.2.6 内核调整修正堆栈错误,防

46、止溢出2.6以后版本已修正把堆栈设置为不可执行。步骤方法为:把下面两行参加/etc/system中setnoexec_user_stack=1setnoexec_user_stack_log=1然后改变文件权限:#chmod644/etc/system不可执行堆栈可以在一定程度上抵御基于栈Stack的缓冲区溢出攻击,但是,缓冲区溢出的攻击手段可以有多种方式实现,基于栈的溢出攻击只是其中的一种攻击手段,因此,设置不可执行堆栈不能抵御其它类型的缓冲区溢出攻击,如基于堆Heap的溢出攻击、基于函数指针的溢出攻击等。系统管理员应该时常关注系统平安破绽信息,及时采取补救措施。建议制止系统进展核心转储co

47、redump,因为它会占用大量磁盘空间,并且可能会泄露某些敏感信息。设置方法为:在/etc/system中参加setsys:coredumpsize=0注意:以上三项配置都要重启系统后才能生效。2.2.7 日志和审核1 、设置适宜cronlogfiles编辑配置文件/etc/cron.d/logchecker中LIMIT项。系统管理员可以根据实际经历设置,一般要考虑的因素是日志查看的周期与通常情况下日志产生的信息量大小,建议对cron日志的审核以7天为一个周期。2 、记录所有inetd效劳编辑/etc/init.d/inetsvc,查找inetd的启动选项,例如如下:/usr/sbin/ine

48、td-s-t&3、修改syslog.conf编辑syslog.conf,增加*.debug/var/adm/compass.messages#记录debug信息/var/log/authlog4、创立/var/adm/loginlog来记录登录失败信息touch/var/adm/loginlogchmod600/var/adm/loginlogchownroot/var/adm/loginlogchgrpsys/var/adm/loginlog5、辅助工具建议使用Tripwire对系统文件进展完好性检查,这样能有效防止木马。详细Tripwire的安装与使用,请参见附录

49、。建议安装日志检测工具,比方swatch,以进步日志分析的效率。详细swatch的安装和使用,请参见附录。2.2.8其它1、cron和at是定时执行命令。因此要严格限制可以执行cronat命令的用户,以防止被入侵者所利用。设置方法为:创立一个空的/etc/cron.d/cron.deny/etc/cron.d/at.deny文件,然后把可以执行cronat命令的用户加到/etc/cron.d/cron.allow/etc/cron.d/at.allow文件中。2、不要使用crontab-e命令来配置cron,因为它会把用户的crontab文件的一份所有用户都可读的副本放在/tmp目录下,入侵者

50、就可以根据这个副本探究出与cron项有关的可能的平安缺陷。建议的设置方法为:首先输入命令crontab-l>mycronfile;编辑mycronfile文件,完成所有需要的修改;最后输入命令crontab<mycrontab。2.3系统网络效劳平安配置2.3.1 网络接口的平安配置利用ndd命令,可以检测或者更改网络设备驱动程序的特性。在/etc/init.d/inetinit启动脚本中增加以下各条命令,然后重启系统,可以进步网络的平安性。1. 忽略并且不发送ICMP重定向报文假设系统使用了动态路由机制,那么攻击者可能会利用ICMP重定向报文更改路由信息,导致IP数据包流向转变,

51、形成回绝效劳攻击或者被监听。忽略ICMP重定向报文/usr/sbin/ndd-set/dev/ipip_ignore_redirect1默认值为0制止发送ICMP重定向报文/usr/sbin/ndd-set/dev/ipip_send_redirects0默认值为12. 关闭数据包转发除非系统需要路由转发功能,否那么应该关闭数据包转发。/usr/sbin/ndd-set/dev/ipip_forwarding03. 不转发源路由数据包源路由数据包是指由发送方指定传送途径的数据包。假设系统转发源路由数据包,那么会带来潜在的平安隐患,入侵者可以将大量数据流引向攻击目的形成回绝效劳攻击。/usr/s

52、bin/ndd-set/dev/ipip_forward_src_routed04. 设置更平安的TCP初始序列号产生方式TCP_STRONG_ISS的值决定TCP初始序列号的产生方式,它的可能取值有三个: 0:旧式的序列号产生方式 1:经过改进的序列号产生方式,每次建立新TCP连接的初始序列号不再连续取值,而是在此根底上增加一个随机的分量,这样就增大了TCP初始序列号猜测攻击的难度。 2:使用新型的序列号产生方法,杜绝根据一个初始序列号猜测下一次连接初始序列号的可能性。/usr/sbin/ndd-set/dev/tcptcp_strong_iss2默认值为15. 缩短ARP缓存有效期ARP缓

53、存有效期假设太长,遭受ARP欺骗攻击后需要更长时间恢复。虽然缩短ARP缓存有效期不能真正阻止ARP欺骗攻击,但是加大了攻击难度。/usr/sbin/ndd-set/dev/arparp_cleanup_interval60000以毫秒为单位,缺省值为300000,60000只是建议值,也可以根据自己需要取其它值。2.3.2 网络访问控制网络系统的平安建立在这个根本原理之上:去掉不必要的网络访问,在所需要的网络访问周围建立访问控制。一停顿运行不必要的网络效劳1 、停顿由inetd启动的网络效劳由internet效劳器过程inetd启动的网络效劳是由两个配置文件/etc/inet/services

54、和/etc/inet/inetd.conf来配置的。/etc/inet/services文件指定每个效劳的端口号和端口类型,该配置文件的部分例如如下:ftp21/tcptelnet23/tcpsmtp25/tcpmail/etc/inet/inetd.conf文件指定效劳所对应的系统效劳程序,该配置文件的部分例如如下:ftpstreamtcpnowaitroot/usr/sbin/in.ftpdin.ftpdtelnetstreamtcpnowaitroot/usr/sbin/in.telnetdin.telnetd当要停顿某个效劳,如ftp、telnet等时,只要注释掉文件/etc/inet

55、/services和/etc/inet/inetd.con中的相应条目,也就是在那一行的开头加上字符,然后让inetd重新读配置文件,过程例如如下:#ps-ef|grepinetdroot14910Jan18?0:00/usr/sbin/inetd-sroot2462124605015:53:01pts/10:00grepinetd#kill-HUP149以上第一条命令是为了获得inetd的进程号,例如中输出的第二列内容就是进程号(149),然后将该进程号填入第二条命令的相应位置。2 、停顿由rc脚本启动的网络效劳有些网络效劳不是由inetd来启动,而是由自己的rc文件来启动的,如:sendm

56、ail/etc/rc2.d/S88sendmailautomounter/etc/rc2.d/S74autofsntp/etc/rc2.d/S74xntpdsyslog/etc/rc2.d/S74syslog打印效劳/etc/rc2.d/S80lpapache/etc/rc3.d/S50apache要停顿以上效劳,只需用mv命令把它们的启动文件改名,如把/etc/rc2.d/S88sendmail改名为/etc/rc2.d/X88sendmail,然后先查找出相应的进程号进程号查找方法同上,以下不再赘述,再用“kill-9进程号停顿相应的进程。要停顿DNS效劳时,在文件/etc/rc2.d/S72inetsvc中把运行d的一项注释掉,然后再停顿相应的进程。要停顿NFS效劳器时,首先注释掉/etc/dfs/dfstab文件中的所有条目,然后用mv命令把/etc/rc3.d/S15nfs.server文件改名为/etc/rc3.d/X15nfs.server,最后停顿nfsd进程。要停顿NFS客户端时,首先注释掉/etc/vfstab文件中fstype为nfs的所有条目,接着用umount命令释放所有NFS装入的文件

温馨提示

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

评论

0/150

提交评论