solaris 9 一般安全设置

solaris 9 一般安全设置 - 网络安全 - 电脑教程网

solaris 9 一般安全设置

日期:2006-11-16   荐:
1. 选择合适的安装。

只安装需要的软件包。
本例为solaris9

2. 安装系统补丁

从sunsolve.sun.com下载补丁
unzip 9_Recommended.zip
cd 9_Recommended
./install_cluster

3. 最小化启动服务

a. 禁止不需要启动的服务。一般情况下服务都可禁止启动
 
  a.1 S01MOUNTFSYS
    Mount all local filesystems ,不能禁止
  a.2 S05RMTMPFILES
    删除临时文件 需要启动
  a.3 S20sysetup
    系统设置   需要启动
  a.4 S21perf
    全部被注释掉了 。。。。。。
  a.5 S30sysid.net
    网络设置   需要启动
  a.6 S40llc2
    LLC2协议支持 需要启动
  a.7  S42ncakmod 
    ncakmod is used to start or stop the Solaris Network Cache
     and Accelerator ("NCA") kernel module   需要启动
  a.8 S47pppd
    ppp支持    不需要启动
    执行:mv S47pppd _S47pppd
  a.9 S69inet
    tcp/ip的配置  需要启动
  a.10  S70sckm
    Sun fire 15000 Key Management Daemon  不需要启动
    执行:mv S70sckm _S70sckm
  a.11 S70uUCp
    Unix-to-Unix Copy            不需要
    mv S70uucp _S70uucp
  a.12 S71ldap.client
    - 启动LDAP客户端            不需要
    mv S71ldap.client _S71ldap.client
  a.13 S71rpc
    S71rpc + 启动rpcbind服务 rpcbind (RPC Portmap服务),如果需要CDE的话,这个进程是必需的 需要启动
  a.14 S71sysid.sys
    配置系统参数              需要
  a.15 S72autoinstall
    当放入sun兼容的媒体介质时,会自动启动安装脚本 不需要
    mv S72autoinstall _S72autoinstall
  a.16 S72Directory
    目录服务                不需要
    mv S72directory _S72directory
  a.17 S72inetsvc
    启动inet server,包含named/nis 如果不需要 named和nis服务,可以禁用  不需要
    mv S72inetsvc _S72inetsvc
  a.18 S72slpd
    打印服务                不需要
    mv S72slpd _S72slpd
     打印服务
    
  a.19 S73cachefs.daemon
    NFS缓存服务,可以提高NFS吞吐率     不需要
    mv S73cachefs.daemon _S73cachefs.daemon
  a.20 S73mpsadm
    cluster 服务管理进程?         不需要
    mv S73mpsadm _S73mpsadm
  a.21 S73nfs.client
     nfs客户端               不需要
     mv S73nfs.client _S73nfs.client
  a.22 S74autofs
     当使用NFS时,这个进程会自动加载或卸载无用的用户网络文件系统
     配置文件/etc/auto_home和auto_master
     但是当没有使用nfs时,这个进程会对系统管理造成一些负面影响       不需要
     mv S74autofs _S74autofs
  a.23 S74syslog
     系统日志服务进程         需要
  a.24 S74xntpd
     网络时间同步服务         不需要
     mv S74xntpd _S74xntpd
  a.25 S75cron
     自动执行脚本服务         需要
  a.26 S75flashprom
     看起来象一个flash更新脚本     需要
  a.27 S75savecore
     核心内存转储脚本         需要
  a.28 S76nscd
     DNS名字缓存服务          不需要
     mv S76nscd _S76nscd
  a.29 S77sf880dr
     针对V880机器的一个脚本      不需要

