強化家庭伺服器

強化家庭伺服器

我正在考慮使用一些舊硬體和 Ubuntu 12.04 或 Debian 6 來設定一個適度的 Web 伺服器。也就是說,由於我幾乎沒有使用 Linux 保護電腦的經驗,所以我想詢問一些關於我應該採取哪些措施來保護此 Web 伺服器的建議,特別是因為我的家庭 LAN 中還有其他電腦包含敏感資訊(關於家庭銀行帳戶等)。非常感謝。

答案1

首先,您可能已經意識到這一點,但如果您有動態 IP,則需要一個動態 DNS,例如 DynDNS 或DNS退出

在安全部分,我認為使用iptables(或類似的防火牆 GUI點火器如果您願意),如果您不需要開啟 ssh 連接埠(連接埠 22)或 ftp(21)且您不會安裝郵件伺服器,則僅開啟連接埠 80 用於入站連線對於家庭伺服器來說就足夠了。

如果你的網站有登入頁面或你需要打開 ssh、ftp 或 smtp,我建議至少安裝類似的東西失敗2禁止禁止嘗試連線但未成功的 IP,這樣他們就不會永遠嘗試。

需要注意的一件重要的事情是,您必須查看日誌,以便輕鬆安裝logwatch(應該位於 Debian 和 Ubuntu 上的預設儲存庫中)每天或每週透過電子郵件提醒您。透過經常閱讀它們,您很快就會學會找出問題所在。

如果您需要從外部連接來管理伺服器,請使用 VPN,無論如何,請保持作業系統始終更新!

更新:對於SSH和sftp,我認為fail2ban +僅ssh密鑰(或密鑰+密碼但不僅僅是密碼)是您需要的最低限度(並且不允許root訪問)。

如果你用來連線的機器有固定IP,只對這些傳入的IP開啟防火牆。

加密的VPN(我使用開放VPN)也對保護您的存取安全有很大幫助。
看看這裡“快速”官方教程,在 15-30 分鐘內,您將擁有一個可供一個客戶端使用的 VPN 伺服器 - 一台伺服器。為了更好的設置具有用戶端憑證驗證和 CA(您自己的免費 CA)您還需要多花幾分鐘 :D

如果您的網站需要 MySQL 或出於任何其他原因您需要從 Internet 管理 MySQL(或其他資料庫),如果您不使用 VPN,請使用 ssh 隧道,以便連接到電腦上的本機連接埠並且隧道會加密與伺服器的連接,因此您不需要打開資料庫端口,請查看中的-L-D參數man ssh
我不會安裝 phpmyadmin 來監聽公用 IP,因為這會向世界開放您的資料庫。如果您需要,我可以在此處放置隧道的範例腳本。

相關內容