nmtysh.log

Tech系のネタや日々の独り言などを書いています。

ハッカーズチャンプルー2018に当日ボランティアスタッフとして参加しました!

先月の6/30(土)に行われたハッカーズチャンプルー2018に当日ボランティアスタッフとして参加しました!

去年やその前は他のイベントとの都合もあり参加していなかったのですが、今回は調整がついたので参加できました!
参加を申し込んだ時点ではスタッフとしての参加ではなく聴講者としての参加でしたが、
後日、当日ボランティアスタッフ募集のアナウンスがあったのでボランティアとして参加することにしました。

なぜボランティアスタッフとして参加したのか

普段、OWASP Okinawaでイベントを開催していますが、イベント規模が大きくなればなるほど人手が必要になると実感しています。
ボランティア募集のアナウンスがあったときに、過去にハッカーズチャンプルーに参加したときにとても良いイベントだと思ったので協力したいと思い参加しました。
後は別件で規模が大きいイベントに少し関わっているので、そちらの参考にもなればなぁという意図もあったり。

行ったこと

  • 会場の設営や撤収作業
  • 受付への誘導
  • 会場案内
  • お弁当や飲み物の配布

臨機応変に人手が必要そうなところを手伝っていました。
ボランティアスタッフなので会場の設営とか片付け、案内が主です。

前日までに行われるスポンサー対応や発表者対応、会場の検討などは運営(コア)メンバーが行っています。
なので、そういった運営周りに関わりたい方は運営メンバーに立候補するようにしましょう。
もしくはハードルがかなり高くなるとは思いますが、自分たちでイベントを企画・開催するのもありですね。

イベントの感想

  • デザインの話やベンチマークの話など発表のジャンルに幅があって良かった!
    • 興味深い話が多くて濃い一日でした!
  • LTやスポンサーセッションではきっちり時間通りに容赦なく打ち切る。発表者側も話を止めてくれる
  • 会場のインターネット回線(Wi-Fi)問題は難しい(悩ましい)

最後に

登壇者の皆様、運営の皆様、スポンサーの皆様、それから参加者の皆様ありがとうございましたm(_ _)m
来年も開催されるようなので、都合が付けば参加したいと思います!

集合写真(撮影: 公式カメラマンチーム)

広告を非表示にする

Micro Hardening v1.x@沖縄に参加しました!

6月2日(土)に行われたMicro Hardening v1.x@沖縄に参加しました!

Micro Hardeningとは?

戦う相手は過去の自分

Micro Hardening は「衛る技術の価値を最大化することを目指す」プロジェクトであるHardening Projectから生まれたサブプロジェクトです。「セキュアなハードニングをカジュアルに競技形式で学ぶ勉強会」であるMINI Hardening Projectよりもさらにカジュアルに「ゲーム感覚で」サイバー攻撃に対処する能力を磨くことを目指しています。
Micro Hardening v1.x@沖縄 イベントページの解説より〜

8時間から1数時間かけて競技を行うHardeningや、3時間のMINI Hardeningとは異なりMicro Hardeningでは1セット45分を複数回繰り返し行うことで、最初のセットで経験したことを次のセットにフィードバックしていってより高得点を目指すというものです。
どのセットでも同じタイミングで同じ攻撃が行われるように設定されているため(MINIでも見習いたい!)、攻撃パターンを把握しその対処方法を検討・試すということができるようになっています。

またMicro Hardeningでは報告書作成が無くECサイトの売上で評価されるため、堅牢化に専念することができます。
とは言え、作業ログを残しておかないと次のセットに生かすことができないため、作業の記録やチーム内での共有は重要です。

その場で組んだ即席のチームでWebブラウザを使ってサービスの状態を確認したり、ログを解析しながら攻撃に対処していきます。

攻撃された内容

ネタバレになるので詳しくは書きませんが、

  • 過去に話題になった脆弱性を悪用される攻撃もまだまだ現役
    • 適切にアップデートしましょう
  • 設定のミスや不適切な設定(初期設定のままなど)による情報の漏洩や悪用
    • その設定は本当に必要ですか? 巷の設定を鵜呑みにしていませんか?
    • IDやパスワードは変更しましたか?

などでした。
これらは残念なことに巷のサイト・サーバーでもあるとのことでした。

確認したこと・対応したこと

こちらもネタバレにならないようざっくりと。

  • 配布資料を見て構成を把握する
  • 実際の環境を調べて構成を把握する(資料通りなのかどうかなど)
  • ログを見る(アクセスログや認証関連のログなど)
  • サーバーのリソース状況のチェック
  • サイトが閲覧できるかどうか、コンテンツに問題がないかどうかのチェック
  • 不要なアカウントやサービスは消す・無効化する
  • などなど

サーバー(サービス)を運用するときとほとんど一緒ですね。

競技の結果

Hardeningに複数回出場している&MINI Hardeningの運営という立場なので下手なスコアは出せないというプレッシャーがありましたが、各セットでその前の回のスコアを上回るスコアを出せて、順調に得点を増やすことができました。

終わりに

Hardeningに限らず、日々の運用でも普段の(通常あるいは正常な)状態(リソース状況やサービス稼働状況、ログの出力内容など)が判らなければ異常もまた判りません。
正しい(あるべき)姿を把握するのは重要だと思っています。

堅牢化や安定化のため不要そうに見える(が実は重要な)プログラムやアカウント止めてしまった結果、動かしたいものが正常に動作しなくなることがありえます。
一度に色々な変更を行ってしまうと問題が発生したときにどの設定が問題だったのかわからず原因の切り分けや対処が難しくなってしまいます。
一つずつ変更しては状況を確認して、問題が有れば(あるいは想定していた効果が無ければ元に戻す)切り戻し、無ければ次の変更を試すという繰り返しが大事です。
誤ってサービスを止めてしまったときはかなり焦りました。変更を行うときにはすぐに元に戻せるようにしておくのは本当に大事です。

次のMicro HardeningMicro Hardening v1.x@長野 2018/07/21 です。
このブログを書いている時点(2018/06/06)ではまだ参加可能ですのでMicro Hardeningに興味を持った方は参加してみてはいかがでしょうか。

広告を非表示にする

AndroidのChromeで同期できなくなった件の対処(解決済み)

久しぶりの投稿です。

AndroidChromeで気がついたらログアウト状態になっていて、同期ができなくなっていたのでそのトラブルシューティングを行いました。
私はこの方法で解決できましたが、状況によるようです。
また、不具合が修正された開発者サービスがリリースされているようです。

TL;DR

AndroidにログインしているGoogleアカウントを利用して同期を行うにはChromeに「連絡先」の権限を許可する必要がありました。

環境

  • P10 Lite
    • OS: Android 7.0
    • ビルド番号: WAS-LX2JC635B188
  • Chrome
    • バージョン: 66.0.3359.158
  • Google Pay開発者サービス
    • バージョン: 12.6.73

試したこと

1. Chromeでログインする

認証出来た後「このアカウントはお使いの端末に既に存在します」というエラーでログインできず。

2. Google Pay開発者サービスのデータを消す

→効果なし

3. Google Pay開発者サービスを再インストールする

→効果なし

4. Chromeのキャッシュを消す

→効果なし

5. Chromeのデータを消す

→効果なし
最後に同期出来ていたときのブックマークすら消えて残念なことに(データを消したので当たり前ですが)

6. Chromeを再インストールする

→効果なし

7. Chromeに"連絡先"権限を許可する

ログインできるようになりました。

操作手順

  1. [システム設定]->[アプリ]->"Chrome"->[権限]で"連絡先"を許可します
  2. Chromeの[設定]から[Chromeにログイン]を選びます。
    Android端末でログインしているアカウントが選択肢に出てきます(もし出てこなければ一度Chromeを再起動します)。
  3. アカウントを選択して[続行]します。

ログインと同期の成功後に"連絡先"権限を取り消すと再びログアウト状態になってしまいました。
再度権限を有効にしてもログアウト状態のままで上記のログイン操作が必要でした。

まとめ