[1] [2] [3] [4] [5]  

     mv S77sf880dr _S77sf880dr
  a.30 S80lp
     打印服务             不需要
     mv S80lp _S80lp
  a.31 S80spc
     还是打印服务           不需要
     mv S80spc _S80spc
  a.32 S85power
     电源管理             需要
  a.33 S88sendmail            
     邮件服务             不需要
     mv S88sendmail _S88sendmail
  a.34 S88utmpd
     The utmpd daemon monitors the /var/adm/utmpx file
     与帐号信息控制有关 ;   守护程序在规则的时间间隔内监控 /etc/utmp 文件以获得用户进程项的有效性。根据进程表
     交叉校验该项的进程标识来除去/etc/utmp 文件中已终止的但未清除的用户进程。     需要
  a.35 S89PRESERVE
     不知所云             需要
  a.36 S90loc.ja.Cssd
     看了脚本,不知到CS干吗      需要吧
  a.37 S90wbem
     WBEM,Solaris系统管理界面服务器,可以使用/usr/sadm/bin/smc
     启动客户端程序连接管理      不需要
     mv S90wbem _S90wbem
  a.38 S91afbinit S91gfbinit  S91ifbinit  S91jfbinit
     For systems with Elite3D Graphics 没有显卡的基本就不要了  不需要
     mv S91afbinit _S91afbinit
     mv S91gfbinit _S91gfbinit
     mv S91ifbinit _S91ifbinit
     mv S91jfbinit _S91jfbinit
  a.39 S91zuluinit
     Find out how many zulu cards are installed on the system 不需要
     mv S91zuluinit _S91zuluinit
     
  a.40 S93cacheos.finish
     cache文件系统       不需要
     mv S93cacheos.finish _S93cacheos.finish
  a.41 S94Wnn6
     日文输入系统        不需要
     mv S94Wnn6 _S94Wnn6
  a.42 S94ncalogd
     NCA进程日志        不需要
     mv S94ncalogd _S94ncalogd
  a.43 S95IIim
     启动输入法守护进程 Solaris国际化支持的一部分,启动东亚语言输入法  需要
  a.44 S95svm.sync
     devfsadm ,devfs同步进程 监控系统硬件,使/dev与/devices设备文件同步 需要
  a.45 S98efcode
     embedded FCode interpreter daemon, efdaemon is used on selected platforms as part of the processing of some
     dynamic reconfiguration events 不知道干吗的,      只好让他运行了
  a.46 S99atsv
     可能是支持日文的,机器上没装,     不需要
  a.47  S99audit
     审计进程                需要
  a.48 S99dtlogin
     启动CDE登录进程 Solaris CDE图形界面启动进程  需要
  a.49 S99rcapd
     跟资源回收有关的               需要
    
  rc3.d下面的
  a.50 S13kdc.master  S14kdc
     Kdc服务                    不需要
     mv S13kdc.master  _S13kdc.master
     mv S14kdc  _S14kdc
  a.51 S15nfs.server
     nfs服务                   不需要
     mv S15nfs.server _S15nfs.server
  a.52 S16boot.server
     远程启动服务                不需要
     mv S16boot.server _S16boot.server
  a.53 S34dhcp
     dhcp服务                  不需要  
     mv S34dhcp _S34dhcp
  a.54 S50apache
     http服务                  不需要

 [1] [2] [3] [4] [5]  

     mv S50apache _S50apache
  a.55 S50san_driverchk
     San驱动检查?        机器上没装   不需要
     mv S50san_driverchk _S50san_driverchk
  a.56 S76snmpdx
     启动snmp服务                不需要  
     mv S76snmpdx _S76snmpdx
  a.57 S77dmi
     snmp的子服务                不需要
     mv S77dmi _S77dmi
  a.58 S80mipagent
     启动Mobile IP 代理             不需要
     mv S80mipagent _S80mipagent
  a.59 S81volmgt
     软盘光驱的卷管理               需要
  a.60 S84appserv
     Sun one server的东东             不需要
     mv S84appserv _S84appserv
  a.61 S89sshd
                           需要
  a.62 S90samba                       
     需要挂载windows文件系统才需要        不需要
     mv S90samba _S90samba
  a.63 S86directorysnmp
     跟Sun Directory目录服务有关         不需要
     mv S86directorysnmp _S86directorysnmp     
  a.64 S99JESsplash
     不知道干吗                  不需要
     mv S99JESsplash _S99JESsplash
    

  
    
    

  
  
  
    

