iT邦幫忙

2024 iThome 鐵人賽

DAY 23
1
Security

資安與開源:面對威脅探索系列 第 23

Day 23 - 提升伺服器安全性:修改 SSH Port

  • 分享至 

  • xImage
  •  

前言

今天我們將介紹為什麼需要修改 SSH Port,以及這樣的變更對安全性會產生哪些影響
伺服器的安全性事關重大,尤其是在防範自動化攻擊方面
修改 SSH Port 能夠有效減少暴力攻擊的風險,並提升伺服器的整體安全性

為什麼修改 SSH Port 重要?大家來想看看

SSH 預設使用的 Port 為 22,這讓駭客經常將其作為掃描的目標
許多自動化攻擊工具會優先針對此 Port 進行暴力破解攻擊
因此,我們必須將 SSH Port 更改為其他的 Port,來降低這類攻擊的風險
在討論修改 SSH Port的重要性之前,讓我們先簡單了解一下常見的 Port 範圍以及用途

常見 Port 介紹

Port 範圍是由 0 開始到 65535 結束,共有 65535 個 Port,這些 Port 被劃分為三個主要範圍:

  • 0 :保留作為特定用途
  • 0-1023: Well-known Port
  • 1024-49151: Registered Port
  • 49152-65535: 動態 Port
port 名稱
21 FTP
22 SSH
23 TELNET
53 DNS
80 HTTP
137-139 NetBT
135 RPC
161 SNMP
445 HPPTS
1900 UPnP
5353 Zerocon
389,3389 遠端桌面協定(RDP)
3306 MySQL
5555 Android Debug Bridge(ADB)port

實際操作

我們可以使用 Nmap 來掃描目前有哪些服務執行的Port,從圖片中可以清楚地看到 22 Port 是用於 SSH

sudo nmap -n <IP>

https://ithelp.ithome.com.tw/upload/images/20241002/20135755fnKGOvSEmn.png

這個時候我們需要將 22 Port 更換:

  1. 編輯 sshd_config 檔案
sudo vi /etc/ssh/sshd_config
  1. 請找到並取消註解 Port 22,然後新增自訂的 SSH Port(例如:2222)
    https://ithelp.ithome.com.tw/upload/images/20241002/201357556dldh8li0V.png

  2. 重新啟動 SSH 服務

sudo service ssh restart
  1. 使用 Netstat 指令來查看當前的 SSH Port 是哪個
netstat -tlunp | grep ssh

https://ithelp.ithome.com.tw/upload/images/20241002/20135755RU5RlePy8H.png

  1. 使用 SSH 登入時發現無法透過 22 Port 進行連線,因為我們已經更改了 Port 設定
    https://ithelp.ithome.com.tw/upload/images/20241002/20135755K7z2U4uuzi.png

  2. 之後如果需要登入,請在指令中加入更改後的 Port
    https://ithelp.ithome.com.tw/upload/images/20241002/20135755TAeDqYPgy8.png

為了增強伺服器的安全性,我們在此過程中採取下列措施:

  • 將預設的 22 Port 修改為非標準 Port(例如:2222),可以明顯降低遭受暴力攻擊的風險
  • 使用 Nmap 和 Netstat 工具,清楚查看目前伺服器上開啟 Port

後續維護建議:

  • 請定期檢查伺服器的安全性,並更新系統及應用程式,以確保伺服器持續在安全的狀態
  • 建立監控機制,並定期檢查紀錄,及時發現並應對任何異常活動

補充說明 - Namp

Nmap 是一款開源的網路掃描工具,應用於滲透測試和漏洞檢測,能夠協助系統管理員快速掃描主機,了解運行的服務及網路中的開放 Port,並識別正在運行的服務版本和作業系統類型

Nmap 實際操作:
1. 使用 SYN 掃描
快速檢測伺服器哪些 Port 開啟,SYN 掃描僅發送封包並等待回應,不進行完整的 TCP 握手

nmap -sS 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/201357554U5coqL5vI.png

2. 指定多個 Port 掃描
需要檢查伺服器的特定服務,例如: SSH 和 HTTPS Port 是否開啟
掃描主機 192.168.139.167 的 22、80 和 443 Port,而不是掃描所有服務的 Port

nmap -p 22,80,443 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755l6cUlpyyUM.png

3. 進行詳細掃描並顯示更多資訊
深入詳細掃描,例如:系統資訊和各服務資訊

nmap -v 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755WfgXt914Cz.png

4 跳過 Ping 測試
某些防火牆會封鎖 ICMP Ping 回應,這樣一來 Ping 測試將無法針對目標進行,直接對主機進行掃描

nmap -Pn 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755Cre7Dc3T88.png

5. 全面系統檢測
進行完整的詳細掃描,例如:作業系統版本、軟體版本等

nmap -A 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755vj7Xw5O2Gy.png

6. 顯示作業系統版本

nmap -O 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755qHjqIJmFW4.png

7. 顯示主機的服務版本
會對主機開啟的服務進行詳細的版本偵測,以識別每個開放 Port 上的服務版本
這些資訊可以與 Open CVE 或 CVE - MITRE 等進行比對,從而發現潛在的軟體漏洞,並評估是否需要進行漏洞修補或版本更新

nmap -sV 192.168.139.167

https://ithelp.ithome.com.tw/upload/images/20241002/20135755liWwy5OLTm.png

結論

透過調整 SSH Port,不僅提升了伺服器的整體安全性,還為系統管理者提供了更有效的手段來應對潛在的安全威脅,我們能夠降低遭受攻擊的風險,並確保伺服器持續穩定的提供服務

參考資料


上一篇
Day 22 - 認識 SSH 了解遠端伺服器管理、檔案傳輸和加密
下一篇
Day 24 - 入侵防禦系統(IPS)介紹
系列文
資安與開源:面對威脅探索30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言