欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解如何在Ubuntu上檢查、開(kāi)啟、關(guān)閉端口

 更新時(shí)間:2024年06月13日 10:30:16   作者:wljslmz  
在深入探討如何在Ubuntu上檢查、開(kāi)啟、關(guān)閉端口之前,理解網(wǎng)絡(luò)基礎(chǔ)概念、端口的工作原理以及Ubuntu的網(wǎng)絡(luò)架構(gòu)是至關(guān)重要的,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下

網(wǎng)絡(luò)基礎(chǔ)概念

網(wǎng)絡(luò)通信的基礎(chǔ)是基于TCP/IP協(xié)議棧的,這一模型由四個(gè)層次組成:鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。我們關(guān)注的重點(diǎn)在于傳輸層和應(yīng)用層,因?yàn)槎丝谡俏挥谶@兩層之間的關(guān)鍵概念。

  • 傳輸層:負(fù)責(zé)端到端的通信,其中兩個(gè)主要協(xié)議是TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP提供了可靠的數(shù)據(jù)傳輸服務(wù),保證數(shù)據(jù)包按序無(wú)誤地到達(dá);而UDP則是一種無(wú)連接的、不可靠的協(xié)議,適用于對(duì)速度要求高于數(shù)據(jù)完整性的場(chǎng)景。

  • 應(yīng)用層:在此層面上,不同的網(wǎng)絡(luò)服務(wù)通過(guò)不同的端口號(hào)來(lái)區(qū)分。端口是一個(gè)邏輯上的結(jié)構(gòu),范圍從0到65535。每個(gè)端口對(duì)應(yīng)一個(gè)正在運(yùn)行的服務(wù)或者等待接收特定類(lèi)型數(shù)據(jù)的應(yīng)用程序。

端口類(lèi)型

端口可以大致分為三類(lèi):

  • 熟知端口(Well-Known Ports):范圍從0到1023,這些端口被分配給特定的服務(wù),例如HTTP服務(wù)使用80端口,HTTPS服務(wù)使用443端口。
  • 注冊(cè)端口(Registered Ports):范圍從1024到49151,通常用于非系統(tǒng)服務(wù)的公共應(yīng)用程序。
  • 動(dòng)態(tài)/私有端口(Dynamic and/or Private Ports):范圍從49152到65535,通常不會(huì)被預(yù)先定義服務(wù)所占用,而是臨時(shí)分配給客戶(hù)端程序使用。

在Ubuntu上檢查開(kāi)放端口

在Ubuntu系統(tǒng)中,確保服務(wù)正常運(yùn)行或排查網(wǎng)絡(luò)問(wèn)題時(shí),檢查哪些端口處于監(jiān)聽(tīng)或活躍狀態(tài)是一項(xiàng)基本技能。

使用netstat命令

netstat是一個(gè)強(qiáng)大的命令行工具,用于顯示網(wǎng)絡(luò)連接、路由表、網(wǎng)絡(luò)接口統(tǒng)計(jì)等網(wǎng)絡(luò)相關(guān)信息。在檢查開(kāi)放端口時(shí),以下是最常用的幾個(gè)選項(xiàng):

  • 列出所有TCP連接和監(jiān)聽(tīng)端口:
sudo netstat -tuln

這里的-t表示只顯示TCP端口,-u用于顯示UDP端口(可選),-l表示僅列出監(jiān)聽(tīng)狀態(tài)的端口,而-n則使用數(shù)字形式顯示IP和端口號(hào),而不是嘗試解析為主機(jī)名和服務(wù)名。

  • 查看特定端口是否被監(jiān)聽(tīng):
sudo netstat -tuln | grep :<port>

<port>替換為你想要查詢(xún)的端口號(hào),如80。

nmap工具

nmap是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)探索和安全審計(jì)工具,不僅可以用來(lái)掃描本地主機(jī),也適用于遠(yuǎn)程主機(jī)的端口掃描。首先,確保已安裝nmap

sudo apt-get install nmap

然后,執(zhí)行以下命令掃描本機(jī)開(kāi)放的端口:

sudo nmap -sT -O localhost

這里的-sT選項(xiàng)表示使用TCP連接掃描,-O嘗試確定目標(biāo)主機(jī)的操作系統(tǒng)類(lèi)型。

lsof命令

lsof(LiSt Open Files)命令可以列出系統(tǒng)中所有當(dāng)前打開(kāi)的文件和網(wǎng)絡(luò)端口。要查找占用特定端口的進(jìn)程,可以這樣使用:

sudo lsof -i :<port>

firewall-cmd(對(duì)于使用firewalld的情況)

雖然Ubuntu默認(rèn)不使用firewalld,但如果你的系統(tǒng)中安裝并啟用了它,可以通過(guò)以下命令查看開(kāi)放端口:

sudo firewall-cmd --list-ports

ufw(Uncomplicated Firewall)

