CentOS 7.4 基礎設定 (12) - 關閉不必要的系統服務


前言

最近工作關係開始玩 CentOS 了,本次實作環境中採用的是 CentOS 7.4 (1709) Kernel 3.10.0-693.el7.x86_64) 映像檔,也就是新版 CentOS 7.4 最小化安裝版本 (Minimal Install),那麼開始來玩玩吧。💪



實作環境




關閉不必要的系統服務並了解服務監聽 Port

了解系統啟動的服務以及該服務開啟的相應 Port ,也是主機安全防護的基本功。我們可以使用「netstat」 指令,配合 「–tunpl」 參數,顯示系統目前啟動服務及協定等相關資訊。使用到的 5 個參數意義為 t(TCP)、u(UDP)、n(IP 位址及 Port 號)、p(PID 名稱)、l(Listen) 服務,這些指令執行後顯示出來的相關欄位解釋如下:

  • Proto: 服務運作的協定,通常為 TCP 或 UDP Protocol。
  • Recv-Q: 收到的封包 Bytes 數量。
  • Send-Q: 傳送的封包 Bytes 數量。
  • Local Address: 本地端的 IP 位址及 Port 號。
  • Foreign Address: 遠端主機的 IP 位址及 Port 號。
  • State: 連接狀態,此例中僅顯示 Listen 狀態,實際上還有已建立連線(ESTABLISHED)、連線結束等待 Socket 關閉(TIME_WAIT)、主動連線 SYN 封包(SYN_SENT)、連線要求 SYN 封包(SYN_RECV)等狀態。
  • PID / Program name: 該程序(Process) 的名稱。

本文環境採用 CentOS 7.4 Minimal Install 安裝類型,安裝完畢後可以透過「netstat -tunpl」指令來解目前主機所啟動的服務所帶起的監聽 Port 號,可以看到經由前面的基礎設定作業之後,目前 CentOS 7 主機只 Listen 必要的 SSH / Postfix / Chrony 服務。
# netstat -tunpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address   State    PID/Program name
tcp        0      0 0.0.0.0:22168   0.0.0.0:*         LISTEN   3863/sshd
tcp        0      0 127.0.0.1:25    0.0.0.0:*         LISTEN   1089/master
udp        0      0 127.0.0.1:323   0.0.0.0:*         LISTEN   532/chronyd


接著查詢 CentOS 7 主機在預設情況下 (使用 Minimal Install 安裝類型) 啟用哪些服務,後續可以把不需要的服務關閉以便降低安全性問題(有的系統服務可能會開啟 Listen Port),一方面也可以增加系統效能(因為每個服務的啟動都會佔系統記憶體)。
# systemctl list-units --type service |grep running
auditd.service loaded active running Security Auditing Service
chronyd.service loaded active running NTP client/server
crond.service loaded active running Command Scheduler
dbus.service loaded active running D-Bus System Message Bus
firewalld.service loaded active running firewalld - dynamic firewall daemon
getty@tty1.service loaded active running Getty on tty1
hv_fcopy_daemon.service loaded active running Hyper-V FCOPY daemon
hv_kvp_daemon.service loaded active running Hyper-V KVP daemon
hv_vss_daemon.service loaded active running Hyper-V VSS daemon
irqbalance.service loaded active running irqbalance daemon
polkit.service loaded active running Authorization Manager
postfix.service loaded active running Postfix Mail Transport Agent
rsyslog.service loaded active running System Logging Service
sshd.service loaded active running OpenSSH server daemon
systemd-journald.service loaded active running Journal Service
systemd-logind.service loaded active running Login Service
systemd-udevd.service loaded active running udev Kernel Device Manager
tuned.service loaded active running Dynamic System Tuning Daemon




CentOS 7.4 基礎設定系列文章: