提高伺服器安全性
我一直在開發 webapps ……而且我總是有一個系統管理員,它使環境完美地執行我的應用程序,不用擔心。
但是現在我自己開始了一個項目,我需要設置一個伺服器,對此幾乎一無所知。
我需要做的只是擁有一個 Linux,帶有一個網路伺服器(我通常使用 Apache)、PHP 和 MySQL。我還需要 SSH、SSL 來執行 https:// 和 FTP 來傳輸文件。
我知道如何使用 Ubuntu Server 安裝幾乎所有東西(需要關於 SSL的建議),但我擔心安全話題……比如:防火牆、開放/關閉埠、php 安全等…… 我在哪裡可以找到一個好的涵蓋此主題的指南?
伺服器中的其他所有內容……我不需要它,我想知道如何刪除它,以避免資源消耗。
最後一點:我將在 amazon-ec2 或 rackspace 雲伺服器上執行 webapp。
提前致謝!!
我一直在開發 webapps ……而且我總是有一個系統管理員,它使環境完美地執行我的應用程序,不用擔心。
但是現在我自己開始了一個項目,我需要設置一個伺服器,對此幾乎一無所知。
您需要聘請系統管理員。如果不出意外,可以教您基礎知識並在您存在知識差距的地方為您提供支持。
你在這裡說的相當於“我總是在需要工作的時候把我的車帶到修理工那裡,但現在我想在車道上更換我的引擎”——我們可以給你車間手冊和一些工具,但有超過 50% 的機會最終會破壞它。
假設您不想听我剛剛給您的合理建議,請繼續閱讀……
我知道如何使用 Ubuntu Server 安裝幾乎所有東西(需要關於 SSL的建議),但我擔心安全話題……比如:防火牆、開放/關閉埠、php 安全等……我在哪裡可以找到一個好的涵蓋此主題的指南?
“需要關於 SSL 的建議”過於寬泛,無法為您提供一個好的答案***。***你有什麼不明白的?(您不清楚如何獲得證書嗎?您的 CA 可以引導您完成該過程。您不確定如何安裝證書以便 Apache 可以使用它?大多數 CA 都有快速指南和Apache 手冊(SSL 部分)也是你應該熟悉的。
更廣泛的安全主題通常無法回答,但根據您的“我不是銀行”評論,我可以看出您對安全的一般態度是錯誤的。
安全性不是您從指南中獲得的東西,也不是您揮手就走的東西——它是一種查看系統(並配置和維護它們)以將危害風險降低到最低實際水平的方法,並承諾使您的系統保持最新狀態以保持低風險水平。
任何體面的安全指南都需要一個沒有經驗的使用者從零開始超過一天的時間來完成,可能還要一兩天才能變成伺服器配置(預計會破壞事情並且必須至少重新開始一次)。
有經驗的系統管理員可以更快地完成保護伺服器的過程,因為他們以前做過。此外,經驗的好處是他們可能會知道做 Joe Random 的安全教程中沒有出現的事情。
伺服器中的其他所有內容……我不需要它,我想知道如何刪除它,以避免資源消耗。
不執行的東西不會消耗資源(磁碟空間除外,除非您正在做數據倉庫,否則它實際上是無限的),並且通常只會造成有限的安全威脅。排除了偏執級別的安全性(甚至從生產主機中刪除編譯器),關閉不必要的東西的通用 Linux 機器是一個非常安全的起點。
也就是說,如果您想將砍刀帶入您的系統並開始破解已安裝的軟體,那麼您確實需要以前做過的人來指導您的手。Debian/Ubuntu 通常是一個對新手非常友好的系統,但是如果你告訴它你想解除安裝一半的系統,它會按照你的要求去做——可能會在這個過程中留下一台無法使用的機器。
經驗豐富的管理員會知道您必須保留哪些內容、應該保留哪些內容以及需要刪除或禁用哪些內容。開發該列表是特定於環境的,超出了我們在簡單的問答網站上所能做的。