UFW是Ubuntu系統(tǒng)中常用的防火墻管理工具,易于使用且功能強(qiáng)大。要查看UFW當(dāng)前的規(guī)則,可以執(zhí)行:

sudo ufw status verbose

這會(huì)列出所有入站和出站規(guī)則,以及哪些端口被允許或拒絕。

在Ubuntu上開(kāi)啟端口

確保服務(wù)對(duì)外可用通常需要正確配置系統(tǒng)防火墻,以允許外部流量訪問(wèn)特定端口。Ubuntu系統(tǒng)中,ufw(Uncomplicated Firewall)是最常用的防火墻管理工具,因?yàn)樗?jiǎn)單易用且功能強(qiáng)大。

ufw基本操作

首先,確保ufw已經(jīng)安裝并啟用。如果尚未啟用,可以使用以下命令進(jìn)行安裝和啟用:

sudo apt-get install ufw
sudo ufw enable

對(duì)于UDP端口,只需將tcp替換為udp即可,如:

sudo ufw allow 53/udp

開(kāi)啟端口范圍

若需開(kāi)啟一系列連續(xù)端口,例如游戲服務(wù)器使用的端口范圍,可以這樣做:

sudo ufw allow 27000:27015/tcp

指定入站或出站規(guī)則

默認(rèn)情況下,上述命令應(yīng)用于入站(incoming)流量。若要明確指定規(guī)則方向,可以加上inout,例如允許出站到80端口的流量:

sudo ufw allow out 80/tcp

配置特定服務(wù)端口

許多網(wǎng)絡(luò)服務(wù)如Web服務(wù)器(Apache、Nginx)或數(shù)據(jù)庫(kù)(MySQL、PostgreSQL)都有默認(rèn)的監(jiān)聽(tīng)端口。除了在防火墻中開(kāi)放這些端口,還需確保服務(wù)配置正確。

  • Apache:默認(rèn)監(jiān)聽(tīng)80端口,配置文件通常位于/etc/apache2/sites-available/000-default.conf或特定站點(diǎn)配置文件中。
  • Nginx:同樣默認(rèn)監(jiān)聽(tīng)80端口,配置文件位于/etc/nginx/sites-available/default或相應(yīng)站點(diǎn)配置文件。
  • MySQL:默認(rèn)監(jiān)聽(tīng)3306端口,可以在/etc/mysql/mysql.conf.d/mysqld.cnf中找到監(jiān)聽(tīng)設(shè)置。
  • PostgreSQL:默認(rèn)監(jiān)聽(tīng)5432端口,配置文件為/etc/postgresql/<version>/main/postgresql.conf。

修改服務(wù)配置后,記得重啟服務(wù)使更改生效,如重啟Apache服務(wù):

sudo systemctl restart apache2

iptables直接配置

盡管ufw提供了友好的接口,但在某些高級(jí)場(chǎng)景下,直接使用iptables命令行工具能提供更細(xì)粒度的控制。以下是一個(gè)簡(jiǎn)單的例子,允許所有入站的80端口TCP流量:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

請(qǐng)注意,直接修改iptables規(guī)則應(yīng)當(dāng)謹(jǐn)慎,且通常建議先備份現(xiàn)有規(guī)則:

sudo iptables-save > /root/iptables.backup

完成規(guī)則修改后,使用iptables-save命令保存規(guī)則,確保重啟后仍然生效:

sudo iptables-save | sudo tee /etc/iptables/rules.v4

在Ubuntu上關(guān)閉端口

關(guān)閉不必要的端口是提升系統(tǒng)安全的重要措施,可以減少潛在的攻擊面,防止未授權(quán)訪問(wèn)。

使用ufw關(guān)閉端口

關(guān)閉端口的操作與開(kāi)啟端口類(lèi)似,只需將allow命令替換為denydelete命令。

  • 關(guān)閉單個(gè)端口
sudo ufw deny 22/tcp

上述命令會(huì)拒絕所有入站的TCP 22端口(SSH)流量。如果規(guī)則已存在,可以使用delete命令移除:

sudo ufw delete allow 22/tcp
  • 關(guān)閉端口范圍

如果之前打開(kāi)了一個(gè)端口范圍,如游戲端口27000至27015,可以通過(guò)以下命令關(guān)閉:

sudo ufw deny 27000:27015/tcp

編輯服務(wù)配置關(guān)閉端口

關(guān)閉端口的另一種方法是從源頭上阻止服務(wù)監(jiān)聽(tīng)該端口。這需要直接修改服務(wù)的配置文件。

  • Apache或Nginx:進(jìn)入相應(yīng)的配置文件,注釋或修改監(jiān)聽(tīng)端口的行,如將Apache的監(jiān)聽(tīng)端口從80更改為監(jiān)聽(tīng)localhost(127.0.0.1:80)或完全關(guān)閉監(jiān)聽(tīng)。

  • 數(shù)據(jù)庫(kù)服務(wù):如MySQL或PostgreSQL,同樣在配置文件中修改或注釋掉監(jiān)聽(tīng)地址和端口,然后重啟服務(wù)。

