動的IPアドレスに対するWEBサイトのアクセス制限方法
2018/07/20 - moriya - ~2 Minutes
取引先の担当の方から「動的IPのようでコロコロIPアドレスが変わるのですが、(WEBアプリ管理者用)WEBサイトにアクセス制限かけられますか?」と聞かれた。
使っているのは、apache 2.2 / linux / aws ec2。
いくつか方法があると思う。
apache で動的IPアドレスの場合だけ Basic/Digest 認証を追加する
複雑な設定が不要で、パスワードを推測しづらいものにし、定期的に変更するのであれば、現実的ではないかと思う。
<Directory /home/test>
order allow,deny
allow from 許可するIPアドレス
AuthType Basic
AuthName "Restricted Resource"
AuthUserFile /etc/httpd/htpasswd
Require valid-user
Satisfy any
</Directory>
Satify any なので、allow か require かどちらかが使われる。
VPN を使って IP アドレスを固定化する
組織の情報システム部門が禁止していない場合に限る。
500/udp、4500/udp が通る環境であれば、 固定 IP アドレスの IKEv2 VPN サーバに VPN 接続して、VPN サーバからのアクセスを apache で許可する。
500/udp、4500/udp は通らないが、openvpn のインストールが許されるのであれば、固定 IP アドレスの openvpn サーバに VPN 接続して、VPN サーバからのアクセスを apache で許可する。
クライアント証明書を使う
サーバ側、クライアント側ともややめんどう。
apache 2.2 Client Authentication and Access Control より引用
apache の設定に以下を追加
SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile conf/ssl.crt/ca.crt