AndroidにログインしているGoogleアカウントを利用して同期を行うにはChromeに「連絡先」の権限を許可する必要がありました。
元々各アプリで必要最低限の権限しか許可していなかったのでアプリのアップデートのタイミングで権限の参照周りが変わったのかもしれません。
Chromeアプリの説明欄にはログインするために「連絡先」権限が必要とはありませんでしたが、アプリで利用する権限の詳細を確認すると、「連絡先」の部分に「この端末上のアカウントの検索」とありました。

トラブルシューティングのためにヘルプを見ていたのですが、ヘルプに問題がある場合は「フィードバックを送信」から送信してとありましたが、いつの間にか送信機能が見当たらなくなっていました。
ストアではレビューコメントを出せますが、不具合報告機能は無いので不具合の報告は不便ですね……

広告を非表示にする

IIJmioのSIMカードサイズを変更した

ブログにまとめようと思って気がついたらだいぶ時間が立っていました。

去年、端末購入前にSIMカードのサイズ交換(micro sim→nano sim)を申込んだのでそのときにかかった日数などのメモ 結局端末はまだ買い替えていないのですけどね…

・1日目(水) 7時ごろ simカードサーズ変更を申し込みmicro->nano
登録メールアドレス宛に確認コードが来るので認証。
契約して以降に引っ越しをしていたので、改めて本人確認書類のアップロードが必要とのこと(アップロードサイトのログイン情報がメールで来ました)
運転免許証の両面写真を専用サイトでアップロードしました。

・1日目 12時ごろ 本人確認手続き完了のメール通知がありました。

・2日目(木) 10時ごろ micro simが使えなくなる(この時点までに発送通知などの連絡はなし)

・3日目(金) 6時ごろ 発送通知。翌日(4日目)にお届け予定とのこと。
通知された荷物の追跡番号で確認すると前日の18時ごろに発送されていました。

・4日目(土) 15時ごろ nano sim到着。利用できることを確認。

私の場合は2日とちょっとの間、SIMが使えない状態となりました。
発送にかかる日数は住んでいる地域で変わると思います。
ヘルプページを見ると最短3〜4日程度かかるとありますので、交換を申し込む場合は使えなくなる期間に注意してください。

SIMカード交換を申し込みました。手元のSIMカードはいつまで利用可能ですか? | IIJmio
https://help.iijmio.jp/app/answers/detail/a_id/79/
お手元のSIMカードは、新しいSIMカードの利用開始日(お届け予定日)の前日までご利用いただけます。 新しいSIMカードのお届け予定日は、事前にメールでお知らせします。

 

SIMカードのサイズ変更はできますか? | IIJmio
https://help.iijmio.jp/app/answers/detail/a_id/17/
SIMカードサイズ変更時の注意事項を教えてください。 | IIJmio
https://help.iijmio.jp/app/answers/detail/a_id/1667/

SIMカードサイズ変更または再発行をご依頼いただいた後、弊社にて新しいSIMカードの準備ができた段階で、旧SIMカードはご利用ができなくなります。新しいSIMカードが届くまでは、お手元の旧SIMカードで通信ができない期間が発生しますので、あらかじめご了承ください。
・配達日時の指定はできません。SIMカードサイズ変更または再発行を承った後、最短3~4日程度でお客様のご登録住所宛に新しいSIMカードをお送りします。
※土日祝をはさむ場合やお届け先が離島の場合は配送にお時間をいただくことがあります。

広告を非表示にする

MiniDisplayPort->HDMI変換アダプターを買いました

MiniDisplayPort->VGAアダプターは以前購入して使っていたのですが、最近HDMIで出力する必要がある場面があったので購入に踏み切りました。

PCを買い換えるのが先か、買い替えた後に使えるのか(最近はUSB-Cタイプも出てきていますし)と購入しても使う機会がないまま……となりそうだなと購入していなかったのですが、それがアダとなりました。
悩んでいたときと比べて結構値段がお安くなっていました(USB-Cはまだまだ高いですね……)

ケーブルによっては若干はみ出します。(一つしかケーブルを試せていないので、別のケーブルだと根本まできれいに入るのかはわかりません)

