


深入分析Linux 系統深度安全加固
Linux 的系統安全不容忽視.然而系統加固又不是一件很容易的事.本文作者簡單介紹了一下 Linux 系統深度安全加固.
★ Linux 系統深度安全加固
1. 安裝和升級
盡量選用最新的 Linux 發行版本,安裝前拔掉網線,斷開物理連接,安裝時建議用 custom 自定義方式安裝軟件包,數量以少為好,一般來說服務器沒有必要安裝 X-windows,在 lilo/grub 引導器中加入口令限制,防止能夠物理接觸的惡意用戶因為 Linux 安裝光盤的 rescue 模式可以跳過這個限制,所以還要給bios加上密碼或服務器機箱上鎖 /var, /home, /usr, /root 等目錄用獨立的物理分區,防止垃圾數據和日志填滿硬盤而導致 D.o.S 攻擊.
root 賬號給予強壯的口令.
安裝完畢立即用 up2date 或 apt 升級系統軟件,有時升級內核也是必要的,因為內核出現問題同樣會給攻擊者提供機會Apt 是 Debian GNU Linux 下的一個強大的包管理工具,也可用于其他版本的 Linux.
2. 賬號
如果系統中的用戶比較多,可以編輯 /etc/login.defs,更改密碼策略
刪除系統中不必要帳戶和組,
[root@ayazero /]# userdel -r username
如果不開匿名 ftp 則可以把 ftp 賬號也刪了
最安全的方式是本地維護,可惜不太現實,但還是需要限制 root 的遠程訪問,管理員可以用普通賬戶遠程登錄,然后 su 到 root,我們可以把使用 su 的用戶加到 wheel 組來提高安全性
在 /etc/pam.d/su 文件的頭部加入下面兩行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
然后把可以執行 su 的用戶放入 wheel 組
[root@ayazero /]# usermod -G10 admin
編輯 /etc/securetty,注釋掉所有允許 root 遠程登錄的控制臺,然后禁止使用所有的控制臺程序,[root@ayazero /]# rm -f /etc/security/console.apps/servicename
登錄采用加密的 ssh,如果管理員只從固定的終端登陸,還應限制合法 ssh 客戶端的范圍防止嗅探及中間人攻擊
將命令歷史紀錄歸為零,盡可能的隱藏你做過的事情
[root@ayazero /]# unset HISTFILESIZE
3. 服務
最少服務原則,凡是不需要的服務一律注釋掉
在 /etc/inetd.conf 中不需要的服務前加 "#",較高版本中已經沒有 inetd 而換成了 Xinetd;取消開機自動運行服務,把 /etc/rc.d/rc3.d 下不需要運行的服務第一個字母大寫改稱小寫,或者由 setup 命令啟動的 GUI 界面中的 service 更改
如果你希望簡單一點,可以使用 /etc/host.allow,/etc/host.deny 這兩個文件,但是本文計劃用 iptables 防火墻,所以不在此詳述.
4. 文件系統權限
找出系統中所有含 "s" 位的程序,把不必要得 "s" 位去掉,或者把根本不用的直接刪除
[root@ayazero /]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {}
[root@ayazero /]# chmod a-s filename
防止用戶濫用及提升權限的可能性
把重要文件加上不可改變屬性
[root@ayazero /]# chattr +i /etc/passwd
[root@ayazero /]# chattr +i /etc/shadow
[root@ayazero /]# chattr +i /etc/gshadow
[root@ayazero /]# chattr +i /etc/group
[root@ayazero /]# chattr +i /etc/inetd.conf
[root@ayazero /]# chattr +i /etc/httpd.conf
...............................
具體視需要而定,我懷疑現在的入侵者都知道這個命令,有些 exploit 溢出后往 inetd.conf 寫一條語句綁定 shell 在一個端口監聽,此時這條命令就起了作用,淺薄的入侵者會以為溢出不成功.
找出系統中沒有屬主的文件:
[root@ayazero /]# find / -nouser -o -nogroup
找出任何人都有寫權限的文件和目錄:
[root@ayazero /]# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg {}
[root@ayazero /]# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg {}
防止入侵者向其中寫入木馬語句(諸如一個shell的拷貝)或繼承屬主權限而非法訪問
找出并加固那些歷來被入侵者利用的文件,比如 .rhosts
編輯 /etc/security/limits.conf,加入或改變如下行:
* hard core 0
* hard rss 5000
* hard nproc 20
5. Banner 偽裝
入侵者通常通過操作系統,服務及應用程序版本來攻擊,漏洞列表和攻擊程序也是按此來分類,所以我們有必要作點手腳來加大入侵的難度
更改 /etc/issue,因為 reboot 后重新加載,所以編輯 /ect/rc.d/rc.local
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
#echo "" > /etc/issue
#echo "$R" >> /etc
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解