伺服器建置實務上課補充教材


unit 06:基礎的系統防護處理
  1. 一個封包要進入本機基本上需要通過如下圖示的相關流程才行:
    1. 先要通過 TCP/IP 的相關規範才能夠連線到本機的網路門口
    2. 要先通過防火牆的規則管制,才可以進入到本機使用本機的服務
    3. 能否取得服務與這個服務是否啟用與相關設定有關 (發生問題可以查登錄檔)
    4. 能否實際存取資料,首先要看有沒有啟動 SELinux 這個細部權限設定項目?目前建議直接取消此項工作。
    5. 全部都放行後,最後能不能存取資料,還是跟資料檔案的權限 (rwx) 有關!
    6. 練習:請讓 SELinux 成為 Permissive 的階段。
      • 使用 getenforce 觀察 SELinux 模式,你應該是需要在 permissive 而不是 enforcing 才對。
      • 使用 vim /etc/selinux/config 去處理,將 Enforcing 改成 permissive
      • 你應該要 reboot 讓系統設定值生效才對!
      • 再次登入後,使用 getenforce 看看模式為何!
  2. 防火牆有沒有用?軟體升級有沒有用?
    1. 防火牆對於一般正常的服務,是沒有保護效果的
      從前一個項目的圖示來看,如果你是 WWW 伺服器,那一定就是要放行 port 80,因此,若 port 80 出問題,那你的防火牆當然一點用處也沒有。
    2. 如果是限制某些來源的登入,那防火牆是一定需要的保護:
      如果你的服務中,例如 ssh 的服務,僅放行給部份的來源 IP 位址,則此時防火牆保護危險的服務,就很有用處了!
    3. 升級軟體才是王道:
      一般來說,軟體如果沒有問題,或沒有加入新功能,是不會隨意升級的。因此,如果官網有公告最新的軟體升級資訊, 當然最好就是一定要升級到最新!至少能夠預防一大堆可能的系統漏洞
  3. 伺服器本機的防護:升級到官方最新的軟體版本
    1. 找到最近的官網 mirror 網站,崑山校內最簡單的就是 http://ftp.ksu.edu.tw 這個網站了!
    2. 修改 /etc/yum.repos.d/ 這個目錄,可以的話,只加上 base 及 updates 這兩個就好,其他的沒用到暫時不用也無所謂。
    3. 使用 yum -y update 自動進行全系統升級
    4. 若有升級到核心或重要的函式庫,最好重新開機,才能使用到最新的核心與函式庫功能。
    5. 很多時候,你可以編輯 /etc/crontab 透過『分 時 日 月 周 用戶 指令』來定期循環操作某些系統維護的功能喔!
    6. 練習:
      • 修改 /etc/yum.repos.d/*.repo 檔案,讓系統支援崑山校內的 CentOS 7 來源
      • 建立一隻每天 2 點會執行的腳本,該腳本會每天持續更新系統
  4. 伺服器本機的防護:減少網路服務
    1. 如果對方想要連接到你的 port 80,但是你的 port 80 根本就沒有啟用埠口在監聽,那麼對方無論如何是無法連接到你的服務的! 所以減少網路服務是很重要的!
    2. 可使用 netstat -utlnp 來查詢自己本機所啟動的服務
    3. 你可以使用『 systemctl [stop|disable] 服務 』來關閉不必要的網路服務 (正常服務不要隨便亂關!)
    4. 練習:
      • 先用 netstat 檢查一下本機有啟動的網路埠口共有哪些?
      • 先自己分析一下,哪些是需要的埠口?哪些是不需要的埠口?
      • 透過 systemctl 關閉不要的埠口,且下次開機,這些埠口也不會啟用!
  5. 綜合練習:
    1. 讓 SELinux 永遠在 permissive 的模式下
    2. 讓系統關閉到剩下 port 22 以及 port 25 ,其他的埠口請暫時關閉,且重新開機這個服務也不會啟動。
    3. 讓你的 yum 指向崑山的 FTP 伺服器,且目前請只放行 os 以及 updates 兩個軟體倉儲
    4. 讓你的系統每天 4 點自動進行一次全系統升級
Top
HOME