IPアドレスによるログオン制限

最終更新日: 2021年3月11日
R8 | R9

定義方法と運用

アカウントの更新画面を開きます。 画面下部にある「ログオンルール」欄に接続を許可する IP アドレスを記述します。

図1 接続を許可するIPアドレスを指定する

記述ルールは次のとおりです。

  • 本設定欄が未記入の場合は、IPアドレスによるログオン制約は行われません。
  • 一つの設定欄に複数のIPアドレスをコンマ区切りで列挙することができます。
  • IPアドレス表記は(Javaの)正規表現式に対応しています。

IPv4/IPv6の違い

稼働するOS環境によっては、IPv4形式の表記は受け付けない場合があります。

IPv4 形式のローカルマシン表記 "127.0.0.1" を記載してログオンできない場合は、IPv6 形式の表記 "0:0:0:0:0:0:0:1" で試してください。こちらだと正しくチェックされる場合は、IPv6 形式をご利用ください。

コンマの扱い

  • 波括弧{}や角括弧[]内のコンマや、バックスラッシュ\の後のコンマは区切り文字として扱いません。
  • IPv4/IPv6のIPアドレスが指定されている場合は正規表現式として扱いません。

このルールにより、例えば次のような書式が可能です。

(0:){1,10}1,::1,127.0.0.1

::1はIPv6のIPアドレス(::と書くことで0:0:...を省略できる)、127.0.0.1はIPv4のIPアドレスです。

チェック時のログ出力

log4j2.xmlに下記の設定を行うことで、チェック時のログを出力します。

<Logger name="jp.jasminesoft.jfc.service.LogonService" level="DEBUG">
  <AppenderRef ref="C"/>
  <AppenderRef ref="F"/>
</Logger>

(0:){1,10}1,::1,127.0.0.1 と指定した場合のログの例を示します。

2016-xx-xx 0:00:00 [DEBUG jp.jasminesoft.jfc.service.LogonService checkRemoteAddress] not match ipaddress 127.0.0.1. rule regex:(0:){1,10}1
2016-xx-xx 0:00:00 [DEBUG jp.jasminesoft.jfc.service.LogonService checkRemoteAddress] not match inetaddress /127.0.0.1. rule inetaddress:/0:0:0:0:0:0:0:1
2016-xx-xx 00:00:00 [DEBUG jp.jasminesoft.jfc.service.LogonService checkRemoteAddress] match inetaddress /127.0.0.1. rule inetaddress:/127.0.0.1

ログオンに失敗した場合

ログオンに失敗した場合、ログオン画面に図2のようなメッセージが表示されます。

図2 ルール違反によるログオン失敗

また、利用者端末のIPアドレスがログに記録されます。

JFC-00035:アカウント XXX は IP アドレス xxx の端末からログオンしようとしましたが、ログオンルールに合致しませんでした。

テスト

本設定を行った場合、指定したIPアドレス以外からアクセスされないことをテストしてください。 特に正規表現を用いてIPアドレスを記載した場合、正規表現の記述ミスで想定外のマシンからアクセスされることがないかどうか、必ず確認するようにしてください。