5.2 IP Forwarding (IP轉發(fā))
a. 關閉IP轉發(fā)
ndd -set /dev/ip ip_forwarding 0
b. 嚴格限定多主宿主機,如果是多宿主機,還可以加上更嚴格的限定防止ip spoof的攻擊
ndd -set /dev/ip ip_strict_dst_multihoming 1
c. 轉發(fā)包廣播由于在轉發(fā)狀態(tài)下默認是允許的,為了防止被用來實施smurf攻擊,關閉這一特性
ndd -set /dev/ip ip_forward_directed_broadcasts 0
5.3 路由
a. 關閉轉發(fā)源路由包
ndd -set /dev/ip ip_forward_src_routed 0
5.4 ICMP:網絡控制信息協(xié)議
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. 禁止發(fā)送重定向錯誤報文
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 連接耗盡攻擊
a. 將核心以連接隊列參數(shù)(默認是128)增大到1024來預防這種攻擊
ndd -set /dev/tcp tcp_conn_req_max_q 1024
5.8 防止IP 欺騙
對于solaris系統(tǒng)Tcp協(xié)議實現(xiàn)的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重起系統(tǒng)生效。
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. 要注意的是,不要隨便定義私有端口,因為有些非根權限的進程會使用這些端口。特別是改變最小非私有端口這個參數(shù),
經常會引起問題。應仔細分析你的需求再用擴展私有端口定義的方式單獨增加。
f. ndd /dev/tcp tcp_extra_priv_ports 執(zhí)行結果(某系統(tǒng))
2049
4045
9010
一共定義了3個私有端口
5.10 其他內核參數(shù)的調整
a. – Enable stack protection 直譯為允許堆棧保護,應該使防止緩沖區(qū)溢出攻擊
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. 保護文件系統(tǒng)
? 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/{telnetd,ftpd}
– EEPROM
– GUI Login
9. 加強系統(tǒng)的訪問控制
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. 創(chuàng)建/etc/ftpusers
在該文件中未指定的用戶才能使用ftp服務
9.4. 禁止.rhosts支持
a. 刪除系統(tǒng)中的.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
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.