WikiLeaks のミラーリングになるべく安全に参加する
WikiLeaksのミラーリングが一部で流行っているようなので( 例1、例2 )、やってみる。環境はUbuntu 10.10
- 公開鍵を置いて ssh + rsync で同期してもらう
- FTP のアカウントを預けて上げてもらう
の二つの方法があるけれど、なんとなくかっこよさそうなので前者でやってみる。
追記: 適当だったコマンドとかなおした
sshでログインできるようにした場合、WikiLeaks に必要のないファイルを見られてしまう可能性があり、困るので Jailkit を利用して、ホームディレクトリ以外アクセスできないようにする。
Jailkit 入っていなかったので入れる(aptになかった)
$ wget http://olivier.sessink.nl/jailkit/jailkit-2.13.tar.gz
$ tar zxvf jailkit-2.13.tar.gz
$ cd jailkit-2.13
$ ./configure
$ sudo make install
このあたりを参考にしながら Jail を作る : JailKitで特定ユーザにchrootな限定コマンドの安全な環境を作るメモ (blog@browncat.org), jailkit howto - chroot shell
今回の例では、wikileaks というユーザーを作成し、 /jail/wikileaks/web/jail/home/wikileaks/web 以下に WikiLeaks をミラーリングして、http://wikileaks.oquno.com/ にて公開するという設定例。
$ sudo mkdir /jail
$ sudo chown root.root /jail
$ sudo chmod 755 /jail
$ sudo jk_init -v -j /jail rsync basicshell extendedshell
$ sudo adduser wikileaks
$ sudo jk_jailuser -m -j /jail wikileaks
$ cat /etc/passwd | grep wikileaks
wikileaks:x:1003:1003:,,,:/jail/wikileaks/./home/wikileaks:/usr/sbin/jk_chrootshjailのパスとシェルのパスを確認
$ cd /jail/wikileaks
$ sudo mkdir tmp
$ sudo chmod a+rwx tmp
$ sudo vi etc/passwd
wikileaks:x:1003:1003:,,,:/home/wikileaks:/bin/bashシェルをbashにしておく
$ cat etc/jailkit/jk_lsh.ini
[/home/jail] ignorepathoncompare = /jail/home, /jail/etc, /jail/tmp/ ignorewritableforgroup = /jail/tmp ignorewritableforothers = /jail/tmpこんな感じになってるか確認。なってなかったら編集
これで Jailkit の設定はできた。
次に WikiLeaks の公開鍵を置いておく。
$ cd /jail/home/wikileaks
$ sudo mkdir .ssh
$ cd .ssh
$ sudo wget "http://wikileaks.荒川智則.jp/id_rsa.pub" #日本語ドメイン関係でできなかったら適当に他のサイトから
$ sudo chmod 600 id_rsa.pub
$ cd ../
$ sudo chmod 700 .ssh
あと web ディレクトリ作る。
$ cd /jail/home/wikileaks
$ sudo mkdir web
$ sudo chown wikileaks.wikileaks web
VirtualHost の設定をする。DNSは既にこのサーバーを向いているものとする。
$ cd /etc/apache2/sites-available
$ sudo vi wikileaks
新規作成して保存
<VirtualHost *:80> ServerName wikileaks.oquno.com DocumentRoot /jail/home/wikileaks/web <Directory /jail/home/wikileaks/web> AllowOverride None </Directory> <Location /> Order Allow,Deny Allow from All </Location> </VirtualHost>
有効にして設定を再読み込み
$ cd ../sites-enabled/
$ sudo ln -s ../sites-available/wikileaks wikileaks
$ sudo /etc/init.d/apache2 reload
サーバー側の準備はできたので、仕上げにフォームから登録する。
http://wikileaks.荒川智則.jp/mass-mirror.htmlそうするとそのうち WikiLeaks が rsync されてミラーリングに参加できると思う。
Comments