2019年5月2日 星期四

如何免密碼登入 Moodle 伺服器並提高後台管理安全性?

Q:
如何提高 Moodle 主機 (Linux) 的安全性,一直是重要的議題。這次談的是主機管理的部份;如何讓我們的 Moodle 主機更安全的管理呢?
要介紹給大家的是,只接受公開金鑰認證 (Public Key Authentication) 的方式,不用打帳號/密碼就可以登入 Moodle 伺服器 (經由 SSH 方式)。

A:

Step 1

在 Linux (管理端) 上產生 SSH 登入用的金鑰,可以使用 ssh-keygen 這個指令。在建立金鑰之前,要先建立 ~/.ssh 這個目錄,並設定 700 權限:
mkdir -p ~/.ssh && chmod 700 ~/.ssh

接著用 ssh-keygen 產生金鑰
ssh-keygen # or ssh-keygen -t rsa 選擇 RSA 的加密演算法

在產生金鑰的過程中,會詢問一些問題,對於一般的使用者而言,全部都使用預設值(直接按下 Enter 鍵)即可。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/seal/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/seal/.ssh/id_rsa.
Your public key has been saved in /home/seal/.ssh/id_rsa.pub.
The key fingerprint is:
c7:tt:98:xx:02:91:yy:db:12:96:zz:9d:dd:91:aa:25 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|   .=O.+oo       |
|    *.+ .o       |
|    E ++ o .     |
|     =  S o      |
+-----------------+
PS:  seal 是我們業務部同事的帳號,就是為了方便給他管理 Moodle 企業展示站台,要開帳號給他,這個方法不用知道 (他要設定的) 密碼。

這個步驟會產生兩個檔案:id_rsa.pub (公開金鑰-public key),另一個是 id_rsa (私鑰-private key)。


Step 2

接著將上一步產生的 公鑰複製到 Moodle 的伺服器上。以下兩種方式擇一即可。
ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST # or ssh-copy-id USER@HOST 也是一樣的
另外一個方式
 ssh USER@HOST 'mkdir -p ~/.ssh;cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
兩種方式都可以將公開金鑰放在 authorized_keys 內。

以上步驟完成後,就可以不用打密碼就登入 Moodle 伺服器了。

停用密碼驗證

在 Moodle 伺服器的部份,如果要全面停用密碼驗證 (用公鑰驗證),避免一些亂猜密碼的攻擊。
請在 /etc/ssh/sshd_config 中修改以下參數:
PasswordAuthentication no
PubkeyAuthentication yes
存檔後,重啟 sshd 即可生效。
systemctl restart sshd
等一下!!!請注意,這樣的方式要先留意自己的金鑰是否設定正確?確認可以不需要密碼登入之後才進行這樣的設定;否則停用密碼登入之後,如果沒有金鑰或是沒有將公開金鑰放在 Moodle server 上,就會完全無法登入該  Moodle 伺服器!!! 請小心

Moodle 出現 沒有安裝引擎 solr

當我想在 Moodle TW 內搜尋 SSH 相關 的教學時卻發現:
https://www.moodle.com.tw/search/index.php?q=ssh

沒有安裝引擎 solr

Moodle 全文檢索
看了安裝記錄,也有下了這個指令:
su - solr -c "/opt/solr/bin/solr create_core -c moodle"

經追查後才知道(到/admin/settings.php?section=manageglobalsearch)

國立臺灣大學-非同步課程管理系統

Build your academic knowledge

搜尋設定


下列步驟可以幫助你設定Moodle的全站搜尋

步驟狀態
1. 選擇搜尋引擎Solr
2. 啟用搜尋區域
3. 設定搜尋引擎No solr configuration found
4. 索引資料
5. 啟用全站搜尋

搜尋引擎

searchengine
 
預設值:Simple search



會出現這個訊息,是因為在 solr 裝完後少了一個指令:

yum install php-pecl-solr2

安裝了 php-solr 後,再重啟 Apache 就可以了。

Global search

CEIBA APP 全面上線囉! 歡迎師生下載使用

CEIBA APP 已經上線囉! Android 版本請至Google Play 搜尋「ntu ceiba」或使用Android 裝置至下方連結下載。 https://play.google.com/store/apps/details?id=tw.edu.ntu.ceiba.educator iOS 版本請至App Store 搜尋「ntu ceiba」或使用iOS 裝置至下方連結下載。 https://itunes.apple.com/tw/app/ntu-ceiba/id1197860644?mt=8

補充教材

補充教材- 台大開放式課程
http://ocw.aca.ntu.edu.tw/ntu-ocw/index.php/ocw/cou/101S210

精選文章

成績保留

最近有學生退選後再加選,在課程成績中測驗/作業成績都沒有記錄了,請問可以保留退選前取得的課程成績嗎? 是可以⭕的喔,來看看如何設定成績保留吧! 管理者 可於網站管理,點選成績後,打開一般設定,勾選「預設恢復成績」,就會恢復退選前的課程成績囉! 是不是很簡單呢😊😊 如有問題請 ...

熱門文章