|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
|
:针对solaris7,8操作系统的一个完全的安全配置手册,供系统管理员参考。HvyLinux联盟 HvyLinux联盟 Solaris安全配置流程1HvyLinux联盟 一,solaris系统安装3HvyLinux联盟 系统patch3HvyLinux联盟 建立/var分区3HvyLinux联盟 二,系统4HvyLinux联盟 eeprom安全4HvyLinux联盟 置核心大小为零4HvyLinux联盟 三,用户管理4HvyLinux联盟 禁止所有的系统账户(system accounts)4HvyLinux联盟 用强壮的密码设置程序5HvyLinux联盟 设置默认的密码参数5HvyLinux联盟 设置密码的最大生存周期5HvyLinux联盟 设定离用户密码过期的天数,当系统启动时提醒用户。5HvyLinux联盟 设定最小用户密码长度6HvyLinux联盟 防止远程的root登陆6HvyLinux联盟 纪录所有root的登陆情况6HvyLinux联盟 设置登陆会话超时时间6HvyLinux联盟 设置默认的屏蔽掩码6HvyLinux联盟 设置root的umask6HvyLinux联盟 确定登陆需要密码验证7HvyLinux联盟 设置shell的环境变量7HvyLinux联盟 检查每个用户的密码档设置7HvyLinux联盟 去掉所有path环境变量里的“.”7HvyLinux联盟 限制su命令,添加可以su的用户到sugroup里7HvyLinux联盟 四,inetd超级进程8HvyLinux联盟 注释掉所有确实不需要的服务8HvyLinux联盟 对inetd的服务实现TCP wrapper8HvyLinux联盟 加固inetd8HvyLinux联盟 关于xinetd8HvyLinux联盟 五,系统启动服务(rc.X)9HvyLinux联盟 去掉不需要的启动服务9HvyLinux联盟 禁止DMI服务9HvyLinux联盟 禁止默认的mounting suid features9HvyLinux联盟 检查所有的.rhosts文件10HvyLinux联盟 禁止基于rhosts的用户认证10HvyLinux联盟 检查信任关系10HvyLinux联盟 启动服务脚本的屏蔽掩码10HvyLinux联盟 六,网络接口的调整和安全11HvyLinux联盟 缩短ARP缓存的存在周期11HvyLinux联盟 缩短条目在arp-table里刷新的时间11HvyLinux联盟 禁止回应广播的的请求来防止一些特殊的具有危害性的ping包11HvyLinux联盟 启动时禁止源路由11HvyLinux联盟 防止系统在启动时启动ip转发11HvyLinux联盟 设置系统禁止ip包转发12HvyLinux联盟 设置系统精确的多路寻址12HvyLinux联盟 保证系统不响应icmp网络掩码请求12HvyLinux联盟 防止系统响应icmp的时间戳请求12HvyLinux联盟 防止系统响应icmp时间戳广播12HvyLinux联盟 防止系统发送icmp转发信息13HvyLinux联盟 改变TCP初始序列号生成参数13HvyLinux联盟 设置in.routed在静态模式13HvyLinux联盟 禁止路由13HvyLinux联盟 八,小型服务14HvyLinux联盟 1,NFS14HvyLinux联盟 2,NIS,NIS+15HvyLinux联盟 3,MAIL15HvyLinux联盟 4,FTP16HvyLinux联盟 5,TELNET17HvyLinux联盟 九,X-Windows17HvyLinux联盟 十,文件许可权限18HvyLinux联盟 去掉不用的suid文件18HvyLinux联盟 去掉不用的sgid程序18HvyLinux联盟 删除一切/etc目录下的组用户可写的文件19HvyLinux联盟 移除/etc目录下一切对用户可写的文件19HvyLinux联盟 改变所有文件的rw-rw-rw权限为rw-r-r-19HvyLinux联盟 改变文件的rwxrwx???19HvyLinux联盟 找出可写的目录20HvyLinux联盟 确定所有应用服务的启动脚本的用户属主和用户组是root20HvyLinux联盟 打开cron程序的记账20HvyLinux联盟 检查utmp,utmpx的权限20HvyLinux联盟 寻找没有用户关联的文件21HvyLinux联盟 寻找没有组关联的文件21HvyLinux联盟 检查/var/cron的权限21HvyLinux联盟 十一,登录和记账21HvyLinux联盟 设置cronlogfile的保存空间为2m21HvyLinux联盟 记账所有的inetd服务22HvyLinux联盟 修改syslog.conf文件22HvyLinux联盟 安装tripwire22HvyLinux联盟 IDS22HvyLinux联盟 日志文件观察者(swatch)22HvyLinux联盟 禁止telnet远程管理,用ssh23HvyLinux联盟 十二,其他23HvyLinux联盟 设置启动标示23HvyLinux联盟 HvyLinux联盟 一 solaris系统安装HvyLinux联盟 系统patchHvyLinux联盟 解决方案:HvyLinux联盟 连接站点http://sunsolve.sun.com寻找solaris的最新补丁路径HvyLinux联盟 showrev -p [安装的补丁列表命令]HvyLinux联盟 建立/var分区HvyLinux联盟 解决方法:HvyLinux联盟 /var分区是存放logfile以及系统变动文件的文件系统,因为它的易变化性,以及在系统运作过程中的不断扩大,所以不要把/var文件系统包括再root分区里,以免有恶意程序恶意扩大日志文件来dos根分区。HvyLinux联盟 1)在系统安装之初解决这个问题。HvyLinux联盟 2)划分较小的独立的文件系统给/varHvyLinux联盟 3)并挂接在/下。HvyLinux联盟 HvyLinux联盟 二 系统HvyLinux联盟 eeprom安全HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 先解释一下openboot安全级别:HvyLinux联盟 none 不需要任何口令HvyLinux联盟 command 除了boot和go之外的所有命令都需要口令。HvyLinux联盟 Full 除了go命令之外的所有openboot命令都需要openboot口令HvyLinux联盟 好!用# eeprom security-mode=command命令来改变openboot的安全级别到command级。当然,你首先得要用# eeprom security-password命令来给openboot设置强壮口令。HvyLinux联盟 为什么要这样做:因为能够访问openboot的用户可以从几乎所有的scsi设备(外部硬盘或cdrom)上引导系统,这样用户如果从他们自己的媒体来引导系统的话,就等于完全控制了系统。同样,用户能够用stop-A停止系统,可以修改所有openboot环境变量。这是非常危险的事情。HvyLinux联盟 HvyLinux联盟 HvyLinux联盟 置核心大小为零HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加行到:/etc/system文件里:HvyLinux联盟 set sys:coredumpsize = 0HvyLinux联盟 我建议这样做,因为你需要去分析内核,这样做可以防止由于你的误操作而损坏你的硬盘。HvyLinux联盟 参考脚本:HvyLinux联盟 disable-core.shHvyLinux联盟 HvyLinux联盟 HvyLinux联盟 三 用户管理HvyLinux联盟 禁止所有的系统账户(system accounts)HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 编辑/etc/passwd文件使所有系统账户没有shell。如:noaccess:x 60002:60002:No Access User:/:/sbin/noshellHvyLinux联盟 noshell.c应该这样写:HvyLinux联盟 #include <stdio.h>HvyLinux联盟 void main() {HvyLinux联盟 printf(“sorry!no shell with this account\n”);HvyLinux联盟 return 0;HvyLinux联盟 }HvyLinux联盟 gcc -o ./noshell ./noshell. cHvyLinux联盟 cp /sbin/noshell /sbin/noshell.solarisHvyLinux联盟 cp ~/noshell /sbin/noshellHvyLinux联盟 禁止不需要的系统账户,在/etc/shadow文件中用NP标志放在那些用户的密码段,这样那些用户就被禁止了。HvyLinux联盟 基本的sys V unix系统账户:HvyLinux联盟 bin, daemon,adm,lp,smtp,sys,uucp,nuucp,nobody,noaccessHvyLinux联盟 用强壮的密码设置程序HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 对于所有用户账户而言都应该用强壮的密码,在solaris下有一个叫npasswd的工具运行的很好,利用npasswd代替passwd程序来让用户设置密码,它附带了一个配置文件,可以让用户设定密码的长度,字符,期限等控制信息。HvyLinux联盟 设置默认的密码参数HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/passwd文件如下入口:HvyLinux联盟 PWMIN= 1 #密码可以被改变的最小时段HvyLinux联盟 设置密码的最大生存周期HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/passwd文件如下入口:HvyLinux联盟 PWMAX= 13 #密码的最大生存周期HvyLinux联盟 设定离用户密码过期的天数,当系统启动时提醒用户。HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/passwd文件如下入口:HvyLinux联盟 PWWARN= 4HvyLinux联盟 设定最小用户密码长度HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/passwd文件如下入口:HvyLinux联盟 PWLEN= 8 #设定最小用户密码长度为8位HvyLinux联盟 防止远程的root登陆HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LCONSOLE=/dev/console #这样root只能从/dev/console这个设备登陆HvyLinux联盟 纪录所有root的登陆情况HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LSYSLOG= YES #syslog纪录root的登陆失败,成功的情况HvyLinux联盟 设置登陆会话超时时间HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LTIMEOUT= 120HvyLinux联盟 设置默认的屏蔽掩码HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LUMASK= 027 #这将设定标准掩码为:750,也可以将这行加到/etc/.login /etc/profile /etc/skel/local.cshrc /etc/skel/local.login /etc/skel/local.profile这些文件里HvyLinux联盟 设置root的umaskHvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 确定root的umask是027或077HvyLinux联盟 检查root的.profileHvyLinux联盟 确定登陆需要密码验证HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LPASSREQ= YESHvyLinux联盟 设置shell的环境变量HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 添加或编辑/etc/default/login文件如下入口:HvyLinux联盟 LALTSHELL= YESHvyLinux联盟 检查每个用户的密码档设置HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 检查/etc/passwd;/etc/shadow文件里的每个用户的加密行,如:HvyLinux联盟 user:lRs.8R9EfQXx.:11137:0:10000::::HvyLinux联盟 加密段有无被修改的迹象HvyLinux联盟 去掉所有path环境变量里的“.”HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 从用户及root的初始化脚本中的path变量里去除“.”,比如如下脚本:HvyLinux联盟 /.login /etc/.login /etc/default/login /.cshrc /etc/skel/local.cshrcHvyLinux联盟 /etc/skel/local.login /etc/skel/local.profile /.profile /etc/profileHvyLinux联盟 限制su命令,添加可以su的用户到sugroup里HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 1)在/etc/group文件里建立一个特殊的组HvyLinux联盟 2)使你的admin账号在这个组里HvyLinux联盟 3)改变/bin/su的权限为:r-sr-sr-x 1 root sugroupHvyLinux联盟 # chmod 550 /bin/suHvyLinux联盟 # chmod +s /bin/suHvyLinux联盟 # chown root:sugroup /bin/suHvyLinux联盟 # ls -al /bin/suHvyLinux联盟 -r-sr-s--- 1 root sugroup 18360 Jan 15 1998 /bin/suHvyLinux联盟 # grep sugroup /etc/groupHvyLinux联盟 sugroup::600:root,httpadm,wsphereHvyLinux联盟 只有是sugroup组里的用户才可以使用su命令HvyLinux联盟 HvyLinux联盟 四 inetd超级进程HvyLinux联盟 注释掉所有确实不需要的服务HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 用grep -v “^#”/etc/inetd.conf命令来察看你当前没有注释的服务HvyLinux联盟 去掉一切你不是真正需要的服务,并且是那些没有注释的服务保护在tcp_wrapper之下。HvyLinux联盟 对inetd的服务实现TCP wrapperHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 编译安装tcpd到/usr/local/bin目录下,编辑/etc/inetd.conf如下:HvyLinux联盟 ftp stream tcp nowait root /usr/local/bin/ tcpd in.ftpdHvyLinux联盟 telnet stream tcp nowait root /usr/local/bin/ tcpd in.telnetdHvyLinux联盟 加固inetdHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 检查/etc/hosts.deny和/etc/hosts.allow文件,确定如下格式:HvyLinux联盟 /etc/hosts.denyHvyLinux联盟 ALL:ALLHvyLinux联盟 开启的服务:HvyLinux联盟 /etc/hosts.allowHvyLinux联盟 <service>:<source-ip>HvyLinux联盟 关于xinetdHvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 xinetd有这比inetd更强大的灵活性和安全性,所以尽量用xinetd来代替inetd。HvyLinux联盟 HvyLinux联盟 五 系统启动服务(rc.X)HvyLinux联盟 去掉不需要的启动服务HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 用mv命令来去掉不需要的启动服务,一个例子如下:HvyLinux联盟 mv /etc/rc3.d/S92volmgt /etc/rc2.d/not_usedS92volmgtHvyLinux联盟 这样vlomgt这个服务就被禁止启动了HvyLinux联盟 下面一些服务最好禁止启动(不过具体情况具体决定):HvyLinux联盟 snmpdxHvyLinux联盟 autofs(Automounter)HvyLinux联盟 volmgt(Volume Deamon)HvyLinux联盟 lpsched(LP print service)HvyLinux联盟 nscd (Name Service Cache Daemon)HvyLinux联盟 SendmailHvyLinux联盟 KeyservHvyLinux联盟 禁止rpcbind服务,如果它不是一定需要的话。(以上列表可以代表所有不需要的服务,但具体情况请进入到rc.X目录里自行决定哪些服务需要,哪些不需要)HvyLinux联盟 禁止DMI服务HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 禁止所有的dmi服务:mv /etc/rc3.d/S??dmi /etc/rc3.d/D??dmiHvyLinux联盟 DMI服务通过/etc/init.d/init.dmi里的几个bin文件来运行:HvyLinux联盟 /usr/lib/dmi/dmispdHvyLinux联盟 /usr/lib/dmi/snmpXdmidHvyLinux联盟 /etc/dmi/ciagent/ciinvokeHvyLinux联盟 禁止默认的mounting suid featuresHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在/etc/rmmount.Conf文件里添加行:HvyLinux联盟 mount hsfs -o nosuidHvyLinux联盟 mount ufs -o nosuidHvyLinux联盟 检查所有的.rhosts文件HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 .rhosts文件允许用户或远程主机访问系统而不经过密码验证。假如一台远程的主机被攻破,这将成为极大的安全隐患。建议禁止任何.rhosts文件。HvyLinux联盟 禁止基于rhosts的用户认证HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 更改并删除/etc/pam.conf文件里的:HvyLinux联盟 rlogin auth sufficient /usr/lib/security/pam_rhosts_auth.so.1HvyLinux联盟 改变rsh行:HvyLinux联盟 rsh auth required /usr/lib/security/pam_unix.so.1HvyLinux联盟 参考脚本:HvyLinux联盟 pam-rhosts-2. 6.shHvyLinux联盟 检查信任关系HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 确定/etc/hosts.equiv文件为空。HvyLinux联盟 启动服务脚本的屏蔽掩码HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在每个rc.X目录中建立S00umask文件:HvyLinux联盟 /etc/rc0.d/S00umask.shHvyLinux联盟 /etc/rc1.d/S00umask.shHvyLinux联盟 /etc/rc2.d/S00umask.shHvyLinux联盟 /etc/rc3.d/S00umask.shHvyLinux联盟 /etc/rcS.d/S00umask.shHvyLinux联盟 /etc/init.d/umaskHvyLinux联盟 参考脚本:HvyLinux联盟 add-umask.shHvyLinux联盟 HvyLinux联盟 六 网络接口的调整和安全HvyLinux联盟 缩短ARP缓存的存在周期HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在/etc/rc2.d/S??inet脚本中添加如下:HvyLinux联盟 ndd -set /dev/arp arp_cleanup_interval 60000 /* 1 min (default is 5 min)*/HvyLinux联盟 缩短条目在arp-table里刷新的时间HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在/etc/rc2.d/S??inet脚本中添加如下:HvyLinux联盟 ndd -set /dev/ip ip_ire_flush_interval 60000 /* 1 min (default is 20 min)*/HvyLinux联盟 禁止回应广播的的请求来防止一些特殊的具有危害性的ping包HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_respond_to_echo_broadcast 0 # default is 1HvyLinux联盟 启动时禁止源路由HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_forward_src_routed 0 # default is 1HvyLinux联盟 防止系统在启动时启动ip转发HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_forwarding 0 # default is 1HvyLinux联盟 设置系统禁止ip包转发HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_ignore_redirect 1 # default is 0HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 设置系统精确的多路寻址HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_strict_dst_multihoming 1 # default is 0HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 保证系统不响应icmp网络掩码请求HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_respond_to_address_mask_broadcast= 0 # default is 0HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 防止系统响应icmp的时间戳请求HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_ip_respond_to_timestamp= 0 # default is 1HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 防止系统响应icmp时间戳广播HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_ip_respond_to_timestamp_broadcast= 0 # default is 1HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 防止系统发送icmp转发信息HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加或修改/etc/rc2.d/S??inet如下:HvyLinux联盟 ndd -set /dev/ip ip_send_redirects= 0 # default is 1HvyLinux联盟 (adds it into /etc/init.d/nddconfig)HvyLinux联盟 改变TCP初始序列号生成参数HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 改变/etc/default/inetinit文件的条目:HvyLinux联盟 TCP_STRONG_ISS= 2HvyLinux联盟 设置in.routed在静态模式HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 按如下步骤建立in.routed -q(静态模式):HvyLinux联盟 mv /usr/sbin/in.routed to /usr/sbin/in.routed.origHvyLinux联盟 建立/usr/sbin/in.routed如下内容:HvyLinux联盟 #! /bin/shHvyLinux联盟 /usr/sbin/in.routed.orig -qHvyLinux联盟 更改这个文件的权限:HvyLinux联盟 chmod 0755 /usr/sbin/in.routedHvyLinux联盟 #动态的路由模式容易遭受到恶意的路由信息的亲篇和攻击,所以建议宁愿用静态路由,(路由的增加通过启动文件的route命令)也不建议用动态路由守护进程HvyLinux联盟 禁止路由HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 touch /etc/notrouterHvyLinux联盟 HvyLinux联盟 八,小型服务HvyLinux联盟 1,NFSHvyLinux联盟 移除NFSHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 建议在DMZ中不要运行NFS服务,所以如果它运行着的话,建议移除它。如下步骤:HvyLinux联盟 移除/etc/dfs/dfstab中的所有共享定义HvyLinux联盟 杀掉NFS守护进程:lockd, nfsd, statd, mountdHvyLinux联盟 重命名NFS的启动脚本:/etc/rc3.d/S??nfs.server 和 /etc/rc2.d/S??nfs.clientHvyLinux联盟 HvyLinux联盟 设置NFS的特定tcp端口HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 执行如下命令:HvyLinux联盟 ndd -set /dev/tcp tcp_extra_priv_ports_add 2049HvyLinux联盟 HvyLinux联盟 设置NFS的特定udp端口HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 执行如下命令:HvyLinux联盟 ndd -set /dev/udp udp_extra_priv_ports_add 2049HvyLinux联盟 HvyLinux联盟 开启NFS端口监听HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 添加行到/etc/system文件:HvyLinux联盟 set nfssrv: nfs_portmon = 1HvyLinux联盟 set nfs: nfs_portmon = 1HvyLinux联盟 确定你的/etc/system文件的访问权限为644:HvyLinux联盟 # chmod 644 /etc/systemHvyLinux联盟 HvyLinux联盟 一些nfs相关的服务HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 关掉如下服务:HvyLinux联盟 nfsdHvyLinux联盟 mountdHvyLinux联盟 rpc.bootHvyLinux联盟 in.rarpdHvyLinux联盟 rpldHvyLinux联盟 2,NIS,NIS+HvyLinux联盟 去除NIS,NIS+HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 我们建议不要运行NIS,NIS+服务,所以按一下步骤移除它:HvyLinux联盟 在文件/etc/domainname里移除域名:HvyLinux联盟 你可以察看NIS大体的服务列表:HvyLinux联盟 # pkginfo |grep NISHvyLinux联盟 # pkgrm <NIS-Package>HvyLinux联盟 system SUNWypr NIS Server for Solaris (root)HvyLinux联盟 system SUNWypu NIS Server for Solaris (usr)HvyLinux联盟 HvyLinux联盟 移除NIS,NIS+,DNS LookupHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 编辑/etc/nsswitch.conf如下:HvyLinux联盟 passwd: filesHvyLinux联盟 group: filesHvyLinux联盟 hosts: filesHvyLinux联盟 networks: filesHvyLinux联盟 protocols: filesHvyLinux联盟 rpc: filesHvyLinux联盟 ethers: filesHvyLinux联盟 netmasks: filesHvyLinux联盟 bootparams: filesHvyLinux联盟 publickey: filesHvyLinux联盟 netgroup: filesHvyLinux联盟 automount: filesHvyLinux联盟 aliases: filesHvyLinux联盟 services: filesHvyLinux联盟 sendmailvars: filesHvyLinux联盟 如果需要dns的话,可以再次修改这个文件HvyLinux联盟 3,MAILHvyLinux联盟 停止绑定在25端口的sendmail服务HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 禁止sendmail服务,你的用户依然可以发信。意思是,sendmail仍然安装了,只是不要作为守护进程存在,你可以在sendmail.cf文件里限制你的用户的权限。HvyLinux联盟 mv /etc/rc2.d/S88sendmail /etc/rc2.d/not_usedS88sendmailHvyLinux联盟 HvyLinux联盟 注释所有的并行邮件别名HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 检查 /ect/aliases |可以并列。用#号注解。HvyLinux联盟 HvyLinux联盟 限制sendmail的expn和vrfy两个命令来收集系统信息HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在/etc/senmmail.cf文件中修改如下限制远程连接25端口使用expn和vrfy命令:HvyLinux联盟 # O PrivacyOptions=authwarnings, goawayHvyLinux联盟 OpgoawayHvyLinux联盟 # O PrivacyOptions=noexpn, novrfy, authwarningsHvyLinux联盟 O LogLevel=5HvyLinux联盟 HvyLinux联盟 隐藏smtp版本信息HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 在/etc/mail/sendmail.cf文件里找到smtp版本信息,修改如下:HvyLinux联盟 # SMTP login messageHvyLinux联盟 HvyLinux联盟 禁止邮件转发HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 普通用户不可以选择转发者,而root可以通过/usr/local/forward/.forward.$u来控制邮件转发,修改/etc/sendmail.cf如下行:HvyLinux联盟 O ForwardPath=/usr/local/forward/.forward.$uHvyLinux联盟 设置/usr/local/forward正确的权限HvyLinux联盟 HvyLinux联盟 接收邮件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 如果真要在自己的系统上接收外来的邮件(监听在25端口)。我们建议利用spam或smtpd/smtpfwdd来保证邮件服务的安全(加上anti-spam,安全配置)。HvyLinux联盟 HvyLinux联盟 4,FTPHvyLinux联盟 安全FTPHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 建立或修改/etc/default/ftpd文件增加屏蔽码和ftp标志信息:HvyLinux联盟 UMASK= 077HvyLinux联盟 BANNER="/bin/cat /etc/ftp-banner"HvyLinux联盟 修改/etc/default/ftpd权限:HvyLinux联盟 chmod 644 /etc/default/ftpdHvyLinux联盟 HvyLinux联盟 建立ftp标示信息HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 建立/etc/ftp-banner文件满足如下:HvyLinux联盟 例如:This system is for authorized users only. Monitoring may occurHvyLinux联盟 修改/etc/ftp-banner文件的权限:HvyLinux联盟 chmod 644 /etc/ftp-bannerHvyLinux联盟 HvyLinux联盟 创建/etc/ftpusers文件HvyLinux联盟 安全层面:远程:HvyLinux联盟 解决方法:HvyLinux联盟 创建/etc/ftpusers文件,把所有的系统账户加入到这个文件里HvyLinux联盟 例如如下账户:HvyLinux联盟 root daemon sys bin adm lp smtp uucp nuucp listenHvyLinux联盟 nobody noaccess news ingres audit admin sync nobody4HvyLinux联盟 修改/etc/ftpuser文件的权限:HvyLinux联盟 chmod 644 /etc/ftpusersHvyLinux联盟 5,TELNETHvyLinux联盟 防止telnet程序现实系统版本信息HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 移除/etc/default/telnetd文件里的信息:HvyLinux联盟 Banner=””HvyLinux联盟 加入/etc/default/telnetd文件不存在,按如下步骤操作:HvyLinux联盟 touch /etc/default/telnetdHvyLinux联盟 echo "BANNER=\"\"">> /etc/default/telnetdHvyLinux联盟 chmod 444 /etc/default/telnetdHvyLinux联盟 九,X-WindowsHvyLinux联盟 设置CDE为不接受任何XDMCP登陆连接HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 假如/usr/dt/config/Xaccess存在,则如下操作:HvyLinux联盟 cat <<EOF >/usr/dt/config/XaccessHvyLinux联盟 # disable all XDMCP connectionsHvyLinux联盟 !*HvyLinux联盟 EOFHvyLinux联盟 假如/etc/dt/config/Xaccess存在,则如下操作:HvyLinux联盟 cat <<EOF >/etc/dt/config/XaccessHvyLinux联盟 # disable all XDMCP connectionsHvyLinux联盟 !*HvyLinux联盟 EOFHvyLinux联盟 十,文件许可权限HvyLinux联盟 去掉不用的suid文件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 许多运行在solaris上的suid程序都只属于root,检查这些程序,有没有是属于其他用户的:HvyLinux联盟 步骤:HvyLinux联盟 1)找出所有的suid程序HvyLinux联盟 2)创建备3)份目录(如:/opt/backup/usr/local/bin)HvyLinux联盟 4)把这些suid程序备5)份在以上目录里HvyLinux联盟 6)把这些程序用tar打成包(使find程序在备7)份目录里找不8)到这些程序)HvyLinux联盟 9)删掉备10)份目录HvyLinux联盟 11)去掉所有的suid程序的s权位HvyLinux联盟 12)只保留一些必须的suid程序。如:passwd,13)su等HvyLinux联盟 14)再次执行一遍find程序,15)看看输出情况HvyLinux联盟 必须用到的一些命令:HvyLinux联盟 find / -type f\( -perm -4000 \) |xargs ls -aHvyLinux联盟 find / -type f\( -perm -4000 \) |xargs chmod -sHvyLinux联盟 HvyLinux联盟 去掉不用的sgid程序HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 许多运行在solaris上的sgid程序都只属于root,检查这些程序,有没有是属于其他用户的:HvyLinux联盟 1)出所有的sgid程序HvyLinux联盟 2)创建备3)份目录(如:/opt/backup/usr/local/bin)HvyLinux联盟 4)把这些sgid程序备5)份在以上目录里HvyLinux联盟 6)把这些程序用tar打成包(使find程序在备7)份目录里找不8)到这些程序)HvyLinux联盟 9)删掉备10)份目录HvyLinux联盟 11)去掉所有的sgid程序的s权位HvyLinux联盟 12)只保留一些必须的sgid程序。如:passwd,13)su等HvyLinux联盟 14)再次执行一遍find程序,15)看看输出情况HvyLinux联盟 必须用到的一些命令:HvyLinux联盟 find / -type f\( -perm -2000 \) |xargs ls -aHvyLinux联盟 find / -type f\( -perm -2000 \) |xargs chmod -sHvyLinux联盟 HvyLinux联盟 删除一切/etc目录下的组用户可写的文件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 检查/etc目录下所有的组可写文件:HvyLinux联盟 find /etc -type f\( -perm 20 \) | xargs ls -lasHvyLinux联盟 不需要组的可写权限,修改如下:HvyLinux联盟 find /etc -type f\( -perm 20 \) | xargs chmod g-wHvyLinux联盟 HvyLinux联盟 移除/etc目录下一切对用户可写的文件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 检查/etc目录下对用户可写文件:HvyLinux联盟 find /etc -type f\( -perm 2 \) | xargs ls -lasHvyLinux联盟 不需要用户的可写权限,修改如下:HvyLinux联盟 find /etc -type f\( -perm 2 \) | xargs chmod g-wHvyLinux联盟 改变所有文件的rw-rw-rw权限为rw-r-r-HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 首先列出文件:HvyLinux联盟 find / -type f -perm 666 |xargs ls -al > perm-666-before-change.txtHvyLinux联盟 改变权限:HvyLinux联盟 find / -type f -perm 666 |xargs chmod 644HvyLinux联盟 find / -type f -perm 666 |xargs ls -al > perm-666-after-change.txtHvyLinux联盟 改变文件的rwxrwx???HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 首先列出文件:HvyLinux联盟 find / -type f -perm 777 |xargs ls -al > perm-777-before-change.txtHvyLinux联盟 改变权限:HvyLinux联盟 find / -type f -perm 777 |xargs chmod 755HvyLinux联盟 find / -type f -perm 777 |xargs ls -al > perm-777-after-change.txtHvyLinux联盟 找出可写的目录HvyLinux联盟 安全层面:HvyLinux联盟 本地HvyLinux联盟 解决方法:HvyLinux联盟 find / -type d\( -perm 2 \)HvyLinux联盟 改变你所需要的权限设置HvyLinux联盟 HvyLinux联盟 确定所有应用服务的启动脚本的用户属主和用户组是rootHvyLinux联盟 (这些可以影响补丁的程序和出错信息)HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 检查启动脚本的文件属主:HvyLinux联盟 find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-before-change.txtHvyLinux联盟 改变这些文件的文件属主:HvyLinux联盟 find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs chownHvyLinux联盟 root:rootHvyLinux联盟 find /etc -type f -print | grep rc | egrep -v "skel|tty|mail|snmp|Mail" | xargs ls -al > rc-files-after-change.txtHvyLinux联盟 ls -al /etc/ init. d > etc-init.d-before.change.txtHvyLinux联盟 chown root:root /etc/ nit.dHvyLinux联盟 ls -al /etc/init.d > etc-init.d-after-change.txtHvyLinux联盟 经过这样的改变,所有的rcX.d里的脚本的文件属主都为root,所有的/etc/init.d目录里的脚本的文件属主文件组都是root了,为了防止特洛伊木马。HvyLinux联盟 打开cron程序的记账HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 确定/etc/default/cron文件里有如下行:HvyLinux联盟 CRONLOG=YESHvyLinux联盟 检查utmp,utmpx的权限HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 检查/var/adm目录下的文件权限:HvyLinux联盟 find /var/adm -type f\( -perm 2 \) | xargs ls -lasHvyLinux联盟 修改文件:HvyLinux联盟 chmod 644 /var/adm/utmpHvyLinux联盟 寻找没有用户关联的文件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 find / -type f -nouserHvyLinux联盟 如下步骤:HvyLinux联盟 1) find / -type f -nouser > files-nouser-before-changeHvyLinux联盟 2) find / -type f -nouser | xargs chwon nobody:nobodyHvyLinux联盟 3) find / -type f -nouser > files-nouser-after-changeHvyLinux联盟 寻找没有组关联的文件HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 find / -type f -nogroupHvyLinux联盟 如下步骤:HvyLinux联盟 1) find / -type f -nogroup > files-nogroup-before-changeHvyLinux联盟 2) find / -type f -nogroup | xargs chgrp nobodyHvyLinux联盟 3) find / -type f -nogroup > files-nogroup-after-changeHvyLinux联盟 检查/var/cron的权限HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 如果/etc/cron文件的文件属主不是root,组不是sys,修改该文件的权限:HvyLinux联盟 chmod 700 /var/cron && chown root /var/cron && chgrp sys /var/cronHvyLinux联盟 十一,登录和记账HvyLinux联盟 设置cronlogfile的保存空间为2mHvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 修改/etc/cron.d/logchecker如下:HvyLinux联盟 LIMIT=4096HvyLinux联盟 记账所有的inetd服务HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 修改/etc/init.d/inetsvc文件如下:HvyLinux联盟 /usr/sbin/ifconfig -au netmask + broadcast +HvyLinux联盟 /usr/ bin/inetd -s -tHvyLinux联盟 假如你运行了named,dhcpd, multicast,你必须作如上改动HvyLinux联盟 修改syslog.conf文件HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 编辑/etc/syslog.conf文件,让日志进程纪录更多的系统信息。HvyLinux联盟 添加如下行:HvyLinux联盟 *.debug /var/adm/compass.messagesHvyLinux联盟 安装tripwireHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 tripwire是一个特洛伊木马检查程序,他工作在提供的二进制文件的md5码的数据库以及你的配置上,建议每6个小时运行一次tripwire。HvyLinux联盟 IDSHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 建议安装运行snort工具来监测你的网络可能收到的如下攻击:HvyLinux联盟 - cgi-scanHvyLinux联盟 - portscansHvyLinux联盟 - virusHvyLinux联盟 根据你的需要参看/root/config/snort.rules文件。HvyLinux联盟 日志文件观察者(swatch)HvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 建议安装运行swatch工具来监测你的日志文件,你可以在你的系统上启动多个监测进程,例如:HvyLinux联盟 - /var/adm/compass.messagesHvyLinux联盟 - /var /adm/snort_portscan.logHvyLinux联盟 - /opt/AppServer/WebSphere/log/????HvyLinux联盟 Swatch是一个用perl写的工具,所以你必须安装PERL MODULES。HvyLinux联盟 禁止telnet远程管理,用sshHvyLinux联盟 安全层面:远程HvyLinux联盟 解决方法:HvyLinux联盟 安装openssl,openssh的最新版本来代替telnetd,密切关注最新版本的security report。HvyLinux联盟 十二,其他HvyLinux联盟 设置启动标示HvyLinux联盟 安全层面:本地HvyLinux联盟 解决方法:HvyLinux联盟 修改/etc/default/telnetd文件设置启动banner,格式如下:HvyLinux联盟 BANNER=”…..”HvyLinux联盟 创建/etc/issue文件编辑启动信息。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|