iptablesで海外からのアクセスを制限・その3

前回からさらに10日ほど経過した結果

日に数件しかないアクセスのほとんどが海外からというこのBLOG
前回、中国中心のアクセスから、アクセス制限により、ウクライナとポーランドがまだ目立ったので、その対策を追加した後の経過を改めて調べてみました

SPAM書き込みがあったのは2日だけ

前回同様、とりあえずここへのSPAM書き込みの履歴から調べてみました
同じ11日間でSPAM書き込みは13件
前々回208件、前回91件なので、もうほとんど無視していい位にまで激減しました
それに、書き込みがされたのも、11日に2件、17日に11件で、他の日は0でした

アクセス元はばらばら

この件数だと傾向を調べる意味はもうほとんど無いですが、念のため

IPアドレスブロック数 IPアドレス数 書き込み回数
uy(ウルグアイ) 1 2 5
us(アメリカ) 2 2 4
ar(アルゼンチン) 1 1 2
id(インドネシア) 1 1 2

新たにウルグアイとアルゼンチンが登場
実際には1回のアクセスで2件3件書き込みをしていってるようなので、時間を見ても、IPアドレス数がアクセス回数ですね

書き込み内容の分析

アクセスが集中した17日ですが、時間は朝から夕方までばらばらで、それぞれのタイミングでIPが違ってるわけですが、書き込み内容を見ると、
・john????@gmail.comもしくはsmith????@gmail.com(????の部分は不特定の英字1文字+数字3文字)による、表向き英語の普通のメッセージだけど、URLに何かのBLOG記事への誘導がある書き込みが15件
・あるUSの同一IPからの、ナ○キの通販サイトを自称するドイツのドメインのサイトへの誘導書き込みが2件
ということなので、残るSPAM書き込み業者は2人なんでしょうかね?

今後

ひとまずSPAM書き込みへの対策としては、十分な成果が得られました
従い、他の管理サーバーにも同様な設定を行なっていくと同時に、最初設定したタイミングで爆発的に増えていた週を追うごとにサイズが膨らんできているiptablesのログなどの検証もしておきたいと思います

jailkitでアクセス制限付きのsftp/scp専用アカウントを作成する

外部へのデータ転送のために、CentOS上にアクセス制限つきのsftp/scpしかできないアカウントを作成する方法を記載する
なお、作業は、鍵の作成以外は全てrootで行なった

jailkitのインストール

以下のコマンドで、jailkitをインストールする
なお、0.5.3-1.el6.rf.x86_64の部分は、http://pkgs.repoforge.org/rpmforge-release/ のリストから、使用しているCentOSのバージョンに合わせて変更する

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm 
# yum install jailkit

jail用の親ディレクトリの準備

以下のコマンドで、jailkit用の親ディレクトリを用意する

# mkdir /jail
# jk_init -v -j /jail/sftp sftp scp jk_lsh

ユーザーの作成

仮に作成するユーザーを「hogehoge」とした場合、以下に記載のようにuseradd,passwdでユーザーの作成とパスワードの設定を行なった後、jk_jailuserでそのユーザーをjailに閉じ込める

# useradd hogehoge
# passwd hogehoge

鍵の作成

ここで、先ほど作成したユーザーに切り替える
「hogehoge」ユーザーの状態で、以下のハイライト部分のコマンドを実行する

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa):
Created directory '/home/hogehoge/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hogehoge/.ssh/id_rsa.
Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 hogehoge@www00000uo.sakura.ne.jp
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
+-----------------+
$ cd .ssh
$ ls
id_rsa  id_rsa.pub
$ cp id_rsa.pub authorized_keys

ユーザーをjailに移動する

以下のコマンドで、該当のユーザーをjailに移動する

# jk_jailuser -j /jail/sftp hogehoge
home directory /home/hogehoge is not within /jail/sftp/, move the directory contents?
[Y]/[n]y

ユーザに実行権限を与える

jk_lsh.iniファイルを修正して、ユーザーに実行権限を与える

# vi /jail/sftp/etc/jailkit/jk_lsh.ini
[DEFAULT]
paths= /usr/bin, /usr/lib/
executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server

[hogehoge]
paths= /usr/bin, /usr/lib/
executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server

参考にしたサイト
Memo/Linux/jailkit – DEX Lab
EC2上でjailkitを使って、chroot環境でSCPできる環境構築