HOME  /Synology
 /主要システムを2段階認証に変更する
2018年03月25日

主要システムを2段階認証に変更する

2017年の3月にこのサイトが改ざんされました。

原因はWordPressのセキュリティホールをついた攻撃でこのサイトだけでなくかなりのサイトが改ざんされたようです。

Webの記事

原因はこのサイトがWordPressのVer4.7.1を使っていた為で、このバージョンでは表示されたページである操作をするとWordPressのユーザ認証なしにコンテンツとURLの改ざんができてしまうセキュリティホールがあったようです。

サイトの復旧は下記方法で実行しました。

①コンテンツ

WordPressのレビジョン管理から復旧させましたた。

②URL改ざん

URLの復旧はマニュアル操作で復旧させました。

当然、今後この手の改ざんが起こらない様にWordPressのバージョンは4.7.3の最新版に挙げました。

WordPressやプラグインのバージョンは常に最新版にする必要性を痛感しました。

またこれを機会に他の危険性に対する対策も併せて実行しましたので紹介します。

これで完璧か否か?は判りませんが、現状よりは良くなったと思っています。

1.完全HTTPS化について

SSLの無償提供サイトの登場とSynologyがこれをサポートした事により個人のWEBサイトも完全SSL化が可能になりました。

具体的には下記ドキュメントを参照してください。

 ­Let’s Encryptの無償のSSL証明書の取得方法

­ ­完全HTTPS化に伴う変更点

HTTPでアクセスしてきた場合は自動的にHTTPSに変更させる為には下記を設定しました。

コントロールパネルのネットワーク→DSM設定タブを開き

HTTP接続をHTTPSに自動リダイレクトする項目にチェックを入れました。

これでDSMはHTTPSにリダイレクトされます。

一方、WEBサイト、仮想ホスト機能を使ってHTTPSにリダイレクトする設定が必要です。

 ­phpMyAdminのセキュリティ対策

2.2段階認証を設定する前にやる事

2ステップ認証とは、スマートフォンに表示されるワンタイムパスワード(30秒毎に更新)とサーバ側が取得するワンタイムパスワード(30秒毎に更新)が一致した時に始めてOKとなる仕掛けです。

よってスマートフォンとサーバの時刻が異なっていたら、この二つは永遠に一致しません。

①Synologyのサーバ時間の設定

コントロールパネルの地域のオプションを開くと下記画面が表示されます。

※1.NTPサーバとの同期にチェックを入れます。

※2.NTPのサーバとして事前登録されているアドレスは下記の3種類です。

time.google.com
pool.ntp.org
time.nist.gov

­ ­メモ

当初はtime.google.comを使っていたのですが、どうしてもスマホとの時間ずれが起こります。

再度、今すぐ同期ボタンを挿入すると確かに同期ずれは解消されるのですが、また時間ずれが起こってしまいます。

そこで現在は上記リストにない独立行政法人情報通信研究機構(NICT)が提供している「ntp.nict.jp」を利用しています。

設定方法は「ntp.nict.jp」を入力して、今すぐ同期ボタンを挿入するだけです。

 

②DSMやWordPressの設定で、最悪な事を想定した設定を行う。

2段階認証はどうしても事故は発生します。

それを想定し2ステップ認証が失敗した時の対策を考えておく必要があります。

 

3.SynologyのDSMに2段階認証を設定する

①利用しているスマホに、Googleの2段階認証アプリをインストールします。

 

②「コントロパネル→ユーザ→詳細タブ」を開いてください。

2ステップ認証の欄を下記設定にします。

一般ユーザはあまり権限を持っていないので、管理者グループのみを2段階認証にします。

 

③Synologyのログイン画面で管理者IDでログインするとウィザードが動きます。

・表示されたQRコードをスマホにインストールしたGoogleの認証システムで読み取ります。

・スマホに表示された6桁の認証コードを入力します。

・e-mailアドレスを入力します。

DSMにログインされ2段階認証の処理は完了します。

 

④次回からSynologyに管理者権限でログインすると下記画面が表示される様になります。

スマホに表示されたコードを入力してログインします。

 

<ログインできない場合の対策>

電話を紛失した場合をクリックします。

IDに登録してあるe-mailアドレスに1回だけ利用できる緊急コードが送られますので、このコードを入力してログインします。

 

4.WordPressに2段階認証を設定する

4-1.2段階認証の設定

①プラグイン「Google Authenticator」をインストールして有効化します。

 

②ダッシュボードの「ユーザ→あなたのプロフィール」を開く

 

Google Authenticator Settingsの各項目を設定します。

Activeにチェックを付けます。

Relaxed modeにチェックを付けます。

これはサーバとスマホの時刻が少しずれてもOKにするモードです。

この設定はスマホのコードが変わっても3分以内ならOKなので慌てずにログインできます。

Descriptionに任意の名前をいれます。

これはデバイスの2段階認証アプリに表示される名前です。

このWordPressの2段階の認証キーである事が判る名前にして下さい。

Create new secretボタンを挿入するとQRコードが表示させるので、スマホの2段階認証アプリで読み込みます

以上で設定は終了です。

 

4-2.ログインの仕方と障害対策

WordPressのログイン画面画面が下記に変更されます。

ログイン方法

スマホに表示された6桁のコードを「Google Authenticator code」欄に入れてログインします。

注)Google Authenticator Settingsが未設定でも上記画面が表示されます。
よって正しく機能しているか否かは間違ったコードを入れて確認してください。

 

ログインできない場合の対策

当該サイトの「pluginsフォルダ」の中にある「Google Authenticatorフォルダ」の名前を変更します。

すると2段階認証がないログイン画面になりますので、ログイン出来るようになります。