使用iptables關(guān)閉端口

直接使用iptables關(guān)閉端口涉及刪除或添加拒絕規(guī)則:

  • 拒絕特定端口

如果之前允許了22端口,可以通過(guò)以下命令拒絕:

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

或者,如果要?jiǎng)h除之前的允許規(guī)則,首先需要找出該規(guī)則的編號(hào),然后用iptables -D命令刪除:

sudo iptables -L --line-numbers
sudo iptables -D INPUT <rule_number>

定期審查與優(yōu)化

  • 定期檢查:定期檢查防火墻規(guī)則和系統(tǒng)服務(wù)配置,確保沒(méi)有開(kāi)放不必要的端口。
  • 優(yōu)化規(guī)則:移除不再需要的規(guī)則,保持防火墻規(guī)則集簡(jiǎn)潔明了,有助于性能和可維護(hù)性。

關(guān)閉端口是一個(gè)持續(xù)的過(guò)程,隨著系統(tǒng)需求的變化,應(yīng)適時(shí)調(diào)整。良好的安全實(shí)踐還包括使用自動(dòng)化工具定期審計(jì)端口狀態(tài),以及在變更系統(tǒng)配置后進(jìn)行安全測(cè)試,確保沒(méi)有無(wú)意間暴露了新的安全風(fēng)險(xiǎn)。

以上就是詳解如何在Ubuntu上檢查、開(kāi)啟、關(guān)閉端口的詳細(xì)內(nèi)容,更多關(guān)于Ubuntu上開(kāi)啟關(guān)閉端口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Apache POI簡(jiǎn)介及應(yīng)用場(chǎng)景

    Apache POI簡(jiǎn)介及應(yīng)用場(chǎng)景

    Apache POI 是一個(gè)處理Miscrosoft Office各種文件格式的開(kāi)源項(xiàng)目,我們可以使用POI在Java程序中對(duì)Miscrosoft Office各種文件進(jìn)行讀寫(xiě)操作,本文給大家介紹Apache POI簡(jiǎn)介,感興趣的朋友一起看看吧
    2023-11-11
  • Linux系統(tǒng)crontab定時(shí)運(yùn)行shell腳本失敗的問(wèn)題及解決

    Linux系統(tǒng)crontab定時(shí)運(yùn)行shell腳本失敗的問(wèn)題及解決

    這篇文章主要介紹了Linux系統(tǒng)crontab定時(shí)運(yùn)行shell腳本失敗的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Linux查看服務(wù)器硬件信息的方法步驟

    Linux查看服務(wù)器硬件信息的方法步驟

    這篇文章主要介紹了Linux查看服務(wù)器硬件信息的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • linux系統(tǒng)之如何禁用usb口

    linux系統(tǒng)之如何禁用usb口

    這篇文章主要介紹了linux系統(tǒng)之如何禁用usb口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Centos7的apache網(wǎng)站環(huán)境搭建wordpress

    Centos7的apache網(wǎng)站環(huán)境搭建wordpress

    本篇文章給大家詳細(xì)分析了在Centos7的apache網(wǎng)站環(huán)境搭建wordpress的詳細(xì)操作方法,有興趣的朋友參考下。
    2018-02-02
  • Linux 邏輯卷管理(LVM)使用方法總結(jié)

    Linux 邏輯卷管理(LVM)使用方法總結(jié)

    這篇文章主要介紹了Linux 邏輯卷管理(LVM)的使用方法,文中命令十分詳細(xì),幫助大家更好的學(xué)習(xí),感興趣的小伙伴快來(lái)參考下
    2020-06-06
  • CentOS8 安裝 jdk8 / java8的教程(推薦)

    CentOS8 安裝 jdk8 / java8的教程(推薦)

    CentOS8上使用 yum 直接安裝,環(huán)境變量自動(dòng)配置好 ,本文主要給大家介紹 CentOS8 安裝 jdk8 / java8的教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-10-10
  • Linux 下安裝 memcached 及 memcacheq的方法

    Linux 下安裝 memcached 及 memcacheq的方法

    這篇文章主要介紹了Linux 下安裝 memcached 及 memcacheq的方法,需要的朋友可以參考下
    2017-03-03
  • 利用lynis如何進(jìn)行l(wèi)inux漏洞掃描詳解

    利用lynis如何進(jìn)行l(wèi)inux漏洞掃描詳解

    這篇文章主要給大家介紹了關(guān)于利用lynis如何進(jìn)行l(wèi)inux漏洞掃描的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • Ubuntu 遠(yuǎn)程登陸服務(wù)器 ssh的安裝和配置詳解

    Ubuntu 遠(yuǎn)程登陸服務(wù)器 ssh的安裝和配置詳解

    這篇文章主要介紹了Ubuntu 遠(yuǎn)程登陸服務(wù)器 ssh的安裝和配置詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論