gcpip鯖立て日記 #経緯 Danielが潰れたのでFH2に引っ越したが、接続が悪いので自宅鯖を立ち上げようと思った。 Duckduckったら出てくる情報しかないが、備考録として残しておく。 #環境 それなりの性能のデスクトップpc モバイルルーターを有線接続 Host : Debian sid 64bit Guest(Server) : Whonix-Virtualbox #概要 1.Whonixを入れる 2.nginxを入れる 3.Hidden Serviceようにポートを開ける 4.環境を調節 5.便利なシェルを書く 6.ファイヤーウォールなど整える #詳細 1.Whonixを入れる 全部Wikiに載ってた。 WorkStationをクローンしてServerに改名、通常利用とは分けて動かせるようにした。Workstation側のTorポート変更が必要。 参考サイト : 金融経済まとめWiki/誰でも出来る秘匿サービス(Tor板より引用)https://w.atwiki.jp/internetkyogakusys/pages/59.html Whonix/Multiple_Whonix-Workstation https://www.whonix.org/wiki/Multiple_Whonix-Workstation 2.nginxを入れる sudo apt install nginx 初期設定では/ver/www/html/*が公開される。 アクセスログは初期設定で/var/log/nginx/access.logに保存される。 3.Hidden Serviceようにポートを開ける Wiki 4.環境を調節 うまく行かないようならGateway側でsudo systemctl restart tor.service VirtualBoxで共有フォルダを設定。ゲストOS上ではサーバーのデータのコピーしか扱わないようにする。グレーなデータを扱うのならOSごと暗号化しておこう! WhonixをCLI化しようと試みたが駄目だった。諦めてVirtualboxのヘッドレス起動を使う。 パスワードはChangemeから変更しておいたほうが良い。 5.便利なシェルを書く ####################################### sync.sh(ゲスト) : VMの共有フォルダを公開ディレクトリにコピーし、バックアップを取り、権限を置き換える。(VM内にバックアップを取るのはあまりよろしくないが……) ####################################### #!/bin/sh echo "Sync folder..." sudo rsync --delete -b -r --backup-dir=/バックアップフォルダ/ /共有フォルダ/ /var/www/html/ #ファイルコピー echo "Privillage fix..." sudo chown user:user /var/www/html/ -R #所有権を変更 find /var/www/html -type d -print | xargs chmod 755 #読み取り、実行 find /var/www/html -type f -print | xargs chmod 644 #読み取り echo "Sync end" ####################################### start.sh(ホスト) : ヘッドレス(画面なし)で起動し、接続テストを行う。 ####################################### #!/bin/bash echo "StartVM" vboxmanage startvm "Whonix-Gateway-XFCE" --type headless #ヘッドレス起動オプションを指定 sleep 3 vboxmanage startvm "Whonix-Server-XFCE" --type headless echo "Operation End. Connection Test." URL="https://サイト.onion/connectiontest.html" echo "Target : $URL" while : do torsocks --quiet wget $URL -O /dev/null -q #サイトのページに接続する 出来なければ戻り値1が返され、再試行 #接続には数秒かかる if [ $? -eq 0 ]; then echo "[+] online." echo -n "Site message : " torsocks wget $URL -O - -q #connectiontest.htmlの中身が表示される echo "" break else echo "[-] offline." fi sleep 6 done echo "Server successfully started." ####################################### 参考サイトのurl忘れた 6.ファイヤーウォールなど整える まだ #あとがき ・静的コンテンツのみをVMごと隔離することで安全性を確保する魂胆なので、ファイヤーウォール等の設定はザル。 ・VirtualBoxよりFreeなVMを使ったほうが良いと思う。 ・匿名性のためには常時接続が望ましい。 #後日談 ・もう一つ鯖立てたのでそのうち書く。