2015年11月15日 星期日

Ubuntu安裝Redmine(5) --- OpenSSL啟用

前面介紹幾篇安裝教學文都是為了要安裝 Redmine 而鋪的路,接下來介紹的是設定連結的安全性,有時大專案的效益是很驚人的,萬一在上傳或下載的過程中,重要機密被攔截外洩,將會造成公司的嚴重損失,所以我們還是要將安全性考量進來,將傳輸過程進行加密的動作。

Ubuntu在安裝時會將加密模組(SSL)一起進行安裝,但如果沒有去設定,將無法使讓他發揮加密效果,接下來介紹讓各位了解如何去設定與啟動加密模組SSL。

安裝步驟如下
先確認Openssl套件是否存在
dpkg --get-selections | grep openssl
啟動 Apache2 的 SSL 模組。
a2enmod ssl

Apache2 SSL 連線設定步驟如下:
1.產生伺服器的金鑰
2.建立憑證要求 (Certificate Signing Request)
3.產生自我簽署憑證 (Self-Signed Certificate)
4.設定 Aapche2 Virtual Hosts

1.產生伺服器的金鑰
openssl genrsa -out myserver.key 2048

2.建立憑證要求 (Certificate Signing Request)
openssl req -new -key myserver.key -out myserver.csr

3.產生自我簽署憑證 (Self-Signed Certificate)
openssl x509 -req -days 365 -in myserver.csr -signkey myserver.key -out myserver.crt

安裝憑證
mkdir /var/www/ssl
cp myserver.crt /var/www/ssl
cp myserver.key /var/www/ssl
PS:存放憑證與金鑰的路徑要記住,在Apache2的設定檔上又正確填入。

4.修改設定檔與對外連結Port設定檔
(1)修改Aapche2設定檔
vi /etc/apache2/sites-available/000-default.conf
在設定檔中填入憑證與金鑰的群放路徑,注意路徑要填對,不然無法正常連線。
SSLEngine On
SSLCertificateFile /var/www/ssl/apache.crt
SSLCertificateKeyFile /var/www/ssl/apache.key

(2)修改對外連結Port設定檔,將Listen 80這行註解掉,不要讓Apache2 Listen port 80。
vi /etc/apache2/ports.conf

啟動站點。
a2ensite 000-default.conf
PS:Apache提供了兩個工具分別是a2ensite和a2dissite,它們都在apache2-common裡,a2ensite可以啟動apache2資料夾/etc/apache2/sites-available中包含設定檔的站點,a2dissite的作用正好相反。

最後重新啟動 Apache2
service apache2 restart

開啟瀏覽器輸入 https://127.0.0.1/iinfo。

點選繼續瀏覽後才成見到頁面。

若輸入http://127.0.0.1/iinfo,可是無法連到網頁,這樣表示SSL啟動成功。

再換外部機器與開啟IE瀏覽器測試一下目前加密連線,輸入https://192.168.0.18/iinfo/,畫面依樣被擋。

點選後繼續瀏覽,在網址列上查看憑證內容。

憑證資訊就是剛剛在建立憑證時所輸入的全部資訊。


參考資料: