USBGuardの初期デバイスを設定

USBGuardはそのままだとデーモン起動時に接続されていたデバイスは全て許可されるので不正なデバイスが起動時に既に取り付けられていた場合許可されてしまいます. そこで手動で利用可能デバイスをallowで設定に,そしてそれ以外をblockにした.blockでなくrejectの方がセキュリティは上がるけど許可したい場合面倒なのでとりあえずブロックに. これでallow設定されていないデバイスを繋ぐとblock.そのデバイスを利用したい場合は手動でallow-device やusbguard-applet-qtでallowにすれば使えます. ※USBGuardは次のページの設定(ユーザ,グループ設定)が済んでいる前提です. 不正なUSBデバイスからPCを守るUSBGuardを試す | matoken’s meme ルールファイルを作成 まずはgenerate-policyで現在の状態をファイルに書き出して編集します. ここでは内蔵カメラもblockにしています. $ usbguard generate-policy > rules.conf $ vi rules.conf $ sudo cat /etc/usbguard/rules.conf allow id 1d6b:0002 serial "0000:00:1a.0" name "EHCI Host Controller" hash "MwANH+QnAvclGgMNHjzanbOGkp3bPmwqoyAEZZ6QXTQ=" parent-hash "uvJm0y/N2iYeJgfKJsJqWKTJts/duhYZ7W2zzAYk7Y8=" with-interface 09:00:00 allow id 8087:0024 serial "" name "" hash "kv3v2+rnq9QvYI3/HbJ1EV9vdujZ0aVCQ/CGBYIkEB0=" parent-hash "MwANH+QnAvclGgMNHjzanbOGkp3bPmwqoyAEZZ6QXTQ=" via-port "3-1" with-interface 09:00:00 allow
Continue reading USBGuardの初期デバイスを設定

Let’s Encrypt を使った https 設定

Let’s Encrypt Let’s Encrypt(@letsencrypt)さん | Twitter Let’s Encrypt (GitHub) Let’s Encrypt に以前メールアドレスを登録していたのですが, Let’s Encrypt Closed Beta Invite とうことでメールが届いていたので試してみました. ちなみに Let’s Encrypt は DV(Domain Validation)証明書が無料で取得できるサービスで,経路の暗号化はされるけど組織の実在確認まではしないレベルの物. 早速試してみます. 実行環境は Debian jessie amd64 + Apache httpd 2.4(2.4.10-10+deb8u3) Let’s Encrypt のツールを入手して実行する. $ git clone https://github.com/letsencrypt/letsencrypt.git$ cd letsencrypt$ ./letsencrypt-auto –agree-dev-preview –server https://acme-v01.api.letsencrypt.org/directory authBootstrapping dependencies for Debian-based OSes…[sudo] password for user: とすると,必要なパッケージを自動的に導入し始めます. 質問がいくつか来るけど,メールアドレス(Let’s Encrypt 登録時のもの)とコモンネームにApache とそれ以外の選択くらい.これで自動的に Let’s Encrypt のサーバと通信を行い証明書の取得ホト損までしてくれます. そして,最後にこんな注意書きが表示されました. IMPORTANT NOTES: – If you lose your account credentials, you can recover through   e-mails sent to user@example.org. – Congratulations! Your certificate and chain have been saved at   /etc/letsencrypt/live/example.org/fullchain.pem. Your cert will   expire on 2016-02-02. To obtain a new version of the certificate in   the future, simply run Let's Encrypt again. – Your account credentials have been saved in your Let's Encrypt   configuration directory at /etc/letsencrypt. You should make a   secure backup of this folder now. This configuration directory will   also contain certificates and private keys obtained by Let's   Encrypt so making regular backups of this folder is ideal. /etc 以下はデイリーでバックアップ取ってるので大丈夫なはず.24時間以上経ったけどメールは未だ届いていないよう. そして,自動的に /etc/apache2/sites-available/009-example.conf を元に /etc/apache2/sites-available/009-example-le-ssl.conf が作られていました. ※このファイルは
Continue reading Let’s Encrypt を使った https 設定

Android の Google Authenticator のデータをダンプしてバックアップする

Android の Google Authenticator 色々な認証に使えて便利ですが,以前 Nexus5 を紛失した時や LGL22 でデータが飛んでしまった後復旧が面倒でした.どうにかバックアップが取れないかなと調べてみました. Android からデータを取得 /data/data/com.google.android.apps.authenticator2/databases/databases がデータが格納されているファイルらしいです. adb pull で持ってきたいけど権限がないので一旦 /storage/sdcard0/ に cp する % adb shellshell@g2:/ $ suroot@g2:/ # cp /data/data/com.google.android.apps.authenticator2/databases/databases /storage/sdcard0/ ローカルPC に退避 % adb pull /storage/sdcard0/databases . /storage/sdcard0/ に cp したデータを消す.暗号化領域の下のはずだけど一応上書きしてから削除 % adb shellshell@g2:/ $ suroot@g2:/ # ls -l /storage/sdcard0/databases-rw-rw—- root     sdcard_r    16384 2015-10-09 22:51 databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # head -c 16384 /dev/random > /storage/sdcard0/databasesroot@g2:/ # rm /storage/sdcard0/databasesroot@g2:/ # ^Dshell@g2:/ $ ^D データ形式を確認してdump 該当ファイルは file コマンドによると SQLite3 のようなので dump してみる % file ./databases./databases: SQLite 3.x database% sqlite3 ./databasesSQLite version 3.8.11.1 2015-07-29 20:00:57Enter ".help" for usage hints.sqlite> .dumpPRAGMA foreign_keys=OFF;BEGIN TRANSACTION;CREATE TABLE android_metadata (locale TEXT);INSERT INTO "android_metadata" VALUES('ja_JP');CREATE TABLE accounts (_id INTEGER PRIMARY KEY, email TEXT NOT NULL, secret TEXT NOT NULL, counter INTEGER DEFAULT 0, type INTEGER, provider INTEGER DEFAULT 0, issuer TEXT DEFAULT NULL, original_name TEXT DEFAULT NULL); : ここで取得した PRIMARY KEY を HOTP TOKEN を割り出す script の "google-authenticator.py に食わせると Android App と同じコードが帰ってくるのを確認しました.勿論普通に認証も可能. ということで要root ですが, /data/data/com.google.android.apps.authenticator2/databases/databases
Continue reading Android の Google Authenticator のデータをダンプしてバックアップする

Facebook PGP対応を試す

Facebook、ユーザー宛メールのPGP暗号化をサポート | TechCrunch Japan ということでFacebook 自体は殆ど利用していないのですが、PGP GNU 実装のGnuPG の鍵を登録してみました。 先ずは自分の鍵を確認して、 % gpg –fingerprint 572E532C pub 4096R/572E532C 2010-03-17 指紋 = 9C3E C527 2FFD AF80 3289 ADE4 398C 09CC 572E 532C uid K.I.Matohara <matoken@gmail.com> uid [jpeg image of size 2077] uid Kenichiro MATOHARA <matohara@gdnewhat-jp.org> uid Kenichiro MATOHARA (KagoshimaLinuxUserGroup.) <matoken@kagolug.org> sub 2048R/74FBCF68 2015-01-15 公開鍵をASCIIで書き出しして、 % gpg -a –export
Continue reading Facebook PGP対応を試す

gnupgの鍵に新しいメールアドレスを登録

たまにしかやらないのでメモ. 鍵ID 572E53 に matoken@kagolug.org を登録します. $ gpg –edit-key 572E53 gpg (GnuPG) 1.4.12; Copyright (C) 2012 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Secret key is available. pub 4096R/572E532C created: 2010-03-17 expires: never usage: SC trust:
Continue reading gnupgの鍵に新しいメールアドレスを登録

自分のPCにキーロガーを設定する

キーロガー.人のPCに仕掛けるのはまずいけど自分の&自分しか使わないPCで試す分には問題ないだろうということで入れてみてます. 入れているのは以下の logkeys . “logkeys – a GNU/Linux keylogger that works! – Google Project Hosting” https://code.google.com/p/logkeys/ 導入方法 DebianやUbuntu だとパッケージがあるので logkeys パッケージを導入するだけ. % sudo apt-get install logkeys 初期設定 /etc/default/logkeys という設定ファイルを設定します. ENABLED=1 LOGFILE=/home/mk/.logkeys/`/bin/date +%Y%m%d-%H%M%S-$$` # This should be updated according to your hardware # Check README.Debian for more info DEVICE=/dev/input/event0 ENABLED : 0 起動しない / 1 起動する
Continue reading 自分のPCにキーロガーを設定する

電波を見て NotePC を検知して盗難

#asiabsdcon を眺めていて見かけたTweet ですが, 車の中に電源が入ってるMacBookを置いておくと、出っぱなしの電波(Bluetooth, etc)で探し出し、車の窓を割って盗んでくやつがいる?! オランダ コワイ #asiabsdcon — S. MIYATANI@ながもんこない (@s_miyatani) March 16, 2014 これは怖いなー.助手席とか置いてたら一瞬ですね>< 最近だとWardriving も特に何も知識なくてもAndroid とかにAPP を入れるだけ(rootもいらない)で出来るのですごくカジュアル&怪しまれずに探れますね. そういえばゲーム機とかですれ違い通信とかを有効にしてるのも危なさそうだ. ちょっと違うけどアメリカの免許証のスキミングなんかも車外から可能だそうですが,日本の免許証とかどうなんでしょうねとか色々怖くなって来ました><

AWS のハードウェアMFA を使ってみた

黄色い封筒が郵便受けに. なんだろうと取り出してみると米Amazon からでした. 中身は暫く前に注文していたAWS のMFA でした.(ハードウェアトークン生成器) 注文日は8/21,到着は8/29なので8日で届いたようです. 値段は$12.99 + Shipping$4.28 = $17.27 でした. Ezio Time-based 6-Digit Token for use with Amazon Web Services | Gemalto SMBC のRSA のものに比べると微妙に大きい気がします. ボタンを押すとトークンが表示されます.RSA のは常時表示. 利用してみる ポータルから「セキュリティ証明書」に飛んで,設定します. シリアルと,認証コードを2回入力します.このシリアルは背面の大きな文字で書かれているものです. さて,うまく行ったら認証を試してみましょう. 通常のAWS へのログイン処理の後にもう一回認証画面が現れて,ここに認証コードを入力することでログイン完了になります. Google の2段階認証と同じですね. ちなみに,ソフトウェアのMFA ではそのままGoogle Authenticator が使えます. 認証デバイスの紛失対応 さて,これでAWS ログインのセキュリティは高まりました.しかし,このトークン生成器がないとログインができなくなりました. なくしたり壊したりしたらGoogle の場合は印刷コードなどで復旧できますがAWS MFA の場合はどうすればいいのか確認してみました. Multi-Factor Authentication FAQs Q: 認証デバイスが紛失、損傷、または盗難され、AWS Portal
Continue reading AWS のハードウェアMFA を使ってみた