Linux 伺服器系統管理第九章 伺服器管理      下一頁

第九章 伺服器管理

9-1 網路伺服器簡介

內容:

  • 9-1-1 系統前置作業

  • 9-1-2 網路伺服器架構

  • 9-1-3 網路服務與 TCP 埠口

  • 9-1-4 TCP 埠口與防火牆

9-1-1系統前置作業

安裝伺服器之前,需考慮該平台的安全性如何。亦是,期望 CentOS Linux 的安全能力到甚麼程度,以及以甚麼方式安裝。吾人以一般 SOHO (Small Office/Home Office) 所需環境歸納如下:(大企業網站則須另行考量)

1.      關閉 SelinuxSecurity Enhanced Linux (SELinux) 係針對帳戶登入後使用資源的管制。目前 CentOS Linux 大多使用於 Client/Server 架構,甚至禁止帳戶登入系統,僅允許透過網路存取,因此甚少使用到此功能而將它關閉。(請參考 2-6-5 節操作方法)

2.      啟動 Firewalld:防火牆是網路伺服器最重要的防護系統之一,一定要將它開啟。(請參考 6-6 節操作方法)

3.      Yum/Dnf 線上安裝工具:有了 yum 工具之後,擴充軟體方便許多了,它會自動到 CentOS mirror 網站上搜尋及下載所要的軟體套件,不需要去找套件在哪裡。(請參考 8-5-3/4 節操作方法)

9-1-2 網路伺服器架構

基本上,網路服務系統都是屬於『主從式架構』(Client/Server Achitecture),包含伺服端與客戶端兩種角色。客戶端(Client)扮演著主動式角色,主動向伺服端(Sever)提出要求服務的需求;至於伺服端則扮演被動角色為主,隨時等待客戶端提出服務要求。所以一個網路應用系統必定包含兩個專屬程式,一者為安裝於伺服端的網路伺服器(Network Server),另一者為安裝於客戶端的客戶程式。圖 9-1 顯示較常見的三種網路應用系統,其中網頁伺服系統包含的 httpd(伺服端)與 IE(客戶端)兩程式,它們之間透過某一種標準協議(http)的運作,達成了網頁儲存與瀏覽的任務,另外檔案傳輸系統與遠端登入系統,也是分別透過某一種協定(ftp)的運作,達成檔案傳輸與遠端登入的工作。(請參考 1-1 節介紹)

9-1 主從式架構

當然這些網路服務程式都必須安裝於某一系統主機,安裝伺服器的主機,稱為伺服器系統(Server System),如 Linux Windows Server。安裝客戶程式的主機,則稱為工作站系統(Workstation System),如 Windows 710。但若某一主機同時安裝伺服程式與客戶程式,則該主機可同時扮演雙重角色(伺服端與客戶端),大部分的 Unix/Linux Windows Server 系統皆是如此。

9-1-3 伺服器與 TCP 埠口

網路伺服器即是透過網路提供服務,客戶端也需透過網路索取服務。一部主機系統上大多允許提供多個網路服務,但它只有一個 IP 位址,如何產生多個服務的功能呢?即是透過 TCP 埠口(TCP Port) 的多工功能,如圖 9-2 所示。TCP 埠口就好像公司行號電話分機號碼的功能,公司的代表電號號碼就如同 IP 位址一般。網路服務就如同打專屬電話到公司後再轉接分支號碼一樣,亦是 IP 連結到主機後,再連結 TCP 埠口到相關伺服器上。

9-2 伺服器與 TCP 埠口

主機(伺服器系統或工作站系統) TCP 埠口有 0 ~ 65535,哪一部伺服器連結到哪一個埠口上,這有標準規範。譬如 http 連結到 80 埠口、ftp 連結到 21 埠口、ssh 22 埠口,規範內 0 ~ 1023 是系統指定使用,1024 ~ 65535 可以讓使用者任意使用。埠口與系統服務之間對應關係,登錄於 /etc/services 檔案內,如下:(執行 #cat /etc/services 結果,擷取部分)

….

# service-name  port/protocol  [aliases ...]   [# comment]

 

tcpmux          1/tcp                           # TCP port service multiplexer

tcpmux          1/udp                           # TCP port service multiplexer

rje             5/tcp                           # Remote Job Entry

rje             5/udp                           # Remote Job Entry

echo            7/tcp

echo            7/udp

discard         9/tcp           sink null

discard         9/udp           sink null

systat          11/tcp          users

systat          11/udp          users

daytime         13/tcp

daytime         13/udp

….

以圖 9-2 為例,伺服器架設於 120.118.167.150:80 埠口上,前者為 IP 位址,後者為 TCP 埠口。工作站上的 IE 連結於 120.119.180.10:5520 埠口上。但一般 http 埠口都是 80,沒有特殊的話,自動會連結到 80 埠口。

9-1-4 TCP 埠口與防火牆

其實 TCP 埠口僅是一個虛擬代號,此代號的範圍是 0 ~ 65535 之間,但它是網路訊息進出的通路。任何程式產生一個不與其它服務的代號,就可以用來進出系統,這也是網路安全上很大的漏洞。一般系統對於 TCP 埠口的使用有所管制,此設施即為防火牆。防火牆管制訊息是否允許進出主機系統,但為了安全起見,一般都採用從嚴措施(Deny),即是,預定是任何埠口皆部允許封包進入,當管理者開放了哪個埠口,那個埠口才允許封包進出。簡單來講,您安裝伺服器之後,沒有開啟該伺服器所連結的埠口,該伺服器是無法使用的。

吾人建議開啟防火牆功能,再依照企業網站需求開啟某些埠口,命令格式如下:

# service  status|stop|start|restart  firewalld.service

啟動防火牆操作如下:

[root@secureLab ~]# systemctl start firewalld  [啟動防火牆功能]

[root@secureLab ~]# systemctl enable firewalld   [開機時自動啟動防火牆]

[root@secureLab ~]# systemctl status firewalld    [顯示防火牆狀態]

firewalld.service - firewalld - dynamic firewall daemon

   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled;>

   Active: active (running) since Fri 2021-05-14 21:52:50 CST; 13h ago

     Docs: man:firewalld(1)

 Main PID: 33370 (firewalld)

    Tasks: 2 (limit: 11332)

   Memory: 24.3M

   CGroup: /system.slice/firewalld.service

           └─33370 /usr/libexec/platform-python -s /usr/sbin/firewalld>     Docs: man:firewalld(1)

….

開啟防火牆的服務部口命令如下:( httpd 80/tcp/udp 為例)

[root@secureLab ~]# firewall-cmd --add-port=80/tcp –permanent [開啟 80/tcp]

Success

[root@secureLab ~]# firewall-cmd --add-port=80/udp –permanent [開啟 80/udp]

success

[root@secureLab ~]# firewall-cmd –reload   [重新導入]

success

[root@secureLab ~]# firewall-cmd --list-all –permanent [查詢目前已開啟埠口]

public

  target: default

  icmp-block-inversion: no

  interfaces:

  sources:

  services: cockpit dhcpv6-client ssh

  ports: 80/tcp 80/udp

  protocols:

  masquerade: no

  forward-ports:

  source-ports:

  icmp-blocks:

  rich rules:

[root@secureLab ~]

翻轉工作室:粘添壽

 

Linux 伺服器系統管理 - CentOS:

 

 

 

翻轉電子書系列: