服務器環(huán)境:CentOs8
客戶端環(huán)境:Win10 / putty / Edge
首先我們修改http的監(jiān)聽端口,修改 /etc/httpd/conf/httpd.conf 中的 Listen為89
這個時候我們訪問網(wǎng)頁就需要使用IP:89來實現(xiàn)(實際上原本訪問時使用IP只是缺省了80),直接用IP訪問是訪問不到的
然后我們把89端口添加到映射里邊
再使用外網(wǎng)IP訪問,發(fā)現(xiàn)已經(jīng)可以訪問了
注:文中外網(wǎng)IP為脫敏處理用1.23.45.67代替,不代表真實IP
在中華人民共和國境內提供非經(jīng)營性互聯(lián)網(wǎng)信息服務,應當依法履行備案手續(xù)。 未經(jīng)備案,不得在中華人民共和國境內從事非經(jīng)營性互聯(lián)網(wǎng)信息服務
0和443端口是最常見的2個端口,都是提供網(wǎng)絡WEB瀏覽服務所需要的端口,一臺服務器通過不同的端口,提供不同的服務。
服務:HTTP(HyperText Transport Protocol)超文本傳輸協(xié)議
80端口是為HTTP(HyperText Transport Protocol)即超文本傳輸協(xié)議開放的,此為上網(wǎng)沖浪使用次數(shù)最多的協(xié)議,主要用于WWW(World Wide Web)即萬維網(wǎng)傳輸信息的協(xié)議。
可以通過HTTP地址(即常說的“網(wǎng)址”)加“: 80”來訪問網(wǎng)站,因為瀏覽網(wǎng)頁服務默認的端口號都是80,因此只需輸入網(wǎng)址即可,不用輸入“: 80”了。
操作建議:為了能正常上網(wǎng)沖浪,我們必須開啟80端口。
服務:Https
443端口即網(wǎng)頁瀏覽端口,主要是用于HTTPS服務,是提供加密和通過安全端口傳輸?shù)牧硪环NHTTP。在一些對安全性要求較高的網(wǎng)站,比如銀行、證券、購物等,都采用HTTPS服務,這樣在這些網(wǎng)站上的交換信息,其他人抓包獲取到的是加密數(shù)據(jù),保證了交易的安全性。網(wǎng)頁的地址以https://開始,而不是常見的http://。
操作建議:建議開啟該端口,用于安全性網(wǎng)頁的訪問。另外,為了防止黑客的攻擊,應該及時安裝微軟針對SSL漏洞發(fā)布的最新安全補丁。
1、漏洞不同
2、協(xié)議不同
HTTPS是一個安全通信通道,它基于HTTP開發(fā),用于在客戶計算機和服務器之間交換信息,他是用安全套接字層(SSL)進行信息交換,接單來說它是HTTP的安全版。
服務器的常用端口除了80、443之外還有很多:
端口 | 服務 | 說明 |
21 | FTP | FTP服務所開放的端口,用于上傳、下載文件。 |
22 | SSH | SSH端口,用于通過命令行模式或遠程連接軟件(例如PuTTY、Xshell、SecureCRT等)連接Linux實例。 |
23 | Telnet | Telnet端口,用于Telnet遠程登錄ECS實例。 |
25 | SMTP | SMTP服務所開放的端口,用于發(fā)送郵件。基于安全考慮,ECS實例25端口默認受限 |
53 | DNS | 用于域名解析服務器(Domain Name Server,簡稱DNS)協(xié)議。如果在安全組出方向實行白名單方式,需要放行53端口(UDP協(xié)議)才能實現(xiàn)域名解析。 |
80 | HTTP | 用于HTTP服務提供訪問功能,例如,IIS、Apache、Nginx等服務。 |
110 | POP3 | 用于POP3協(xié)議,POP3是電子郵件收發(fā)的協(xié)議。 |
143 | IMAP | 用于IMAP(Internet Message Access Protocol)協(xié)議,IMAP是用于電子郵件的接收的協(xié)議。 |
443 | HTTPS | 用于HTTPS服務提供訪問功能。HTTPS是一種能提供加密和通過安全端口傳輸?shù)囊环N協(xié)議。 |
1433 | SQL Server | SQL Server的TCP端口,用于供SQL Server對外提供服務。 |
1434 | SQL Server | SQL Server的UDP端口,用于返回SQL Server使用了哪個TCP/IP端口。 |
1521 | Oracle | Oracle通信端口,ECS實例上部署了Oracle SQL需要放行的端口。 |
3306 | MySQL | MySQL數(shù)據(jù)庫對外提供服務的端口。 |
3389 | Windows Server Remote Desktop Services | Windows Server Remote Desktop Services(遠程桌面服務)端口,可以通過這個端口使用軟件連接Windows實例。 |
8080 | 代理端口 | 同80端口一樣,8080端口常用于WWW代理服務,實現(xiàn)網(wǎng)頁瀏覽。如果您使用了8080端口,訪問網(wǎng)站或使用代理服務器時,需要在IP地址后面加上:8080。安裝Apache Tomcat服務后,默認服務端口為8080。 |
137、138、139 | NetBIOS協(xié)議 | · 137、138為UDP端口,通過網(wǎng)上鄰居傳輸文件時使用的端口。· 139通過這個端口進入的連接試圖獲得NetBIOS/SMB服務。NetBIOS協(xié)議常被用于Windows文件、打印機共享和Samba。 |
關于更多服務器相關的技術問題,或者端口開放的問題,可以直接上藍隊云官網(wǎng)了解。
藍隊云是專業(yè)的云計算及網(wǎng)絡安全服務商,始終致力于為政府機構、企業(yè)組織和個人開發(fā)者提供穩(wěn)定、安全、可靠、高性價比的云計算服務及專業(yè)全面的網(wǎng)絡安全服務。提供云服務器、虛擬主機、域名注冊、SSL證書、網(wǎng)絡安全服務等產(chǎn)品及服務,平臺用戶超100000+,服務薇諾娜、云南白藥、九機網(wǎng)等知名企業(yè),歡迎大家免費試用體驗我們的產(chǎn)品,十幾款云服務器支持免費試用。
藍隊云 - 專業(yè)的云服務器、服務器租用托管、云安全服務、域名注冊提供商
深入探討如何在Ubuntu上檢查、開啟、關閉端口之前,理解網(wǎng)絡基礎概念、端口的工作原理以及Ubuntu的網(wǎng)絡架構是至關重要的。
網(wǎng)絡通信的基礎是基于TCP/IP協(xié)議棧的,這一模型由四個層次組成:鏈路層、網(wǎng)絡層、傳輸層和應用層。我們關注的重點在于傳輸層和應用層,因為端口正是位于這兩層之間的關鍵概念。
端口可以大致分為三類:
在Ubuntu系統(tǒng)中,確保服務正常運行或排查網(wǎng)絡問題時,檢查哪些端口處于監(jiān)聽或活躍狀態(tài)是一項基本技能。
netstat是一個強大的命令行工具,用于顯示網(wǎng)絡連接、路由表、網(wǎng)絡接口統(tǒng)計等網(wǎng)絡相關信息。在檢查開放端口時,以下是最常用的幾個選項:
sudo netstat -tuln
這里的-t表示只顯示TCP端口,-u用于顯示UDP端口(可選),-l表示僅列出監(jiān)聽狀態(tài)的端口,而-n則使用數(shù)字形式顯示IP和端口號,而不是嘗試解析為主機名和服務名。
sudo netstat -tuln | grep :<port>
將<port>替換為你想要查詢的端口號,如80。
nmap是一個功能強大的網(wǎng)絡探索和安全審計工具,不僅可以用來掃描本地主機,也適用于遠程主機的端口掃描。首先,確保已安裝nmap:
sudo apt-get install nmap
然后,執(zhí)行以下命令掃描本機開放的端口:
sudo nmap -sT -O localhost
這里的-sT選項表示使用TCP連接掃描,-O嘗試確定目標主機的操作系統(tǒng)類型。
lsof(LiSt Open Files)命令可以列出系統(tǒng)中所有當前打開的文件和網(wǎng)絡端口。要查找占用特定端口的進程,可以這樣使用:
sudo lsof -i :<port>
雖然Ubuntu默認不使用firewalld,但如果你的系統(tǒng)中安裝并啟用了它,可以通過以下命令查看開放端口:
sudo firewall-cmd --list-ports
UFW是Ubuntu系統(tǒng)中常用的防火墻管理工具,易于使用且功能強大。要查看UFW當前的規(guī)則,可以執(zhí)行:
sudo ufw status verbose
這會列出所有入站和出站規(guī)則,以及哪些端口被允許或拒絕。
確保服務對外可用通常需要正確配置系統(tǒng)防火墻,以允許外部流量訪問特定端口。Ubuntu系統(tǒng)中,ufw(Uncomplicated Firewall)是最常用的防火墻管理工具,因為它簡單易用且功能強大。
首先,確保ufw已經(jīng)安裝并啟用。如果尚未啟用,可以使用以下命令進行安裝和啟用:
sudo apt-get install ufw
sudo ufw enable
開啟單個端口
要允許外部訪問某個TCP端口,例如開啟80端口供Web服務使用,執(zhí)行:
sudo ufw allow 80/tcp
對于UDP端口,只需將tcp替換為udp即可,如:
sudo ufw allow 53/udp
開啟端口范圍
若需開啟一系列連續(xù)端口,例如游戲服務器使用的端口范圍,可以這樣做:
sudo ufw allow 27000:27015/tcp
指定入站或出站規(guī)則
默認情況下,上述命令應用于入站(incoming)流量。若要明確指定規(guī)則方向,可以加上in或out,例如允許出站到80端口的流量:
sudo ufw allow out 80/tcp
許多網(wǎng)絡服務如Web服務器(Apache、Nginx)或數(shù)據(jù)庫(MySQL、PostgreSQL)都有默認的監(jiān)聽端口。除了在防火墻中開放這些端口,還需確保服務配置正確。
修改服務配置后,記得重啟服務使更改生效,如重啟Apache服務:
sudo systemctl restart apache2
盡管ufw提供了友好的接口,但在某些高級場景下,直接使用iptables命令行工具能提供更細粒度的控制。以下是一個簡單的例子,允許所有入站的80端口TCP流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
請注意,直接修改iptables規(guī)則應當謹慎,且通常建議先備份現(xiàn)有規(guī)則:
sudo iptables-save > /root/iptables.backup
完成規(guī)則修改后,使用iptables-save命令保存規(guī)則,確保重啟后仍然生效:
sudo iptables-save | sudo tee /etc/iptables/rules.v4
關閉不必要的端口是提升系統(tǒng)安全的重要措施,可以減少潛在的攻擊面,防止未授權訪問。
關閉端口的操作與開啟端口類似,只需將allow命令替換為deny或delete命令。
sudo ufw deny 22/tcp
上述命令會拒絕所有入站的TCP 22端口(SSH)流量。如果規(guī)則已存在,可以使用delete命令移除:
sudo ufw delete allow 22/tcp
如果之前打開了一個端口范圍,如游戲端口27000至27015,可以通過以下命令關閉:
sudo ufw deny 27000:27015/tcp
關閉端口的另一種方法是從源頭上阻止服務監(jiān)聽該端口。這需要直接修改服務的配置文件。
直接使用iptables關閉端口涉及刪除或添加拒絕規(guī)則:
如果之前允許了22端口,可以通過以下命令拒絕:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
或者,如果要刪除之前的允許規(guī)則,首先需要找出該規(guī)則的編號,然后用iptables -D命令刪除:
sudo iptables -L --line-numbers
sudo iptables -D INPUT <rule_number>
關閉端口是一個持續(xù)的過程,隨著系統(tǒng)需求的變化,應適時調整。良好的安全實踐還包括使用自動化工具定期審計端口狀態(tài),以及在變更系統(tǒng)配置后進行安全測試,確保沒有無意間暴露了新的安全風險。