From: 011netservice@gmail.com Date: 2022-05-22 Subject: 安裝後必要檢查.txt 歡迎來信交流 ---------- 2022-05-22, #### 防火牆關閉對外不必要的服務通道 以下視需求執行: 關閉 FTP Port # firewall-cmd --remove-port=21/tcp 關閉 Mysql Port # firewall-cmd --remove-port=3306/tcp --permanent 只允許 IP 進行 "mysql" 服務 # firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="220.128.199.127/24" service name="mysql" accept' # firewall-cmd --permanent --zone=public --remove-service=ftp # firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="10.4.220.143/32" port protocol="tcp" port="13782" accept' 重新載入防火牆, 變更後要重新載入, 才會看到變更後的結果 firewall-cmd --reload 重新啟動防火牆 systemctl restart firewalld.service ---------- 2022-05-22, #### 常用 Port 21: FTP 22: SSH 23: Telnet 25: SMTP 53: DNS 80: HTTP 3306: MySql ref: 21Port主要用於FTP(File Transfer Protocol,檔傳輸協定)服務。   23Port:23Port主要用於Telnet(遠端登錄)服務,是Internet上普遍採用的登錄和仿真程式。   25Port:25Port為SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)伺服器所開放,主要用於發送郵件,如今絕大多數郵件伺服器都使用該協定。   53Port:53Port為DNS(Domain Name Server,功能變數名稱伺服器)伺服器所開放,主要用於功能變數名稱解析,DNS服務在NT系統中使用的最為廣泛。   67、68Port:67、68Port分別是為Bootp服務的Bootstrap Protocol Server(引導程式協定服務端)和Bootstrap Protocol Client(引導程式協定用戶端)開放的Port。   69Port:TFTP是Cisco公司開發的一個簡單檔傳輸協議,類似於FTP。   79Port:79Port是為Finger服務開放的,主要用於查詢遠端主機線上用戶、作業系統類型以及是否緩衝區溢出等用戶的詳細資訊。   80Port:80Port是為HTTP(HyperText Transport Protocol,超文本傳輸協定)開放的,這是上網衝浪使用最多的協定,主要用於在WWW(World Wide Web,萬維網)服務上傳輸資訊的協定。   99Port:99Port是用於一個名為「Metagram Relay」(亞對策延時)的服務,該服務比較少見,一般是用不到的。   109、110Port:109Port是為POP2(Post Office Protocol Version 2,郵局協定2)服務開放的,110Port是為POP3(郵件協定3)服務開放的,POP2、POP3都是主要用於接收郵件的。   111Port:111Port是SUN公司的RPC(Remote Procedure Call,遠端程序呼叫)服務所開放的Port,主要用於分散式系統中不同計算器的內部進程通信,RPC在多種網路服務中都是很重要的組件。   113Port:113Port主要用於Windows的「Authentication Service」(驗證服務)。   119Port:119Port是為「Network News Transfer Protocol」(網路新聞組傳輸協定,簡稱NNTP)開放的。   135Port:135Port主要用於使用RPC(Remote Procedure Call,遠端程序呼叫)協定並提供DCOM(分散式元件對像模型)服務。   137Port:137Port主要用於「NetBIOS Name Service」(NetBIOS名稱服務)。   139Port:139Port是為「NetBIOS Session Service」提供的,主要用於提供Windows檔和印表機共用以及Unix中的Samba服務。   143Port:143Port主要是用於「Internet Message Access Protocol」v2(Internet消息訪問協定,簡稱IMAP)。   161Port:161Port是用於「Simple Network Management Protocol」(簡單網路管理協定,簡稱SNMP)。   443Port:43Port即網頁流覽Port,主要是用於HTTPS服務,是提供加密和通過安全Port傳輸的另一種HTTP。   554Port:554Port默認情況下用於「Real Time Streaming Protocol」(即時流協議,簡稱RTSP)。   1024Port:1024Port一般不固定分配給某個服務,在英文中的解釋是「Reserved」(保留)。   1080Port:1080Port是Socks代理服務使用的Port,大家平時上網使用的WWW服務使用的是HTTP協定的代理服務。   1755Port:1755Port默認情況下用於「Microsoft Media Server」(微軟媒體伺服器,簡稱MMS)。   4000Port:4000Port是用於大家經常使用的QQ聊天工具的,再細說就是為QQ用戶端開放的Port,QQ服務端使用的Port是8000。   5554Port:在今年4月30日就報導出現了一種針對微軟lsass服務的新蠕蟲病毒——震盪波(Worm.Sasser),該病毒可以利用TCP 5554Port開啟一個FTP服務,主要被用於病毒的傳播。   5632Port:5632Port是被大家所熟悉的遠端控制軟體pcAnywhere所開啟的Port。   8080Port:8080Port同80Port,是被用於WWW代理服務的,可以實現網頁流覽。 ---------- 2019-01-01, #### firewall-cmd防火牆.txt 舊資料 查看開啟了哪些服務和端口: firewall-cmd --list-all 查看預先定義的服務名稱 firewall-cmd --get-services 選項--permanent 若沒有(選項--permanent), 則只是暫時設定,重新開機後這個設定就不見了,通常在比較重要的伺服器上,我們都會先使用暫時的設定先進行測試,若測試沒問題,再將設定寫入設定檔,永久保存 查詢所有的區域 firewall-cmd --list-all-zones # 查詢指定的區域與內容 sudo firewall-cmd --zone=public --list-all # 查詢預設區域 firewall-cmd --get-default-zone # 設定預設區域 firewall-cmd --set-default-zone=home # 查詢運作中的區域與介面 firewall-cmd --get-active-zones # 查詢網路介面所屬區域 firewall-cmd --get-zone-of-interface=enp7s0d1 # 將 enp7s0d1 網路介面設定至 home 區域 sudo firewall-cmd --zone=home --change-interface=enp7s0d1 列出所有rich-rules # firewall-cmd --zone=public --list-rich-rules 開啟FTP sudo firewall-cmd --permanent --zone=public --add-service=ftp sudo firewall-cmd --reload 如果有啟用被動模式的話,再加上指派給它的通訊埠範圍。 sudo firewall-cmd --zone=public --add-port=60101-61200/tcp sudo firewall-cmd --reload 開啟防火牆通道 # firewall-cmd --permanent --zone=public --add-service samba # 開啟防火牆 (MySQL 3306 埠號, MySQL), (SSH port 22改為22222) # firewall-cmd --permanent --add-port=3306/tcp # firewall-cmd --permanent --zone=public --add-service=mysql # firewall-cmd --permanent --add-port=22222/tcp # firewall-cmd --permanent --zone=public --add-service=ftp # firewall-cmd --add-port=5901/tcp # firewall-cmd --add-port=5901/tcp --permanent # firewall-cmd --zone=public --add-port=10837/tcp --permanent # firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="220.128.199.127/24" port port="28001" protocol="tcp" accept' # firewall-cmd --zone=public --permanent --add-rich-rule 'rule family="ipv4" source address="220.128.199.127/24" service name="mysql" accept' 僅40.0網段可以讀取 28001埠 # firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="163.17.40.0/24" port port="28001" protocol="tcp" accept' 僅192.168.0.0網段的能透過53/udp存取 DNS # firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" port port="53" protocol="udp" accept' --permanen # 開啟 port 53 tcp 跟 udp 存取 DNS # firewall-cmd --zone=public --add-port=53/tcp --permanent # firewall-cmd --zone=public --add-port=53/udp --permanent # 開啟 udp 的 4990 至 4999 連接埠 # sudo firewall-cmd --zone=public --add-port=4990-4999/udp # 永久開啟 udp 的 4990 至 4999 連接埠 # sudo firewall-cmd --zone=public --permanent --add-port=4990-4999/udp 只允許特定來源 IP 位址使用服務 # 允許 192.168.0.0/24 使用 http 服務 firewall-cmd --zone=public \ --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' # 永久允許 192.168.0.0/24 使用 http 服務. 即192.168.0.0/Mask = 255.255.255.0 firewall-cmd --zone=public \ --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' \ --permanent 白名單 IP 位址 若要將特定的 IP 位址設定為白名單,讓它可以連接任何的連接埠,可以這樣做: # 將 192.168.0.123 列為 public 區域的白名單 firewall-cmd --zone=public \ --add-rich-rule='rule family="ipv4" source address="192.169.0.123" accept' # 永久將 192.168.0.123 列為 public 區域的白名單 firewall-cmd --zone=public \ --add-rich-rule='rule family="ipv4" source address="192.169.0.123" accept' \ --permanent 移除防火牆通道 # firewall-cmd --remove-port=21/tcp # firewall-cmd --remove-port=3306/tcp --permanent # firewall-cmd --permanent --zone=public --remove-service=ftp # firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="220.128.199.127/24" service name="mysql" accept' # firewall-cmd --permanent --remove-rich-rule 'rule family="ipv4" source address="10.4.220.143/32" port protocol="tcp" port="13782" accept' 重新載入防火牆, 變更後要重新載入, 才會看到變更後的結果 firewall-cmd --reload 重新啟動防火牆 systemctl restart firewalld.service 修改 Firewalld 防火牆規則,把允許 SSH Port 22 通行的規則改為 Port 22222。