【BIG-IP】SSH/HTTPS管理アクセス制限 Version: 16.1.2

BIG-IP をリモートから管理する方法は、SSH で入る CLI と、HTTPS でブラウザから使う GUI(Configuration Utility)の2つです。どちらも初期状態ではすべての送信元アドレスから接続を受け付けるので、管理用の端末やネットワークに絞っておくと、不正アクセスのリスクを下げられます。この記事では、SSH と HTTPS の管理アクセスを送信元アドレスで制限する設定と、その動作を確かめます。

この記事でわかること
  1. SSH の接続元を GUI(SSH IP Allow)で制限する
  2. SSH の接続元を tmsh(sys sshd allow)で制限する
  3. 許可していないアドレスからの SSH がリセットされることを確かめる
  4. HTTPS(Configuration Utility)の接続元を tmsh(sys httpd allow)で制限する
  5. 許可していないアドレスからの HTTPS が 403 になることを確かめる
検証環境

BIG-IP 16.1.2 で検証しています。16.1 系はすでに F5 のサポート期間が終わっているので、これから構築する場合はサポート中のバージョンを選んでください。

管理アクセス制限のしくみ

SSH は sys sshd の allow、HTTPS の Configuration Utility は sys httpd の allow に、接続を許可する送信元を一覧で登録します。一覧にない送信元からの接続は、SSH ではリセットされ、HTTPS では 403 Forbidden のページが返ります。

SSH/HTTPS で接続できるSSH:Connection reset by peerHTTPS:403 Forbidden192.168.100.0/24192.168.1.1許可リスト外BIG-IPsshd allow/httpd allow許可する送信元の一覧
図1 allow に登録した送信元だけが SSH/HTTPS で管理アクセスできる
対象設定する項目初期値この記事で使う設定方法
SSH(CLI)sys sshd allowALL(すべて許可)GUI(SSH IP Allow)と tmsh
HTTPS(GUI)sys httpd allowAll(すべて許可)tmsh
注意

設定に使っている端末のアドレスを一覧に入れ忘れると、その端末から管理アクセスできなくなります。許可する送信元を先に追加してから ALL(All)を消す、または自分のアドレスを含めて置き換える順番で作業します。

SSH アクセス制限

SSH の接続元は、GUI(Configuration Utility)と CLI(tmsh)のどちらでも設定できます。

GUI で設定する(SSH IP Allow)

System ›› Platform を開くと、User Administration の欄に SSH IP Allow があります。初期値は * All Addresses で、すべてのアドレスからの SSH を受け付けます。

画面イメージについて

この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。

