教你如何配置安全的SOLARIS系统

1/5/2008来源:Java教程人气:4975


  一、帐号和口令安全策略
  1.1更改口令文件、影像文件、组文件的权限
  /etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r—
  /etc/shadow 只有root可读 –r--------
  /etc/group 必须所有用户都可读,root用户可写 –rw-r—r—
  
  1.2修改不必要的系统帐号
  移去或者锁定那些系统帐号,比如sys、uUCp、nuucp、listen、lp、adm等等,简单的办法是在/etc/shadow的passWord域中放上NP字符。还可以考虑将/etc/passwd文件中的shell域设置成/bin/false
  
  1.3修改口令策略
  修改/etc/default/passwd文件
  MAXWEEKS=4 口令至少每隔4星期更改一次
  MINWEEKS=1 口令至多每隔1星期更改一次
  WARNWEEKS=3 修改口令后第三个星期会收到快要修改口令的信息 PASSLENGTH=6 用户口令长度不少于6个字符
  
  二、用户授权安全策略
  2.1移去组及其它用户对/etc的写权限。
  执行命令#chmod -R go-w /etc
  
  2.2禁止root远程登录
  在/etc/default/login中设置
  CONSOLE=/dev/concle
  
  2.3setuid和setgid非凡权限。
  Setuid是指设置程序的有效执行用户身份(uid)为该文件的属主,而不是调用该程序进程的用户身份。Setgid与之类似。Setuid和setgid用1s -1显示出来为s权限,存在于主人和属组的执行权限的位置上。系统设置非凡权限,使用户执行某些命令时,具有root的执行权限, 命令执行完成, root身份也随之消失。因此非凡权限关系系统的安全,可执行命令#find / -perm -4000 -PRint 寻找系统中具有setuid权限的文件,存为列表文件,定时检查有没有这之外的文件被设置了setuid权限。
  
  2.4审计并日志所有以root身份的登陆情况
  添加或编辑/etc/default/login文件如下:
  SYSLOG= YES
  syslog记录root的登陆失败,成功的情况。
  
  2.5设置远程登陆会话超时时间
  添加或编辑/etc/default/login文件如下:
  TIMEOUT= 300
  
  2.6确定登陆需要密码验证
  添加或编辑/etc/default/login文件如下:
  PASSREQ= YES
  
  2.7 UMASK设置
  umask命令设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入.profile文件,就可控制该用户后续所建文件的存取许可.umask命令与chmod命令的作用正好相反,它告诉系统在创建文件时不给予什么存取许可.
  安装配置完操作系统之后确认root的umask设置是077或者027,执行
  /usr/bin/umask [-S] 确认。
  
  
  2.7.1增加或修改/etc/default/login文件中如下行
  UMASK=027
  
  2.7.2并增加上行到如下的文件中:
  /etc/.login /etc/.profile /etc/skel/local.cshre
  /etc/skel/local.login /etc/skel/local.profile
  
  2.8用户环境配置文件的PATH或者LD_LIBRARY_PATH中移去“.” 。
  从如下的文件中移走”.”,确认root的PATH环境变量设置是安全的,应该只包含/usr/bin:/sbin:/usr/sbin,
  避免当前工作目录.出现在PATH环境变量中,这有助于对抗特洛伊木马。
  #echo $PATH grep ":." 确认
  
  /.login /etc/.login     /etc/default/login  
  /.cshrc /etc/skel/local.profile /etc/skel/local.cshrc
  /.profile /etc/skel/local.login /etc/profile
  
  三、网络与服务安全策略
  3.1关闭不用的服务
  3.1.1在inetd.conf中关闭不用的服务
  首先复制/etc/inet/inetd.conf。 #cp /etc/inet/inetd.conf /etc/inet/inetd.conf.backup
  然后用vi编辑器编辑inetd.conf文件,
  对于需要注释掉的服务在相应行开头标记“#”字符即可。
  
  3.1.2在Services中关闭不用的服务
  首先复制/etc/inet/services。 #cp /etc/inet/services /etc/inet/services.backup
  然后用vi编辑器编辑Services文件,对于需要注释掉的服务在相应行开头标记“#”字符即可。