Command-Line

可以破解開放埠以訪問命令行嗎?

  • April 19, 2021

假設我在 linux 機器上的任意埠上執行自定義應用程序 - 比如說 7890。

這是一個 Go 語言 Web 伺服器。在 HTTP 之上執行應用程序。沒有 HTTPS。它作為沒有 sudo 權限的專用但“普通”使用者執行。此埠的防火牆規則允許“每個人(世界)”訪問它。

所有 ssh 訪問都是安全的,防火牆規則只允許通過一組已知 IP 進行訪問。SSH 訪問配置為僅允許基於密鑰的訪問。

這些資訊是否足以回答以下問題:

  • 攻擊者能否通過暴露的埠訪問命令行?
  • 如果前面的問題可以用“是的,如果…”來回答,那麼我需要注意哪些最重要的事情才能使應用程序無法被利用來訪問該框?

假設是沒有其他已知的安全漏洞。

顯然我不是安全專家。我希望這是足夠的資訊,可以做出明智的聲明。我認為有無數相關的問題,不能給出“絕對的”是/否,但也許一些粗略的想法足以讓我得到一個想法。

謝謝。

攻擊者能否通過暴露的埠訪問命令行?

如果您的應用程序中存在漏洞,是的。

我需要注意哪些最重要的事情才能使該應用程序無法被利用來訪問該盒子?

這是一個非常困難的問題。

  • Go是一種非常安全的語言,所以從表面上看,只有在應用程序邏輯有問題時,該應用程序才能被黑客入侵
  • 要添加額外的安全層,您可以使用 1) systemd 功能來限制守護程序可以執行的操作 2) 編寫 SeLinux/Apparmor 策略 3) 在 chroot/虛擬化環境中執行守護程序4) 在docker或任何其他輕量級使用者空間容器下執行它/管理程序

引用自:https://unix.stackexchange.com/questions/645825