IPアドレス

自分のグローバルIPを確認するコマンド「showip」

手前味噌ですが、自分のグローバルIPをコマンド一発で確認できる「showip」をついカッとなって作成しました。VPNやプロキシ経由で接続中に自分のIPがほんとに変わったか確認したかったのです。

$ showip
203.0.113.1

内部の処理的にはIPアドレスを表示してくれるWebサービスにリクエストを投げその結果を表示しているという非常にシンプルな物です。

対応しているサービスは以下の通り(デフォルトはAWS)。

service_cddefaultURL
awshttps://checkip.amazonaws.com
googlehttps://domains.google.com/checkip
ifconfigiohttps://ifconfig.io/ip
ifconfigmehttps://ifconfig.me/ip
ipaddrshowhttp://ipaddr.show/

続きを読む

[Linux] SSHのログイン時にIPアドレス制限を行う

ここ数日、SSHへのアタックが急激に増加した関係で特定のIPアドレスからだけログインできるよう対応しました。結論から言うと以下の設定を行うだけです。

特定のIPアドレスのみログインできる

$ sudo vi /etc/hosts.allow
sshd: (許可したいIPアドレス)
$ sudo vi /etc/hosts.deny
sshd: all

/etc/hosts.allowで許可を、/etc/hosts.denyで拒否の設定を行います。これはSSHだけではなく「TCP Wrapper」を利用しているサーバソフトウェアは同じ要領で設定が可能です。

特定のIPアドレスをブロックする

逆にブロックしたい場合には以下のように設定します。

$ sudo vi /etc/hosts.allow
sshd: all
$ sudo vi /etc/hosts.deny
sshd: (拒否したいIPアドレス)

hosts.allow|denyの書式

IPアドレスは半角スペースで区切り複数同時に記述することや、サブネットマスクなどで指定することもできます。

sshd: 192.168.1.1 192.168.1.2
sshd: 192.168.1.1/255.255.255.0

以下のようにIPアドレスの途中までを記述した場合は前方一致となります。

sshd: 192.168.1.

IPアドレスだけではなく.example.comなど接続元のドメインで許可(拒否)もできます。以下の例では後方一致となります。ただしドメインを指定した場合はIPアドレスのみの場合と比べてドメインを調べる処理が加わりますので多少重くなります(よほど大量に来なければ気にするほどではありませんが)

sshd: .ocn.ne.jp

行末にバックスラッシュ()を付けると途中で改行することも可能です。

sshd: 192.168.1.1 192.168.1.2 \
      .ocn.ne.jp

注意点

いずれもファイルに保存した瞬間に設定が適用されるため、間違えた設定をしてしまうと自分でも二度とログインできなくなる可能性があります。設定する際には十分に注意してください。

続きを読む

GoogleAppsScript(GAS)のIPアドレス範囲を調べる

GASからUrlFetchApp.fetch()した場合にどのIPアドレスからリクエストが来るか事前に知りたい場合がありますよね。社内や身内だけで使っているクローズドなサーバなどでです。今回はこの調査方法についてまとめます。
続きを読む