自從計算機互連後,各種服務迅速發展。用戶使用的電子郵件、社交媒體、在線商城、即時聊天甚至網絡會議等服務如雨後春筍般湧現。但從另一方面來說,這些連接服務也具有雙刃劍,比如它們當中的病毒、惡意軟件、特洛伊木馬等會向計算機發送惡意消息。
安裝 UFW 防火牆
作為最大的計算機網絡,互聯網上可並不都是善意的用戶。因此,為了確保我們的計算機或服務器安全,我們需要進行保護。
在你的計算機或服務器上一個必須有的組件就是防火牆。在維基百科中,其定義是:
防火牆是計算機中一款應用軟件或基於硬件的網絡安全系統。它根據應用配置的規則,分析數據包,然後決定是否允許此數據包通過,來控制整個系統的網絡數據進出訪問權限。
iptables 是一款廣泛使用於服務器的防火牆。它是一款應用程序,它會根據一系列規則來管理服務器上的進出數據流。一般來說,只有可信任的連接才允許進入服務器。但 iptables 是在控制台模式下運行,它非常的復雜。不熟悉 iptables 配置規則和命令的用戶可以讀讀下面的文章,它描述了如何使用iptables防火牆。
推薦閱讀:
iptables—包過濾(網絡層)防火牆 http://www.linuxidc.com/Linux/2013-08/88423.htm
Linux防火牆iptables詳細教程 http://www.linuxidc.com/Linux/2013-07/87045.htm
iptables+L7+Squid實現完善的軟件防火牆 http://www.linuxidc.com/Linux/2013-05/84802.htm
iptables的備份、恢復及防火牆腳本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm
Linux下防火牆iptables用法規則詳解 http://www.linuxidc.com/Linux/2012-08/67952.htm
為了降低 iptables 設置的復雜度,有許多對應的前端應用。如果你運行的是 Ubuntu linux 系統的話, UFW 就是一款默認的防火牆工具。我們開始來探討 UFW 防火牆吧。
UFW (簡單的防火牆) 是廣泛使用的 iptables 防火牆 的前端應用,這是非常適合於基於主機的防火牆。UFW 即提供了一套管理網絡過濾器的框架,又提供了控制防火牆的命令行界面接口。它給那些不熟悉防火牆概念的 Linux 新用戶提供了友好、易使用的用戶界面。
同時,另一方面,它也提供了命令行界面,為系統管理員准備了一套復雜的命令,用來設置復雜的防火牆規則。UFW 對像 Debian、Ubuntu 和 Linux Mint 這些發布版本來說也是上上之選。
首先,用如下命令來檢查下系統上是否已經安裝了 UFW 。
$ sudo dpkg --get-selections | grep ufw
如還沒有安裝,可以使用 apt 命令來安裝,如下所示:
$ sudo apt-get install ufw
在使用前,你應該檢查下 UFW 是否已經在運行。用下面的命令來檢查。
$ sudo ufw status
如果你發現狀態是: inactive , 意思是沒有被激活或不起作用。
要啟用它,你只需在終端下鍵入如下命令:
$ sudo ufw enable
在系統啟動時啟用和激活防火牆
要禁用,只需輸入:
$ sudo ufw disable
在防火牆被激活後,你可以向裡面添加你自己的規則。如果你想看看默認的規則,可以輸入。
$ sudo ufw status verbose
輸出樣例:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip $
如你所見,默認是不允許所有外部訪問連接的。如果你想遠程連接你的機器,就得開放相應的端口。例如,你想用 ssh 來連接,下面是添加的命令。
$ sudo ufw allow ssh [sudo] password for pungki : Rule added Rule added (v6) $
再一次檢查狀態,會看到如下的一些輸出。
$ sudo ufw status To Action From -- ----------- ------ 22 ALLOW Anywhere 22 ALLOW Anywhere (v6)
如果你有很多條規則,想快速的在每條規則上加個序號數字的話,請使用 numbered 參數。
$ sudo ufw status numbered To Action From ------ ----------- ------ [1] 22 ALLOW Anywhere [2] 22 ALLOW Anywhere (v6)
第一條規則的意思是所有通過22端口訪問機器的 tcp 或 udp 數據包都是允許的。如果你希望僅允許 tcp 數據包訪問應該怎麼辦?可以在服務端口後加個 tcp 參數。下面的示例及相應的輸出。
$ sudo ufw allow ssh/tcp To Action From ------ ----------- ------ 22/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere (v6)
相關閱讀:Ubuntu下的防火牆Gufw-ufw http://www.linuxidc.com/Linux/2010-09/28519.htm