MacBookPro 旧モデルに繋いだ場合はこんな感じ。ちょっと出っ張っています。
奥のThunderbolt2アダプターはApple純正のEhternetアダプターです。

4kなディスプレイを持っていないのでそこまでの解像度が出せるのかはわかりませんが、full hd(1080p)の外付けディスプレイを接続して使ってみた感じでは特に問題なさそうです。

広告を非表示にする

CentOS 7でSELinuxを有効にしたままZabbixを動かす

ちょっとZabbix環境を構築する機会があってついでにSELinuxを有効にしたまま構築しようとしたら色々嵌ったのでその備忘録。

0. 環境

Host

Guest

$ vagrant box list
centos/7 (virtualbox, 1710.01)
[vagrant@localhost ~]$ cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)

1. 必要なパッケージのインストール

$ yes | sudo yum update
$ sudo rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
$ yes | sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
$ yes | sudo yum install mariadb mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb

2. DBにZabbix用のDBとユーザーを作る

検証なのでパスワード設定はザルです。
ちゃんと構築するときにはしっかりと設定します。

$ mysql -u root
CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
FLUSH PRIVILEGES;
\q
$ zcat /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz | mysql -uzabbix -p zabbix

Zabbixの設定ファイルにDB系の設定(パスワードなど)を追加します。

$ sudo vi /etc/zabbix/zabbix_server.conf

3. サービスの起動

$ sudo systemctl start httpd
$ sudo systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
$ sudo systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
$ sudo systemctl start mariadb
$ sudo systemctl enable zabbix-server
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
$ sudo systemctl start zabbix-server
$ sudo systemctl status zabbix-server -l
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: resources) since Mon 2017-11-13 12:28:02 UTC; 2s ago
  Process: 2703 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
  Process: 2722 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 2702 (code=exited, status=1/FAILURE)

Nov 13 12:28:02 localhost.localdomain systemd[1]: zabbix-server.service never wrote its PID file. Failing.
Nov 13 12:28:02 localhost.localdomain systemd[1]: Failed to start Zabbix Server.
Nov 13 12:28:02 localhost.localdomain systemd[1]: Unit zabbix-server.service entered failed state.
Nov 13 12:28:02 localhost.localdomain systemd[1]: zabbix-server.service failed.

zabbix-serverの起動に失敗

4. SELinuxポリシー設定の試行錯誤

zabbix-serverが起動しないためstackoverflowを参考にselinuxのポリシーを設定する(参考リンクは末尾参照)

$ yes | sudo yum install policycoreutils-python
$ sudo semanage permissive -a zabbix_agent_t

semanageの実行には少々時間がかかりました

再びzabbix-serverを起動してみるもエラー。
CentOSの再起動を試してみるもやっぱり起動しません。
続けて他の試行錯誤を試します。

$ getsebool -a|grep zabbix
httpd_can_connect_zabbix --> off
zabbix_can_network --> off
$ sudo setsebool -P httpd_can_connect_zabbix on
$ sudo setsebool -P zabbix_can_network on

やっぱり起動しない…

試しにSELinuxを無効化すると起動したので、ポリシー周りが足りていないのが原因の模様。

$ sudo setenforce 0

$ sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2017-11-13 12:43:54 UTC; 11s ago
  Process: 2264 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 Main PID: 2266 (zabbix_server)
   CGroup: /system.slice/zabbix-server.service
           ├─2266 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
           ├─2271 /usr/sbin/zabbix_server: configuration syncer [waiting 60 s...
           ├─2272 /usr/sbin/zabbix_server: alerter #1 started
           ├─2273 /usr/sbin/zabbix_server: alerter #2 started
           ├─2274 /usr/sbin/zabbix_server: alerter #3 started
           ├─2275 /usr/sbin/zabbix_server: housekeeper [startup idle for 30 m...
           ├─2276 /usr/sbin/zabbix_server: timer #1 [processed 0 triggers, 0 ...
           ├─2277 /usr/sbin/zabbix_server: http poller #1 [got 0 values in 0....
           ├─2278 /usr/sbin/zabbix_server: discoverer #1 [processed 0 rules i...
           ├─2279 /usr/sbin/zabbix_server: history syncer #1 [synced 0 items ...
           ├─2280 /usr/sbin/zabbix_server: history syncer #2 [synced 0 items ...
           ├─2281 /usr/sbin/zabbix_server: history syncer #3 [synced 0 items ...
           ├─2282 /usr/sbin/zabbix_server: history syncer #4 [synced 0 items ...
           ├─2283 /usr/sbin/zabbix_server: escalator #1 [processed 0 escalati...
           ├─2284 /usr/sbin/zabbix_server: proxy poller #1 [exchanged data wi...
           ├─2285 /usr/sbin/zabbix_server: self-monitoring [processed data in...
           ├─2286 /usr/sbin/zabbix_server: task manager [processed 0 task(s) ...
           ├─2287 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.00000...
           ├─2288 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.00000...
           ├─2289 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.00000...
           ├─2290 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.00000...
           ├─2291 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.00000...
           ├─2292 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 value...
           ├─2293 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.00...
           ├─2294 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.00...
           ├─2295 /usr/sbin/zabbix_server: trapper #3 [processed data in 0.00...
           ├─2296 /usr/sbin/zabbix_server: trapper #4 [processed data in 0.00...
           ├─2297 /usr/sbin/zabbix_server: trapper #5 [processed data in 0.00...
           ├─2298 /usr/sbin/zabbix_server: icmp pinger #1 [got 0 values in 0....
           ├─2299 /usr/sbin/zabbix_server: alert manager #1 [sent 0, failed 0...
           ├─2300 /usr/sbin/zabbix_server: preprocessing manager #1 [queued 0...
           ├─2301 /usr/sbin/zabbix_server: preprocessing worker #1 started
           ├─2302 /usr/sbin/zabbix_server: preprocessing worker #2 started
           └─2303 /usr/sbin/zabbix_server: preprocessing worker #3 started

Nov 13 12:43:54 localhost.localdomain systemd[1]: zabbix-server.service holdo...
Nov 13 12:43:54 localhost.localdomain systemd[1]: Starting Zabbix Server...
Nov 13 12:43:54 localhost.localdomain systemd[1]: PID file /run/zabbix/zabbix...
Nov 13 12:43:54 localhost.localdomain systemd[1]: Started Zabbix Server.
Hint: Some lines were ellipsized, use -l to show in full.

permissiveで起動したのでauditログを確認します。

[vagrant@localhost ~]$ sudo less /var/log/messages
[vagrant@localhost ~]$ sudo sealert -l 8d624bbe-b4db-4211-a8d2-3c44d8eb9fea
(略)

# ausearch -c 'zabbix_server' --raw | audit2allow -M my-zabbixserver
# semodule -i my-zabbixserver.pp

[vagrant@localhost ~]$ sudo ausearch -c 'zabbix_server' --raw | sudo audit2allow -M my-zabbixserver
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i my-zabbixserver.pp

[vagrant@localhost ~]$ sudo semodule -i my-zabbixserver.pp

OSを再起動するとSELinuxが有効の状態でも起動しました。

http://127.0.0.1:8080/zabbix/setup.php

5. おまけ

Zabbix Webページの言語選択で日本語が選べなかったので、ロケール設定を修正しました。

sudo localedef -f UTF-8 -i ja_JP ja_JP
$ sudo systemctl restart httpd

x. 参考資料

広告を非表示にする

SIMカードアダプターを使ってみた

今使っている端末の対応SIMはnano SIMですが、端末の買い替えを見越してmicro SIMに交換しました。
そのままでは今の端末で利用できないのでSIMカードアダプターを利用します。

Amazonで見ていると値段もピンきりで中々どれも怪しい感じだったのですが、購入したものは無事使えました。
写真ではmicro SIMをmicro SIM->nano SIMアダプターに取り付けて、それを更にnano SIM→SIMアダプターにつけてみました(この状態で利用するのは推奨されません。アダプターを利用すること自体が推奨されませんけどねw)

micro SIMをmicro SIM->nano SIMアダプターに取り付けて使っていますが、今のところは問題なく認識されています。

広告を非表示にする