b. 与a相关的配置文件也可去除,使系统更加易于审计

4. 关闭inetd服务

a. ssh作为telnet和FTP来说更安全。
b. ssh作为启动服务并一直运行的时候,再将inetd服务器完全关闭。
c. 必须运行inetd服务的时候一定需要:
  a.1. 只在inetd.conf里面保留需要服务的表项。
  a.2. 对保留使用的inetd服务表项使用tcp wrappers (tcpd进程)。
  a.3. 使用inetd -t 参数记录扩展的日志信息。
  
5. 调整内核

5.1 减少arp过期时间
   ndd -set /dev/arp arp_cleanup_interval 60000
   //ndd -set /dev/ip ip_ire_flush_interval 60000// solaris9 已经没有这个参数
  
5.2 IP Forwarding (IP转发)

   a. 关闭IP转发
    ndd -set /dev/ip ip_forwarding 0
   b. 严格限定多主宿主机,如果是多宿主机,还可以加上更严格的限定防止ip spoof的攻击
    ndd -set /dev/ip ip_strict_dst_multihoming 1
   c. 转发包广播由于在转发状态下默认是允许的,为了防止被用来实施smurf攻击,关闭这一特性
    ndd -set /dev/ip ip_forward_directed_broadcasts 0
5.3 路由

   a. 关闭转发源路由包
    ndd -set /dev/ip ip_forward_src_routed 0
5.4 ICMP:网络控制信息协议
   a. 禁止响应Echo广播:
    ndd -set /dev/ip ip_respond_to_echo_broadcast 0
   b. 禁止响应时间戳广播
    ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
   c. 禁止响应地址掩码广播
    ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0

5.5 重定向错误
   a. 禁止接受重定向错误
    ndd -set /dev/ip ip_ignore_redirect 1
   b. 禁止发送重定向错误报文
    ndd -set /dev/ip ip_send_redirects 0
   c. 禁止时间戳响应
    ndd -set /dev/ip ip_respond_to_timestamp 0

5.6 SYN_flood攻击又称半开式连接攻击,
   a. 将默认的队列值从1024提高到4096来降低受到攻击时的危害
    ndd -set /dev/tcp tcp_conn_req_max_q0 4096

5.7 连接耗尽攻击

 [1] [2] [3] [4] [5]  

   a. 将核心以连接队列参数(默认是128)增大到1024来预防这种攻击
    ndd -set /dev/tcp tcp_conn_req_max_q 1024

5.8 防止IP 欺骗

   对于solaris系统Tcp协议实现的ISN生成有三种方式。 
   0: 可预测的ISN
   1: 增强的ISN 随机生成
   2: RFC 1948描述的ISN生成方式
   所有版本的solaris默认生成方式值是1。2.5.1只有 0,1两种方式,2.6/7拥有0,1,2三种ISN生成方式。

   修改/etc/default/inetinit文件来提高ISN的生成强度。将 TCP_STRONG_ISS=1改为 TCP_STRONG_ISS=2重起系统生效。

5.9 增加私有端口
   一般的情况下,1-1024端口被称为私有端口,只允许具有根权限的进程连接。但是有些大于1 024的端口,即使需要这样的限制,
   却无法定义,如NFS的服务器端口2049,当然还有一些其他定义的高于1024的私有端口。
  
   a. 自定义最小的非私有端口
    ndd -set /dev/tcp tcp_smallest_nonpriv_port 2050
    这样以来,0-2049都被定义为私有端口。
   b. 用来显示已经定义的扩展私有端口
    ndd /dev/tcp tcp_extra_priv_ports
   c. 单独增加一个私有端口定义
    ndd -set /dev/tcp tcp_extra_priv_ports_add 6112
   d. 删除私有端口定义
    ndd -set /dev/tcp tcp_extra_priv_ports_del 6112
   e. 要注意的是,不要随便定义私有端口,因为有些非根权限的进程会使用这些端口。特别是改变最小非私有端口这个参数,
    经常会引起问题。应仔细分析你的需求再用扩展私有端口定义的方式单独增加。
   f. ndd /dev/tcp tcp_extra_priv_ports 执行结果(某系统)
    2049
    4045
    9010
    一共定义了3个私有端口
