上帝說當你的一扇門被關了,會幫你打開另一扇窗。於是我關起房門,打開了 ITHome 鐵人賽 30 天。。。恩!似乎沒辦法體會這種感覺~
今天要來彙整的資料,CEH 的教科書裡面沒有唷~直接附上連結!(點我彈出)
很多書本中提到的情節,並沒有特別介紹防守型的工具(至少看到第十一章都是攻擊工具居多),所以努力找了一下,有善心人士都會分享一些有幫助的 check list 供大家參閱~獨樂樂不如眾樂樂,他山之石可以攻錯,互相學習就會越來越厲害了。讓我們看一下筆者看得懂的精華吧~
作者T 的開頭就寫得非常好,強化通常是指藉由消減脆弱的部分來保護系統(單純目的性的程式也容易比多功能的程式安全)。筆者很快就推薦了一個可愛的小工具來協助工具人,不是,我是說工程師快速建置安全環境~這個小工具就是 OpenSCAP。這是一個系統稽核小工具,幫助大家檢查自己系統的設定,除了傳統的OS,container也有支援!而且是個開源軟體,有NIST認證!不過很遺憾,筆者自己也沒有機會玩過,等日後玩到了再補幾篇分享~
接著 作者T 根據系統的重要性程度分享了自己配置的方式,讓我們一起看看重要程度超過 Medium 的項目吧~
/var
在不同的 Partition/var/log
和 /var/log/audit
放在不同的 Partition/tmp
和 /var/tmp
放在不同的 Partition這樣的做法筆者猜測,是為了避免空間不夠的時候,重要的資料如 audit.log 就無法紀錄!
systemctl enable rsyslog
systemctl start rsyslog
authconfig --passalgo=sha512 \
--passminlen=14 \
--passminclass=4 \
--passmaxrepeat=2 \
--passmaxclassrepeat=2 \
--enablereqlower \
--enablerequpper \
--enablereqdigit \
--enablereqother \
--update
# 直接編輯 /etc/login.defs
PASS_MIN_LEN 14
PASS_MIN_DAYS 1
PASS_MAX_DAYS 60
PASS_WARN_AGE 14
# 編輯 /etc/pam.d/system-auth & /etc/pam.d/password-auth
# Add the following line immediately before the pam_unix.so statement in the AUTH section:
auth required pam_faillock.so preauth silent deny=3 unlock_time=never fail_interval=900
# Add the following line immediately after the pam_unix.so statement in the AUTH section:
auth [default=die] pam_faillock.so authfail deny=3 unlock_time=never fail_interval=900
# Add the following line immediately before the pam_unix.so statement in the ACCOUNT section:
account required pam_faillock.so
# 啟用 TCP SYN Cookie protection
# 這個功能是為了抵禦 SYN Flood 的 DOS 攻擊,當對方傳來 SYN 時,伺服器不會先開不會預先開一個
# 專門的數據區等待對方的 ACK,而是丟出一個臨時算出來的 Cookie,如果對方是真的要連接,就會回傳
# Cookie。不過這個功能對於有大量請求的服務較不建議,使用者可以更改 tcp_max_syn_backlog
# tcp_synack_retries 和 tcp_abort_on_overflow 代替
echo "net.ipv4.tcp_syncookies = 1" > /etc/sysctl.d/50-net-stack.conf
# 關閉 IP source routing
# 不處理沒有來源的封包
echo "net.ipv4.conf.all.accept_source_route = 0" > /etc/sysctl.d/50-net-stack.conf
# 關閉 ICMP redirect acceptance
# 避免被攻擊者以捏造的 ICMP redirect 改變 主機的 routing table (ICMP 容易被偽造)
echo "net.ipv4.conf.all.accept_redirects = 0" > /etc/sysctl.d/50-net-stack.conf
# 啟用 ignoring to ICMP requests
echo "net.ipv4.icmp_echo_ignore_all = 1" > /etc/sysctl.d/50-net-stack.conf
# 啟用 ignoring broadcasts request
echo "net.ipv4.icmp_echo_ignore_broadcasts = 1" > /etc/sysctl.d/50-net-stack.conf
稍微觀察完 作者T 的分項,其實真的有有滿多東西需要設定的,不過真的很難全面防護,做中學、看著其他人的分享,慢慢的讓系統變得更安全~大家一起勉勵~今天的文章也到這邊要告一段落,明天會進入有趣的病毒部分,跟各位分享書中提到的奇怪蟲蟲,網路上資源也很豐富~希望大家小小期待一下~哈哈!先這樣啦~我們明天見!
參考文件
https://www.teimouri.net/what-is-openscap/
https://wiki.ubuntu.com/ImprovedNetworking/KernelSecuritySettings
https://askubuntu.com/questions/118273/what-are-icmp-redirects-and-should-they-be-blocked