BIG-IP 設定画面(Configuration Utility)画面イメージ
System ›› Platform
User Administration
Root Account☑ Disable login
Admin Account☐ Allow lockout of admin account
Password: ••••••••••
Confirm: ••••••••••
SSH Access☑ Enabled
1SSH IP Allow* All Addresses
図2 初期状態の SSH IP Allow(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目内容
1SSH IP Allow初期値は * All Addresses(すべてのアドレスから SSH を受け付ける)。プルダウンには * All Addresses と Specify Range... があります。

送信元を絞るときは、プルダウンで Specify Range... を選びます。右に入力欄が出るので、許可する送信元を書いて Update をクリックします。

BIG-IP 設定画面(Configuration Utility)画面イメージ
System ›› Platform
User Administration
⋮ (中略)
SSH Access☑ Enabled
1SSH IP AllowSpecify Range… 192.168.100.0/24 192.168.1.1
2Update
図3 Specify Range… で許可する送信元を入力する(実際の画面ではなく、設定項目のポイントを示したイメージです)
No.項目設定内容
1SSH IP AllowSpecify Range... を選び、右の欄に許可する送信元を入力します(書き方は下の表)。
2Updateクリックして反映します。
入力例許可する送信元
192.168.100.0/24ネットワーク(セグメント)192.168.100.0/24 からの接続
192.168.1.1ホスト 192.168.1.1 からの接続
192.168.100.0/24 192.168.1.1両方。複数登録するときは、エントリの間を半角スペースで区切ります

tmsh で設定する(sys sshd allow)

CLI では tmsh の sys sshd allow を使います。まず、今の設定を list sys sshd allow で確かめます。

BIG-IP(tmsh)

(tmos)# list sys sshd allow
sys sshd {
    allow { ALL }
}

allow { ALL } は、すべてのアドレスからの SSH を受け付ける初期状態です。一覧の変更には、追加の add、削除の delete、全体を置き換える replace-all-with を使います。

変更前変更後{ ALL }add追加する{ ALL 192.168.100.0/24 }{ ALL 192.168.100.0/24 }delete { ALL }消す{ 192.168.100.0/24 }{ ALL }replace-all-with全体を置き換える{ 192.168.100.0/24 192.168.1.1 }
図4 allow の一覧を変更する3つの操作

送信元を追加する(add)

192.168.100.0/24 からの接続を許可するには、add で追加します。

(tmos)# modify sys sshd allow add { 192.168.100.0/24 } 

追加されたことを確認します。

(tmos)# list sys sshd allow 
sys sshd {
    allow { ALL 192.168.100.0/24 }
}

この状態では ALL が残っているので、まだすべてのアドレスから接続できます。

送信元を削除する(delete)

ALL を delete で削除します。

(tmos)# modify sys sshd allow delete { ALL } 

192.168.100.0/24 だけが残りました。

(tmos)# list sys sshd allow
sys sshd {
    allow { 192.168.100.0/24 }
}

複数の送信元を登録する

GUI と同じく、複数登録するときはエントリの間を半角スペースで区切ります。

(tmos)# modify sys sshd allow add { 192.168.100.0/24 192.168.1.1 }

一覧全体を置き換える(replace-all-with)

初期状態(ALL)から add で登録すると、上のように ALL を別に消す必要があります。replace-all-with を使えば、一覧全体を一度で置き換えられます。まず、初期状態であることを確かめます。

(tmos)# list sys sshd allow 
sys sshd {
    allow { ALL }
}

一覧を { 192.168.100.0/24 192.168.1.1 } に置き換えます。

(tmos)# modify sys sshd allow replace-all-with { 192.168.100.0/24 192.168.1.1 }

ALL が消え、指定した2つだけになりました。

(tmos)# list sys sshd allow                                                  
sys sshd {
    allow { 192.168.100.0/24 192.168.1.1 }
}

tmsh で変更した内容は、保存しないと再起動で元に戻ります。最後に設定を保存します。

(tmos)# save sys config
補足

allow には none も指定できますが、F5 の tmsh リファレンスでは、sshd の none はすべての接続を許可する状態に戻ると説明されています。SSH を止めたいときは none ではなく、GUI の SSH Access のチェックを外すなど別の方法を使います。

SSH の動作確認

許可していないアドレスから SSH で接続すると、接続がリセットされます。

SSH クライアント(BIGIP への接続)画面イメージ
1Connection reset by peer
図5 許可していないアドレスからの SSH 接続(実際の画面ではなく、表示内容のポイントを示したイメージです)
No.表示意味
1Connection reset by peerBIG-IP 側から接続を切られた(リセットされた)ことを示します。ログインのプロンプトは表示されません。

HTTPS(Configuration Utility)アクセス制限

ブラウザから使う Configuration Utility への接続元は、tmsh の sys httpd allow で制限します。

tmsh で設定する(sys httpd allow)

今の設定を list sys httpd allow で確かめます。

BIG-IP(tmsh)

(tmos)# list sys httpd allow 
sys httpd {
    allow { All }
}

allow { All } は、すべてのアドレスからの HTTPS 接続を受け付ける初期状態です(sshd の ALL と表記が違います)。add、delete、replace-all-with の使い方は SSH と同じです。

送信元を追加して All を削除する

192.168.100.0/24 を追加します。

(tmos)# modify sys httpd allow add { 192.168.100.0/24 }
(tmos)# list sys httpd allow
sys httpd {
    allow { All 192.168.100.0/24 }
}

All が残っているので、削除します。

(tmos)# modify sys httpd allow delete { All }
(tmos)# list sys httpd allow
sys httpd {
    allow { 192.168.100.0/24 }
}

複数登録と置き換え

複数の送信元を追加する場合は、スペースで区切ります。

(tmos)# modify sys httpd allow add { 192.168.100.0/24 192.168.1.1 }

一覧全体を置き換える場合は replace-all-with を使います。

(tmos)# modify sys httpd allow replace-all-with { 192.168.100.0/24 192.168.1.1 }

制限をやめて初期状態に戻すときは、All で置き換えます。

(tmos)# modify sys httpd allow replace-all-with { All }

SSH と同じく、tmsh で変更したあとは save sys config で保存します。

HTTPS の動作確認

許可していないアドレスからブラウザで Configuration Utility を開くと、403 のエラーページが表示され、ログイン画面に進めません。

許可していない端末のブラウザ画面イメージ
https://(伏せています)/
Access forbidden!You don’t have permission to access the requested object.Error 403
図6 許可していないアドレスからの Configuration Utility への接続(実際の画面ではなく、表示結果のイメージです)

うまくいかないとき

状態よくある原因確認すること
許可したはずの端末から SSH がリセットされる端末の実際の送信元アドレスが一覧に入っていない(NAT を通っている、別のセグメントから来ている)list sys sshd allow の一覧と、BIG-IP から見た端末の送信元アドレス
制限したのに、どこからでも接続できるadd だけ実行して、ALL(All)が残っているlist sys sshd allow/list sys httpd allow に ALL/All がないか
再起動したら制限が消えたtmsh で変更したあと保存していないsave sys config を実行したか
自分の端末からも入れなくなった自分のアドレスを入れずに ALL(All)を消したもう一方の手段(SSH なら GUI、GUI なら SSH)やコンソールから入り、一覧を直す

まとめ

操作SSH(sys sshd)HTTPS(sys httpd)
確認list sys sshd allowlist sys httpd allow
追加modify sys sshd allow add { … }modify sys httpd allow add { … }
削除modify sys sshd allow delete { … }modify sys httpd allow delete { … }
置き換えmodify sys sshd allow replace-all-with { … }modify sys httpd allow replace-all-with { … }
初期値ALLAll
GUISystem ›› Platform の SSH IP Allow―(この記事では tmsh で設定)
許可外の接続接続がリセットされる403 Forbidden

tmsh で変更したら save sys config で保存すること、自分の管理端末のアドレスを一覧から外さないことの2点に気を付けてください。

コメント