対象機種: AG10(ほかの機種はインターフェイス名が異なります。『G1.4 インターフェイスとポートの対応』を参照してください)
パケットフィルタリングで、本製品への SSH 接続を、LAN 側と特定の管理端末からだけ受け付けるように制限します。
注意: パケットフィルタリングの設定は、入力した時点ですぐに反映されます。手順の順序を誤ると、作業中の SSH 接続が切れ、本製品に接続できなくなります。特に WAN 側(LTE 回線など)からリモートで作業する場合は、許可するルールをすべて作成してから、最後にデフォルトポリシーを drop にしてください。可能であれば、LAN 側やシリアルコンソールから作業してください。
この設定例は、G2.1〜G2.3 の構成を前提にしています。
管理端末 203.0.113.10 その他の端末
| SSH 許可 | 破棄
+-----------+--------------+
|
インターネット
|
ecm0
+-------------------+
| 本製品(AG10) |
+-------------------+
br0 192.168.0.254/24
| すべて許可(SSH、DHCP、DNS など)
LAN 192.168.0.0/24
本製品宛てのパケットは、パケットフィルタリングの input で扱います。input のルールは、インデックス番号の小さい順に確認され、最初に合致したルールが適用されます。どのルールにも合致しなかったパケットには、デフォルトポリシーが適用されます。
| インデックス | 合致条件 | ポリシー | 目的 |
|---|---|---|---|
| 10 | 接続の状態が related、established | accept | 本製品から開始した通信の戻りパケットを許可する |
| 20 | 入力インターフェイスが lo | accept | 本製品内部の通信を許可する |
| 30 | 入力インターフェイスが br0 | accept | LAN 側からの通信をすべて許可する |
| 40 | 入力インターフェイスが ecm0、送信元が 203.0.113.10、TCP の宛先ポートが 22 | accept | 管理端末からの SSH を許可する |
| デフォルトポリシー | ― | drop | 上記以外を破棄する(最後に設定する) |
SSH を有効にします。SSH は初期状態で無効です。すでに有効な場合(show config ssh で enable と表示される場合)は不要です。
amnimo# configure
amnimo(cfg)# ssh
amnimo(cfg-ssh)# enable
amnimo(cfg-ssh)# exit
amnimo(cfg)#現在の input の設定を確認します。インデックス番号 10、20、30、40 が使われていないこと、デフォルトポリシーが accept であることを確認します。
amnimo(cfg)# show config filter input戻りパケットと内部の通信を許可するルールを作成します。
amnimo(cfg)# filter input 10
amnimo(cfg-fin-10)# policy accept
amnimo(cfg-fin-10)# match conntrack state related,established
amnimo(cfg-fin-10)# enable
amnimo(cfg-fin-10)# exit
amnimo(cfg)# filter input 20
amnimo(cfg-fin-20)# policy accept
amnimo(cfg-fin-20)# match in-interface lo
amnimo(cfg-fin-20)# enable
amnimo(cfg-fin-20)# exitLAN 側(br0)からの通信を許可するルールを作成します。このルールがないと、デフォルトポリシーを drop にした時点で、LAN 側からの SSH や GUI へのアクセス、本製品の DHCP サーバーや DNS への要求も破棄されます。
amnimo(cfg)# filter input 30
amnimo(cfg-fin-30)# policy accept
amnimo(cfg-fin-30)# match in-interface br0
amnimo(cfg-fin-30)# enable
amnimo(cfg-fin-30)# exitmatch in-interface には、ブリッジ配下のインターフェイス(lan0 など)ではなく、ブリッジ(br0)を指定します。ブリッジ配下のインターフェイスを指定すると、ルールに合致しません。管理端末からの SSH を許可するルールを作成します。1 つのルールに設定した複数の match は、すべてに合致したときだけ適用されます(AND 条件)。
amnimo(cfg)# filter input 40
amnimo(cfg-fin-40)# policy accept
amnimo(cfg-fin-40)# match in-interface ecm0
amnimo(cfg-fin-40)# match src-ip 203.0.113.10
amnimo(cfg-fin-40)# match protocol tcp dst-port 22
amnimo(cfg-fin-40)# enable
amnimo(cfg-fin-40)# exitshow config ssh の port)は、その番号を指定します。作成したルールを表示し、誤りがないことを確認します。リモートで作業している場合は、作業中の接続元が、ルール 10〜40 のいずれかで許可されることを必ず確認してください。
amnimo(cfg)# show config filter input最後に、デフォルトポリシーを drop にします。
amnimo(cfg)# filter input default-policy drop新しい SSH 接続を、管理端末と LAN 側の端末から開けることを確認します(作業中の接続は切らずに残しておきます)。問題がなければ設定を保存します。
amnimo(cfg)# config file save
補足:
config file saveを実行するまでは、設定は保存されていません。設定を誤って接続できなくなった場合でも、保存する前であれば、本製品を再起動すると保存済みの設定で起動します(現地での電源操作が必要です)。動作を確認してから保存してください。
各コマンドの詳細は、次の節を参照してください。
管理者モード(amnimo#)で貼り付けます。許可するルールを先に、デフォルトポリシーの drop を最後に設定する順序になっています。順序を入れ替えないでください。
configure
ssh
enable
exit
filter input 10
policy accept
match conntrack state related,established
enable
exit
filter input 20
policy accept
match in-interface lo
enable
exit
filter input 30
policy accept
match in-interface br0
enable
exit
filter input 40
policy accept
match in-interface ecm0
match src-ip 203.0.113.10
match protocol tcp dst-port 22
enable
exit
filter input default-policy drop
config file save
補足: 同じ接続元からの SSH の接続回数を制限する(ブルートフォース攻撃への対策)例は、『6.6.2 パケット合致条件を設定する』の実行例(JC-STAR★1 適合基準番号 S1.1-04)を参照してください。
input の設定を表示します(6.4.1 パケットフィルタリングの設定を表示する)。
amnimo# show config filter inputfilter input default-policy drop が表示されること。ルール 10〜40 がそれぞれ enable、policy accept で、手順どおりの match が表示されること。SSH の設定を表示します(7.4.1 SSHの設定を表示する)。
amnimo# show config sshenable と表示され、port がルール 40 の宛先ポートと一致していること。次の接続を試し、結果を確認します。
| 接続元 | 期待する結果 |
|---|---|
| LAN の端末から 192.168.0.254 へ SSH | 接続できる |
| 管理端末(203.0.113.10)から ecm0 のアドレスへ SSH | 接続できる |
| それ以外の端末から ecm0 のアドレスへ SSH | 接続できない |
| LAN の端末の DHCP によるアドレス取得 | 取得できる |
| 症状 | 確認すること |
|---|---|
| デフォルトポリシーを drop にした時点で接続が切れた | 作業中の接続元を許可するルールがなかった、または誤っていました。保存前であれば、再起動すると保存済みの設定で起動します。保存後の場合は、LAN 側やシリアルコンソールから接続して設定を直します。 |
| LAN の端末がアドレスを取得できなくなった、名前解決できなくなった | br0 を許可するルール(30)があるか。match in-interface にブリッジ配下のインターフェイス(lan0 など)を指定していないか。 |
| 管理端末から接続できない | 管理端末の送信元アドレスが、本製品から見て 203.0.113.10 になっているか(途中で NAT されていないか)。宛先ポートが SSH のポート番号と一致しているか。SSH が有効か。 |
| 制限したはずの端末から接続できる | ルール 40 より前(インデックス番号の小さい側)に、ecm0 からの通信を広く許可するルールがないか。ルールはインデックス番号の小さい順に確認され、最初に合致したルールが適用されます。 |
詳しい切り分けは『G3.4 本製品にアクセスできなくなった』を参照してください。