Synology NASに対するブルートフォース攻撃と思われる不正アクセスが頻発してきました。対策としてfirewallを設定して不正アクセスを削減します。
1.Synology NASへのブルートフォース攻撃の内容
Synology NASのログチェックをしていて、怪しげな警告ログが多発しているのに気づきました。
Synology NASのログセンターに記録されたログの抜粋を以下に示します。
ログの解析結果から以下のことがわかりました。
- adminユーザに対するDSM(ポート5000および5001)へのアクセスを試みている。
- 4~5分毎に1回の頻度で攻撃を行っている。
- 不正アクセス元のIPアドレスは都度変わる。ただし、IPアドレスは完全にユニークではなく、同一IPアドレスから日に2~3回はアクセスがある。
都度変わるIPアドレスの発信元は、世界中の様々な国からとなっていました。
いわゆる分散型ブルートフォース攻撃で、攻撃者は世界中にある支配下コンピュータを使って、同時多数のブルートフォース(辞書総当たり)攻撃を図っているのだと思われます。
分散型ブルートフォース攻撃を完全に防ぐのは困難なのですが、不正アクセスの度にDSMコンソールが反応することとなり、余計なサーバ負荷がかかるため、Synology DSMのfirewall機能を設定して不正アクセス対策を行うこととしました。
なお、基本的なセキュリティ対策として、adminユーザの無効化、および2要素認証の設定によるパスワード以外のログイン認証の強化は実施済なので、今回のfirewall設定の目的は迷惑行為への防御といったところが大きいです。
2.firewall設定ポリシー
攻撃内容を踏まえて、Syology NASのfirewall設定ポリシーを検討します。
前提条件として、ルーター(ホームゲートウェイ)のfirewallは設定済であり、必要最小限のポートのみ開け、当該ポートへのアクセスがSynology NASへ静的IPマスカレードにより転送されているものとします。
不正アクセスされているのはDSMのポート(5000および5001)なので、上記ポリシーで、少なくとも発信元が国内であるアクセス以外は遮断されるため、不正アクセスは大幅に減らすことが可能です。
WebポートはWebサーバを公開している都合上、フィルタリングは無しとします。また、VPNのポートもいざというときのためにフィルタリング無しとしておきます。
それ以外の公開ポートについては、自分が基本的に国内で活動している範囲内では困らないので、日本以外からのアクセスは遮断とします。
3.firewall設定手順
DSMコンソールより[コントロールパネル]>[セキュリティ]>[ファイアウォール]を選択します。
[全般]で[ファイアウォールを有効にする]にチェックを入れます。
すると[ファイアウォールプロファイル]の[規則の編集]が操作可能になるので、クリックします。
[プロファイルの編集]ダイアログで規則の編集を行い、ルールを作っていきます。
ルールは、firewall設定ポリシーで検討した通り、
①発信元ローカルアドレス(自宅LAN内)の通信はすべて通す。
②Webポート(ポート80および443)およびVPNポートはすべて通す。
③外部アクセスを許容しているポートのうち、上記以外のポートは発信元が日本の場合のみ通す。
④上記ポリシーに合致しない通信はすべて遮断する。
となります。
3-1.「発信元ローカルアドレス(自宅LAN内)の通信はすべて通す」ルールの作成
[プロファイルの編集]ダイアログにて、ファイアウォールルールの[作成]釦をクリックします。
[ファイアウォールルールの作成]ダイアログが表示されますので、ポートは[すべて]、操作は[許可]とし、ソースIPは[特定IP]として[選択]釦をクリックします。
[ソースIP]の編集ダイアログにて、[サブネット]を選択し、IPアドレスおよびサブネットマスクの欄にローカルLANのIPアドレスおよびサブネットマスクを入力します。
入力が完了したら[OK]釦をクリックしてルールの作成を完了させます。
上記を、ローカルアドレスとして必要なアドレスについてすべてルールを作成します。
参考までに、我が家のローカルアドレスルールとして作成したIPアドレスは以下の通りです。
アドレス種別 | 値 | 参照箇所 |
---|---|---|
IPV4アドレス | 192.168.1.0/255.255.255.0 | [コントロールパネル]>[システム]>[情報センター]>[ネットワーク]>[IPアドレス] |
IPV6リンクローカルアドレス | fe80::/64 | [コントロールパネル]>[システム]>[情報センター]>[ネットワーク]>[IPv6アドレス(リンク)] |
IPV6アドレス | 240b:253:8001:4500::/64 | [コントロールパネル]>[システム]>[情報センター]>[ネットワーク]>[IPv6アドレス(グローバル)] |
Dockerのbridgeアドレス | 172.17.0.0/255.255.255.0 | DSMのUI上は確認できる箇所がないため、NASにsshでログインしてifconfigコマンドの実行結果で確認。docker0というブリッジデバイスのIPとサブネットを取得 |
VPNサーバのローカルアドレス | 10.2.0.0/255.255.255.0 | [VPNサーバ]>[概要]>[IP範囲] |
3-2.「Webポート(ポート80および443)およびVPNポートはすべて通す」ルールの作成
3-1と同様、[プロファイルの編集]ダイアログにて、ファイアウォールルールの[作成]釦をクリックします。
[ファイアウォールルールの作成]ダイアログが表示されますので、ソースIPは[すべて]、操作は[許可]とし、ポートを[組み込みアプリケーションリストから選択]として[選択]釦をクリックします。
[組み込みアプリケーションの選択]ダイアログより、Webポート(80,443)およびVPNポート(500,1701,4500 UDP)を選択して[OK]をクリックし、ルールの作成を完了させます。
3-3.「発信元が日本の場合のみ通す」ルールの作成
3-2と同様、[プロファイルの編集]ダイアログにて、ファイアウォールルールの[作成]釦をクリックします。
[ファイアウォールルールの作成]ダイアログが表示されますので、ソースIPを[位置]としてから[選択]釦をクリックします。
[位置]ダイアログで[日本]を選択して[OK]をクリックします。
ポートを[組み込みアプリケーションリストから選択]として[選択]釦をクリックし、[組み込みアプリケーションの選択]ダイアログでポートを選択するところは3-2と同様です。ここでは、3-2で選択したWebポートとVPNポート以外の、外部公開する組み込みアプリケーションのポートを選択します。
3-4.「ポリシーに合致しない通信はすべて遮断する」ルールの作成
[プロファイルの編集]ダイアログにて、ファイアウォールルールの[作成]釦をクリックし、[ファイアウォールルールの作成]ダイアログが表示されますので、ポートは[すべて]、ソースIPは[すべて]操作は[拒否]として[OK]をクリックし、ルールの作成を完了させます。
3-5.ルールの順番確認
firewallのルールは並び順が重要で、上から順番にルールに適合するか評価して行き、ヒットした時点でそれ以降のルールはチェックされません。
よって、ヒットする頻度の高いルールをより上位にし、すべてを遮断するルールが最後になるように並びを調整します。
並びの調整が終わったら、[プロファイルの編集]ダイアログで[OK]をクリックし、ファイアウォールの[適用]をクリックすることでfirewall設定は完了です。
firewall設定に問題がないか、一通りアプリケーションでのアクセスを行って、必要な通信が通ることを確認します。
4.firewall設定の効果
firewall設定により不正アクセスのアクセス元が日本以外が遮断されたため、DSMへの不正アクセスの頻度が4~5分毎に1回のレベルから、1~2時間に1回のレベルまで減らすことが出来ました。
不正アクセスでログに記録されている送信元IPアドレスは、すべて発信元が日本となっていましたので、firewallが効果的に遮断していることがわかります。
5.まとめ
Synology NASでfirewall設定を行う手順について紹介しました。
ルーターで必要最小限のポートしか開けていなかったこともあり、NASのfirewall設定は後回しにしていましたが、やはりインターネットに公開しているサーバは不正アクセスに晒されるため、セキュリティ対策は重要だと改めて認識しました。
以上、最後まで記事を読んでいただき、ありがとうございました。