首頁 >系統教程 >Linux >探討如何保護你的 Linux 伺服器

探討如何保護你的 Linux 伺服器

WBOY
WBOY轉載
2024-01-01 15:56:261074瀏覽

浅谈为你的 Linux 服务器加把锁 

無論你使用的哪種 Linux 發行版,你都需要使用基於 iptables 的防火牆來保護它。

啊哈!你已經設定好了你的第一台 Linux 伺服器並且已經準備發車了!是麼?嗯,慢著。

預設情況下,你的 Linux 系統對攻擊者來說並非是足夠安全的。當然,它比 Windows XP 安全多了,但這說明不了什麼。

想要讓你的 Linux 系統真正穩固,你需要按照 Linode 伺服器安全指南 來操作。

總的來說,首先你必須關閉那些你不需要的服務。當然要這樣做的話,你先要知道你正在使用哪些網路服務。

你可以使用 shell 指令來找到是哪些服務:

netstat -tulpn

netstat 將會告訴你正在執行哪些服務和這些服務正在使用的連接埠是什麼。如果你不需要其中的某項服務或端口,你就應該關閉它。例如,除非你正在運行一個網站,否則你是不需要運行中的 Apache 或 Nginx 伺服器,也不需要開啟 80 或 8080 連接埠。

總之一句話,不確定的話,就關了它先。

在一個最簡單的,沒有做過任何額外更改的 Linux 伺服器上,你會看到 SSH、 RPC 和 NTPdate 運行在它們的公開連接埠上。不要添加像 telnet 這樣陳舊且不安全的 shell 程序,否則老司機就會在你不經意間將你的 Linux 小跑車開走了。也許,在 80 年代的時候你喜歡把 telnet 當作你 SunOS 機器上的備份登入方式,但那早已成為了過去。

就 SSH 來說,你應該使用 RSA 金鑰 和 Fail2Ban 來加強。除非你需要 RPC,否則就卸載它——如果你不知道需要不需要它的話,那就是不需要。

關於如何關門已經說的夠多了;讓我們來聊聊利用 iptables 來鎖定進來的流量吧。

當你啟動 Linux 伺服器的時候它是沒有任何規則的。這就意味著所有的流量都是被允許的。這當然是不好的。因此,你需要及時的設定你的防火牆。

Iptables 是一種用來給 netfilter 設定網路策略規則的 shell 工具,netfilter 是Linux 系統下的預設防火牆,它利用一組規則來允許或禁止流量。當有人嘗試連接上你的系統——有些人無時不刻地嘗試這麼乾,而且從不氣餒——iptables 就會檢查這些請求是否與規則列表相符。如果沒有符合任何的規則,它就會採取預設操作。

這個預設操作應該是將連線「Drop」掉,也就是禁掉這些意圖闖入者。而且這不會讓他們知道這些網路探測行為發生了什麼事。 (你也可以將連結「Reject」掉,但這會同時讓他們知道你有一個正在運行的Linux 防火牆。就目前而言,讓陌生人能獲取到我們系統的資訊越少越好。至少,我是這麼認為的。)

現在,你可以用 iptables 來設定你的防火牆了。我已經這麼做了。就像以前,我騎著腳踏車去六英里外上班,兩邊都是上坡。而現在,我開車去。

這其實比喻的是我使用 Fedora 發行版的 FirewallD 和 Debian 系列發行版的 UFW(Uncomplicated Firewall)。這些都是易用的 iptables 的 shell 前端。你可以在以下的 Linode 指南中找到適合的使用方式:FirewallD 和 UFW。

本質上來說設定這些規則就是在你的伺服器上放置「非請勿入」的告示牌。用起來吧。

但是也別太興奮地把所有的連結都關閉了。例如:

sudo ufw default deny incoming

看起來是個好主意哦。別忘了,它禁止了所有鏈接,包括你自己哦!

很好,它就是這麼做的。這意味著它也同樣禁止了 SSH 的登入。也就是說你再也不能登入你那新伺服器了。哇哦!

不過,如果你犯了錯,錯誤的將更多的連結都禁止了。你看,老司機也同樣被你擋在門外了。

或者,更準確得說,這不是你或你的伺服器所遇到的個別現象。當然,你也不是每天受到 3 億多次攻擊嘗試的美國國家安全局(NSA)。但是攻擊腳本根本不在乎你是誰。它只是不斷的檢查尋找網路中存在已知漏洞的伺服器。在平常的一天中我自己的小伺服器就會受到數以百計的攻擊。

都這樣了,你還在等什麼呢?去吧,加強你的網路服務。安裝 FirewallD 或 UFW 來加固你的伺服器吧。你會願意去做的。

以上是探討如何保護你的 Linux 伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除