
我正在尋找的是某種方法,在我自己的計算機上運行某種命令,將我的 PHP 腳本和某種配置文件“烘焙”到單個文件的黑盒子中,例如My server.abc
,這對於任何人都可以“窺視”,我只需將其上傳到某些公司的網站,然後進入他們的大型“雲端計算機”或其他什麼,然後只要我支付賬單就運行,而他們不知道是什麼在這個加密的“盒子”裡面;他們所看到的只是它發送資料包和接收資料包。設定檔只是我想要的軟體的一個非常抽象的列表,例如:“PHP 8、PostgreSQL 13、nginx 123、sshd”,以及一個簡單的登入/密碼,以便我能夠透過 SFTP 存取它/SSH。
我完全認識到這一點可能是技術上不可能,但根據我對計算機的理解,聽起來這是可能的,即使實際上不可能可用的由於其他原因。
我無法在家裡託管伺服器。特別是不是一個預計大部分時間都可用的網頁伺服器。 (實際上我已經這樣做了很多年,但當互聯網出現故障、停電、火災、硬體損壞或遭受 DDoS 攻擊時,這就是一場噩夢。)
我無法使用“網站主機”,我向一些公司付費,讓我可以在其中放置我的文件和網路控制面板,進行一點 SFTP 登入。它們幾乎都不支援 PostgreSQL(我使用的資料庫),但即使它們支持,這個環境也根本不安全。
我無法向某些公司支付我自己管理和管理的專用伺服器的費用。嗯,實際上,我可以這樣做,但由於我這樣做了很多年,並且幾乎因壓力而讓自己發瘋,所以如果可能的話,我想避免這種情況。另外,儘管它是“專用的”,但它超出了我的控制範圍,而且他們通常使用高度不安全的遠端管理解決方案。另外,如果出於某種原因我不能在半夜照顧伺服器並應用補丁,它很快就會變得不安全。另外,如果可以的話,我非常希望我一生中不再使用 FreeBSD、Linux 或 Windows Server...
(虛擬機與上面的東西是一樣的,只是它是一個虛擬機,還有一些額外的問題,例如時鐘漂移之類的。)
我無法付費給某些公司提供「託管」專用伺服器,讓他們處理所有壓力。主要是因為我不相信他們有能力,過去與 IT「專業人士」打過很多次交道,但也因為這當然要花更多的錢。
我不能向某些公司支付模糊的「雲端」服務費用,因為這又不安全。非常不清楚我的“伺服器”在哪裡以及如何存在,它也可能是一個虛擬機器/網站主機帳戶。另外,也許我只是運氣不好,但幾年前我實際上嘗試過同時使用 AWS、Azure 和 IBM 的雲端解決方案,而且我甚至無法註冊/登入其中兩個,而且 Azure 的故障非常可笑。不可能設定測試“伺服器”!
我知道存在「Docker」和類似的東西,但我一直無法真正弄清楚如何使用它。我確實花了很多時間。這似乎根本不是我想要的。
請不要告訴我,我一直在桌面電腦上進行 100% 的資料處理,整天產生靜態 HTML 文件,然後透過 SFTP 同步到網站主機帳戶。因為如果我無法安全地運行我的東西,那是我所想到的絕望的「最後手段」。當然,這將意味著我的網站將沒有互動性,也無法「登入」。這樣一切都會變得更加困難,但如果我無法以真正安全的方式做到這一點,我就無法信任其他人擁有我和我的用戶的資料。
答案1
普遍接受的簡化是,無論您在軟體中內建何種保護措施和加密,它們都無法保護您免受完全控制軟體運行硬體的堅定對手的攻擊。
如果是這種情況:即使是大公司如何以及為什麼仍在使用雲端解決方案,他們無法控制實體硬件,即使是他們需要保護的有價值且敏感的應用程式和數據?
他們是否只是相信託管提供者能夠保證硬體以及最終數據和應用程式的安全?
本質上是的,但這並不“簡單”。
有成本效益和風險分析以及風險管理流程。
一般這些公司都採取技術措施 控制風險(或至少應該盡一切努力),以確保即使對手控制了硬件,使用該訪問權限也不會很容易或微不足道,例如通過實施(全盤)加密用於存儲數據剩餘、系統和用戶之間所有通訊的傳輸加密、交易的簽名和不可否認性等。
這樣他們就不再僅僅依賴軟體和加密解決方案來進行風險管理;他們做他們的盡職調查選擇受信任的各方來管理硬體並讓他們嚴格簽署有 SLA 和懲罰條款的合同讓他們保持誠實。
而企業一般審核和驗證他們自己的員工和團隊以及他們的供應商是否真正兌現了他們的承諾和應該做的事情。