如果我的伺服器配置良好,為什麼我需要防火牆?
我為我工作的公司管理一些基於雲的 (VPS) 伺服器。
伺服器是執行 LAMP 堆棧/入站數據收集 (rsync) 位的最小 ubuntu 安裝。數據很大,但不是個人的、財務的或類似的(即沒那麼有趣)
很明顯,人們一直在問關於配置防火牆之類的問題。
我使用一堆方法來保護伺服器,例如(但不限於)
- 非標準埠上的 ssh;沒有密碼輸入,只有來自已知 ips 的已知 ssh 密鑰用於登錄等
- https 和受限 shell (rssh) 通常僅來自已知密鑰/ip
- 伺服器是最小的,最新的並定期打更新檔
- 使用 rkhunter、cfengine、lynis denyhosts 等進行監控
我有豐富的 unix 系統管理員經驗。我有信心我知道我在我的設置中做什麼。我配置 /etc 文件。我從來沒有覺得有必要安裝防火牆之類的東西:iptables 等。
暫時擱置 VPS 的物理安全問題。
問?我無法確定我是否天真,或者 fw 可能提供的增量保護是否值得學習/安裝以及伺服器上的額外複雜性(包、配置文件、可能的支持等)。
迄今為止(觸摸木頭)我從來沒有遇到過任何安全問題,但我也不會因此而沾沾自喜。
我注意到您在捆綁幾個不同的守護程序方面做得很好,並且根據您所說的,我認為您不太可能通過您已經獲得的那些服務將自己暴露在麻煩中。這仍然使您處於“除了我禁止的之外,一切都被允許”的狀態,並且您無法通過逐個追踪守護程序並逐個保護它們來擺脫該狀態。
預設情況下配置為DENY ANY的防火牆會將您帶到“除了允許的之外,一切都被禁止”的操作模式,多年來我發現它們更好。
現在,給定一個在你的系統上擁有合法 shell 的合法使用者,她可以決定執行一些本地非特權守護程序來代理 Internet 的 Web 請求,或者在埠 4662 上啟動文件共享,或者使用 -g 意外打開一個偵聽器使用 ssh 埠隧道,不了解它的作用;或者 sendmail 安裝可能會讓您在埠 587 上執行 MUA,儘管您在埠 25 上保護 MTA sendail 所做的所有工作都沒有正確配置;或者一百零一件事情可能會發生而繞過您仔細周到的安全措施,僅僅是因為當您仔細考慮要禁止什麼時它們不在身邊。
你明白我的意思嗎?目前,你已經付出了很多努力來保護你所知道的所有事情,聽起來他們不會咬你的。可能會咬你的是你不知道的事情,或者現在根本不存在的事情。
預設為DENY ANY ANY的防火牆是系統管理員的說法,即如果出現新事物並在此伺服器上打開網路偵聽器,在我給予明確許可之前,任何人都無法與之交談。