Ubuntu based GNU/Linux 上的防火牆 (ufw) 基本設定

早期在 Linux 上設定防火牆多事透過 iptables 這隻程式在下規則,不過說真的,對於新手或是要求很基本的使用者來說,iptables 有些功能其實用不到,例如 nat, forward等等的, 而且語法有點複雜,我自己也是常常要邊翻 man page 、筆記邊操作,後來有了令一套全名叫作 Uncomplicated Firewall 的 ufw,意思就是簡單的、不複雜的防火牆,相對於 iptables 來說,ufw 是真的簡單很多了!ufw其實只是一個 iptables 的前端設定程式,最後的規則都還是會走 iptables ,而且比較複雜的功能還是要直接透過 iptables 才有辦法做到!如果想看 ufw 設定完的 iptables 結果只要用這個命令就可以看到了:iptables -L -n

今天來講一下 ufw 的 “基本” 使用方式,Ubuntu 14.04 有內建 ufw,Debian要自行安裝,透過 apt-get 就可以了:

$ sudo apt-get install ufw

接下來示範的操作都在 Ubuntu 14.04 上面進行,不同的系統可能會略有出入,但應該都大同小異。

ufw 預設是停用的,要啟用 ufw 的話命令如下,關鍵字分別是 enable 和 disable,也就是啟用和停用,因為需要 root 權限,所以命令前面會加上 sudo:

$ sudo ufw enable
 Firewall is active and enabled on system startup

同樣的,停用 ufw 會這樣做:

$ sudo ufw disable
 Firewall stopped and disabled on system startup

要確認 ufw 已經啟用,可以看一下 ufw 的 status:

已啟用的結果:

$ sudo ufw status
Status: active

未啟用的結果:

$ sudo ufw status
Status: inactive

那防火牆的允許跟禁止規則怎麼下呢?
關鍵字是 allow 跟 deny,allow 表示允許,deny 表示拒絕

先講怎麼設定防火牆預設行為,也就是對於沒有手動設定規則的連線該怎麼處理

比較安全的設定方式,建議把預設連入設定為 deny ,也就是沒有手動設定允許通過的連線就會被擋下來:

$ sudo ufw default deny

明確一點的指令是這樣:

$ sudo ufw default deny incoming
閱讀全文

用 nginx 建置一個 A+ 等級的 https 網頁伺服器

隨著資安意識提升、 Google 把網站的 https 列為搜尋引擎的排行指標,越來越多的網站開始導入 https 以確保伺服器以及使用者端兩個端點之間的安全溝通,先前在 10 web server online https/ssl testing services 有列出了一些可以協助網管人員測試網頁伺服器安全性強度的服務(注意是”網頁伺服器”而不是”網頁應用程式”),讓大家可以參考看看,其中 Qualys SSL LabsSSL Server Test 算是近期非常熱門的一個測試跟服務,其測試報告以及評分標準算是非常簡單易懂,以截至目前為止(2015年10月25日)的最新版本”2009j (20 May 2015)“為例,給分主要從 A ~ F,Protocol support、Key exchange 及 Cipher strength 分別占總分的30%、30%及40%,相關的細節都可以在SSL Server Rating Guide (PDF) – Qualys SSL Labs 裡面找到,Qualys SSL Labs也提供了一份 SSL/TLS Deployment Best Practices Guide,但看起來近期沒更新就是了,停留在 Version 1.4 / 8 December 2014。

對於一些非網管或是相關背景的網站管理員來說,該如何有效的提升自己架設的伺服器安全性強度? 又如何改善各安全測試出來的分數? 由於最近有些人在問相關的問題,我找了一下發現好像沒有中文的資源在提供這方面的指南,所以決定野人獻曝一下稍微分享我知道的做法。另外必須說明的是,安全性跟方便性從以前到現在就是兩難,例如夠安全的密碼基本上都是由不同的元素以及夠長的長度組成,相對來講就會不好記,在伺服器安全性上的問題亦然,較好的安全性會使得 Windows XP,Java 6 的使用者受到影響,如果還有遇到這使用如此老舊軟體的使用者,還是勸他趕緊換個平台吧 …

開頭先說一個比較不影響這次評分 (https) 但大家可能也會想要處理的一塊,關於 Web server 的 response header 處理的部分,可以參考先前寫的 “用Apache/nginx&PHP架網站要注意的安全事項” ,將不必要的Server資訊隱藏起來,那接下來就講這次的重點,關於伺服器的安全性設定以及該如何提高分數!

閱讀全文

Stop the annoying USB power autosuspend under GNU/Linux

Got a problem that the usb mouse will been poweroff/suspend periodically on Linuxmint 17 when the notebook is not in ac mode, here is a quick fix without rebooting system:

echo "-1" | sudo tee /sys/bus/usb/devices/*/power/autosuspend_delay_ms
echo "on" | sudo tee /sys/bus/usb/devices/*/power/control

For permanent change, for example on Debian / Ubuntu based GNU/Linux, with usbcore module:

echo "options usbcore autosuspend=-1" | sudo tee /etc/modprobe.d/disable-usb-autosuspend.conf 
options usbcore autosuspend=-1

Reference:

Linux kernel Power Management for USB documentation:
https://www.kernel.org/doc/Documentation/usb/power-management.txt

How to disable auto power off of usb devices like usb mouse?
http://askubuntu.com/a/301416

Linux tricks – the ‘the Matrix’ like effect via cmatrix

cmatrix is a program make your screen looks like the Matrix, one of the most interesting action movie.

Install cmatrix via apt-get:
$ sudo apt-get install cmatrix
And just run cmatrix:
cmatrix