2015-11-06 41 views
2

我試圖想到爲什麼Tomcat會有一個關閉端口,但我想不出任何。據我瞭解,這個端口只適用於本地消息,因爲它連接到環回設備,因此有什麼意義?難道這不是通過內部命令完成的,不能被網絡外部的人欺騙嗎?爲什麼在Tomcat中有關閉端口?

謝謝!

+0

*可以*它的做法不同嗎?是! *有*它做了不同的?沒有!誰在乎?這是關閉命令連接到終止服務器。 –

+0

我在乎。如果一種形式比其他形式更安全,那麼爲什麼最不安全? – Ulukai

+0

@OlafKock無論如何感謝你的建設性意見。 – Ulukai

回答

9

關閉端口提供了一種操作系統中立,可腳本化的方式來關閉Tomcat實例。一旦你移除了關閉端口,你幾乎肯定會進入操作系統特定代碼的領域(或者至少是Windows和Unix加衍生產品的不同代碼)。默認情況下,Tomcat的目標是在所有平臺上進行常見的配置和行爲。

Tomcat安裝的安全配置文件從單個開發人員機器到數千個雲中的實例大不相同。默認配置對於所有可能的安裝環境來說都是完美的。 Tomcat的目標是確保管理員可以根據自己的環境進行適當的默認調整。

在這種情況下,如果不信任的用戶a)有權訪問關閉端口並且b)知道關閉命令,則會出現安全風險。這應該是一個相當少見的情況,因此默認情況下關閉端口爲localhost保持啓用狀態的原因。我當然不想在我不信任用戶的機器上運行一項服務,因爲我關心它的安全性。這就是說它確實發生了,對於這些用例,關閉端口可以被禁用。

關閉端口被禁用後,Unix +衍生產品解決方案將設置TOMCAT_PID,腳本將繼續按預期工作。在Windows上,您可能需要作爲服務運行。

1

我設法找到更多可以傳遞給服務器容器here的參數。

除了默認設置,您還可以傳遞address屬性,該屬性允許您指定Tomcat可以關閉的位置,這樣更有意義。

但我仍然覺得(因爲似乎沒有理由不這樣做),它應該被默認禁用。