前言
最近工作關係開始玩 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 基礎設定系列文章:
- CentOS 7.4 基礎設定 (1) - 安裝整合服務並建立一般使用者帳號
- CentOS 7.4 基礎設定 (2) - 組態設定網路功能
- CentOS 7.4 基礎設定 (3) - 簡述 SELinux 安全性增強機制
- CentOS 7.4 基礎設定 (4) - 組態設定 VIM 及 Bash Shell 操作環境
- CentOS 7.4 基礎設定 (5) - 設定 sudo 管理員帳號管理機制
- CentOS 7.4 基礎設定 (6) - 禁止 Root 帳號本機及 SSH 遠端登入
- CentOS 7.4 基礎設定 (7) - 簡述 YUM 套件管理工具
- CentOS 7.4 基礎設定 (8) - 擴充 YUM 套件數量
- CentOS 7.4 基礎設定 (9) - 簡述 Systemd 啟動模式等級
- CentOS 7.4 基礎設定 (10) - 調整 Firewalld 防火牆規則
- CentOS 7.4 基礎設定 (11) - 定期寄送 CentOS 主機系統資訊 Log
- (本文) CentOS 7.4 基礎設定 (12) - 關閉不必要的系統服務
- CentOS 7.4 基礎設定 (13) - 採用 I/O Scheduler Noop 加速 Disk I/O
- CentOS 7.4 基礎設定 (14) - 完成 CentOS Base VM 的製作
- CentOS 7.4 基礎設定 (15) - 範本 CentOS 重新產生 Product_UUID