iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
0
Security

CEH 門檻只屬於自己的臆測系列 第 8

Day 08 - [系統攻擊] 防身小撇步

Day 08 - [系統攻擊] 防身小撇步

上帝說當你的一扇門被關了,會幫你打開另一扇窗。於是我關起房門,打開了 ITHome 鐵人賽 30 天。。。恩!似乎沒辦法體會這種感覺~

今天要來彙整的資料,CEH 的教科書裡面沒有唷~直接附上連結!(點我彈出)

很多書本中提到的情節,並沒有特別介紹防守型的工具(至少看到第十一章都是攻擊工具居多),所以努力找了一下,有善心人士都會分享一些有幫助的 check list 供大家參閱~獨樂樂不如眾樂樂,他山之石可以攻錯,互相學習就會越來越厲害了。讓我們看一下筆者看得懂的精華吧~

作者T 的開頭就寫得非常好,強化通常是指藉由消減脆弱的部分來保護系統(單純目的性的程式也容易比多功能的程式安全)。筆者很快就推薦了一個可愛的小工具來協助工具人,不是,我是說工程師快速建置安全環境~這個小工具就是 OpenSCAP。這是一個系統稽核小工具,幫助大家檢查自己系統的設定,除了傳統的OS,container也有支援!而且是個開源軟體,有NIST認證!不過很遺憾,筆者自己也沒有機會玩過,等日後玩到了再補幾篇分享~

接著 作者T 根據系統的重要性程度分享了自己配置的方式,讓我們一起看看重要程度超過 Medium 的項目吧~

Separate partitions

  • [注意] 確保 /var 在不同的 Partition
  • [重要] 確保 /var/log/var/log/audit 放在不同的 Partition
  • [重要] 確保 /tmp/var/tmp 放在不同的 Partition

這樣的做法筆者猜測,是為了避免空間不夠的時候,重要的資料如 audit.log 就無法紀錄!

Logging

  • [重要] 乖乖打開 syslog
  • [重要] 並將 syslog 傳到外頭的 Server

Rsyslog

systemctl enable rsyslog
systemctl start  rsyslog

Password

  • [重要] 這定密碼的 Policy

指令方式 --> authconfig 設定

    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

Logon Access

  • [重要] 限制嘗試登入次數
    # 編輯 /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

Network

    # 啟用 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


上一篇
Day 07 - [系統攻擊] 偷吃擦嘴
下一篇
Day 09 - [病毒攻擊] 木馬 那些年我以為是童話
系列文
CEH 門檻只屬於自己的臆測16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言