iptables 是乙個linux核心提供的,執行在使用者空間的程式,它允許使用者配置自己的防火牆策略。我們可以使用防火牆將不必要的流量過濾出去。使用 iptables 能夠避免很多拒絕服務(dos)攻擊。
#12、核心配置檔案優化(/etc/sysctl.conf)。
# turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1
# enable ip spoofing protection
net.ipv4.conf.all.rp_filter=1
# disable ip source routing
net.ipv4.conf.all.accept_source_route=0
# ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
# make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1
#13、合理安排磁碟分割槽。
將不同的系統檔案分配到不同的磁碟分割槽上有助於構建乙個安全的系統,確保下面這些檔案目錄都被掛在到單獨的磁碟分割槽上。
/usr
/home
/var、/var/tmp
/tmp
為apache和ftp服務的根目錄建立單獨的分割槽,檢查 /etc/fstab 檔案確保增加了以下配置
noexec:該分割槽不允許執行任何二進位制檔案(但是允許指令碼執行)。
nodev:該分割槽不允許字元裝置或特殊裝置。
nosuid:該分割槽不允許設定suid/sgid。
下面的例子限制使用者進入到 /dev/sda5 中。
/dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2
#13.1、磁碟配額。
確保對所有使用者都啟用了磁碟配額限制,實現磁碟配額的具體步驟可以檢視
這裡。#14、關閉ipv6。
ipv6提供替代ipv4的新的tcp/ip協議,但是目前還沒有太好的工具來檢查ipv6網路的安全性。大多數linux發行版開始預設使用ipv6協議。而黑客可以利用ipv6網路來傳送一些管理員無法監測的內容,除非是網路配置需要,否則禁止使用ipv6。
#15、禁用不需要的suid和sgid二進位制。
所有啟用了suid和sgid位的二進位制檔案可能會造成系統的安全問題或者bug,從而讓所有本地或遠端的使用者使用這些檔案。下面的命令可以找到這些檔案
#see all set user id files:
find / -perm +4000
#see all group id files:
find / -perm +2000
#或者一起查詢
find / \(-perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls
#15.1、world-writable檔案。
因為安全原因,所有人都可以修改world-writable檔案,使用下面的命令可以找到所有此類檔案。
# find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
#15.2、無屬主檔案。
如果乙個檔案沒有任何的使用者或者組許可權,那麼可能會造成安全問題,使用下面的問題來找到此類檔案,並進行後續的修復。
# find /dir -xdev \( -nouser -o -nogroup \) -print
#16、使用集中的授權服務。
如果沒有集中的授權認證系統,使用者的許可權資料將會變得不完成,從而導致一些過期的口令或者不用的使用者一直保留下來。集中地授權認證服務允許我們控制linux/unix使用者和授權資料,不要使用 nis 服務,
openldap是乙個很好的選擇。
#17、日誌和審計。
為了收集黑客攻擊行為,我們需要配置系統的日誌和審計功能。預設情況下,syslog在 /var/log 目錄下記錄資料。這些資料也能幫助我們發現那些容易導致系統遭受攻擊的錯誤配置,可以參考
#17.1、使用logwatch 或 logcheck 監控可疑的日誌資訊。
使用 logwatch 或者
logchek 讀取日誌檔案,這些工具改善了閱讀日誌檔案的體驗。他們會將結果以郵件的形式進行報告,而我們只需要檢查日誌中的不常見專案就可以了。
#17.2、使用 auditd 服務。
auditd是系統提供的審計服務,負責將審計資料記錄到磁碟中。在伺服器啟動期間,/et/audit/audit.rules的規則會被應用。我們修改配置檔案來定義日誌存放位置以及其他的選項。使用這個服務可以解決以下問題:
1、系統啟動和關閉時間(reboot/halt)
2、事件的日期和時間
3、事件使用者
4、事件型別
5、事件是否成功
6、記錄事件發生變化的日期和時間
7、找出修改系統網路配置的賬戶
8、記錄修改使用者/使用者組資訊的事件
9、記錄檔案修改資訊
具體可以檢視
#18、加固 openssh 伺服器。
ssh協議經常用來進行遠端登入和檔案傳輸,同時ssh也是暴露在外的,使用
以下方法可以對openssh伺服器進行加固。
#19、安裝和使用入侵檢測系統。
網路入侵檢測系統可以檢測到惡意的活動或者拒絕服務共計、埠掃瞄等類似的黑客行為。最好在系統上線前能夠部署一套類似的系統,如果可能在系統接入網路前就安裝配置好。
aide就是乙個非常好的例子。
snort也可以用來做實時的網路流量分析和入侵檢測。
#20、保護檔案、目錄和郵件。
linux系統提供了非常好的非授權的資料訪問保護機制。檔案許可權和mac確保資料不會被未授權的使用者訪問。但是,如果黑客具有物理的訪問途徑,那他還是能夠很容易通過其他方式訪問磁碟上的資料。我們可以使用將檔案進行加密、使用密碼、加密資料夾等方式來保護我們的重要資料。
20個Linux伺服器安全強化建議(一)
linux伺服器安全對於保護使用者資料 智財權非常重要,同時還能減少你面對黑客的時間。在工作中,通常由系統管理員對linux的安全負責,在這篇文章中,介紹了20條對linux系統進行強化的建議。本文所有的建議都基於centos rhel系統或者ubuntu debian的發行版本。1 加密資料通訊方...
20個Linux伺服器安全強化建議(二)
接上文,繼續介紹一些linux伺服器的安全配置。6 強密碼策略。當我們使用 useradd usermod 命令建立或維護使用者賬號時,確保始終應用強密碼策略。例如,乙個好的密碼至少包括8個字元,包含了字母 數字以及特殊字串 大小寫等。使用諸如 john the ripper 這樣的工具來查詢弱口令...
20個Linux伺服器安全強化建議(二)
接上文,繼續介紹一些linux伺服器的安全配置。6 強密碼策略。當我們使用 useradd usermod 命令建立或維護使用者賬號時,確保始終應用強密碼策略。例如,乙個好的密碼至少包括8個字元,包含了字母 數字以及特殊字串 大小寫等。使用諸如 john the ripper 這樣的工具來查詢弱口令...