classics.

2010/12/11 Satflickr

WikiLeaks のミラーリングになるべく安全に参加する

WikiLeaksのミラーリングが一部で流行っているようなので( 例1例2 )、やってみる。環境はUbuntu 10.10

  1. 公開鍵を置いて ssh + rsync で同期してもらう
  2. 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_chrootsh
jailのパスとシェルのパスを確認
$ 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 されてミラーリングに参加できると思う。

Trackbacks

Comments

Comment form