5.10 其他内核参数的调整
   a. – Enable stack protection 直译为允许堆栈保护,应该使防止缓冲区溢出攻击
   You should definitely add the following two lines to your /etc/system file:
   set noexec_user_stack = 1
   set noexec_user_stack_log = 1
   b. – Prevent core dumps    避免核心内存转储
     coreadm -d process
   c. – Set limits on processes
   
6. 增强日志记录

Definitely tweak syslog.conf to capture
auth.info and daemon.notice msgs
? Create /var/adm/loginlog
? Additional levels of logging:
– System accounting (sar and friends)
– Process accounting
– Kernel level auditing (BSM)

7. 保护文件系统

? File systems should either be mounted
"nosuid" or "ro" (read-only)
? Set "logging" option on root file system
if you're running Solaris 8 or later
? Don't forget removable media devices:
– Turn off vold if possible
– Make sure rmmount.conf sets "nosuid"

8. 设置警告信息

两个文件 /etc/motd ;/etc/issue
– /etc/default/
– EEPROM
– GUI Login

9. 加强系统的访问控制

9.1. 只允许root从console登陆
   CONSOLE=/dev/console is set in /etc/default/login
   sshd_config 里面设置 PermitRootLogin no
9.2. 禁止或删除不用的帐号
   对不需要登陆的帐号,可将/etc/passwd文件中的shell选项修改为/bin/false 或者/dev/null
   
9.3. 创建/etc/ftpusers
   在该文件中未指定的用户才能使用ftp服务
9.4. 禁止.rhosts支持
   a. 删除系统中的.rhosts文件
   b. 使用ssh的情况下,保证sshd_config文件中("IgnoreRhosts yes")
   c. /etc/pam_conf and remove any lines containing rhosts_auth, even if you've disabled rlogin/rcp.
9.5. 限制对cron和at的访问
   cron.allow and at.allow列出有权运行提交修改cron和at任务的用户
9.6. 设置eeprom到安全模式
   Setting "eeprom security-mode=command" will cause the machine to prompt for a passWord

 [1] [2] [3] [4] [5]  

   before boot-level commands are accepted. This prevents attackers with physical Access from booting from
   alternate media (like a CD-ROM) and bypassing your system security.
9.7. 限制xdmcp,设置锁定屏幕的屏保
   If you're running X Windows on the machine, make sure to disable remote XDMCP access in
   /etc/dt/config/Xaccess. You may also want to set a default locking screensaver timeout for your
   users in /etc/dt/config/*/sys.resources.
   
10. 安装安全工具

10.1 至少的安全工具

   
   – SSH
   – TCP Wrappers
   – NTP
   – fix-modes
10.2 增强工具
   – Tripwire, AIDE, etc.
   – Logsentry (formerly Logcheck) or Swatch
   – Host-based firewall, Portsentry, etc.

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] 

   – Tripwire, AIDE, etc.
   – Logsentry (formerly Logcheck) or Swatch
   – Host-based firewall, Portsentry, etc.

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] [6] 

   /etc/dt/config/Xaccess. You may also want to set a default locking screensaver timeout for your
   users in /etc/dt/config/*/sys.resources.
   
10. 安装安全工具

10.1 至少的安全工具

   
   – SSH
   – TCP Wrappers
   – NTP
   – fix-modes
10.2 增强工具
   – Tripwire, AIDE, etc.
   – Logsentry (formerly Logcheck) or Swatch
   – Host-based firewall, Portsentry, etc.

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] [6] [7] 

标签: