読者です 読者をやめる 読者になる 読者になる

KazuminEngine

プログラマーの日記

IoTセキュリティウィークin沖縄2016~ハッキング デー(1日目)に参加しました

こんにちは ひたすら人と違うことをする天邪鬼なかずみんです。

「イベントで学んだことなどは、明文化していくといい」と聞いたので、書いていきます。

今回はこちらに参加しました。

http://ccds.or.jp/event/2016/20161201/20161201.html

参加動機

セキュリティミニキャンプ2016の事前学習になると思ったので、参加しました。(特に、CAN busを用いた演習) また、デモが複数あるとゆうことだったので、「イベントでしか得られないものがあるのでは?」と思ったのでいきました。

セッションのまとめ

全体的にまとめていきます。 CCDSの取り組みを各分野についての発表が15分のが数回あった感じです。15分なので、そんなに深くは踏み込んでないです。会社紹介・ツール紹介・仕事の実行フェーズ・研究内容などの紹介がなされてました。ちょっと、書くのが面倒なので、詳細は割愛しますね。詳しくは、CCDSの公式ホームページなどに書かれています。

参加してみての感想

「イベントの影響力は凄いなー」と思いました。 やっぱり、オンライン配布されている資料を見るより、イベントに行くと、モチベーションに繋がるのでいいですね。早速、BadUSBでも作ってみます。

シスカンでのモチベーション上がったので、行ってよかったです。

CAN busも何となくわかったので、良しとします。

さて、2日目も行って来ます。「iotとセキュリティの未来(シンポジウム)」についての話のようです。楽しみです。

systemdの隠れたログを見よう

Tips

前置き

こんにちは、久しぶりのかずみんです。 あんまり書くことなかったので、書いてませんでした w

今回、私の都合により、日本語を適当にやっていきますw ところどころ日本語が思いつかないw

何やるの?

systemdで具体的なエラー内容を見つけるTipsを紹介します。 念のために言っておきますが、必ず見つかるわけではないですw

しかし、低レイヤーのlogを見たり、エスパーして、問題解決するよりもマシ?だと思います。

適当に教える

unitファイルのExecStartをsystemctlを介さずに叩くのです。 環境変数が使用されている場合は、設定ファイルへ探しに出かけましょう。

もうちょっと具体的に

fail2ban起動時に実際にエラーを起こして、エラー退治に行きましょう。 すみませんが、fail2banの説明とインストール手順は、割愛します。 ちなみに、筆者は、fail2banを本番導入してますが、こだわりは特にないですw

fail2ban:http://www.fail2ban.org/wiki/index.php/Main_Page

はい、スタート。 はい。こんな感じでエラー経験しますよね。はい。

$ systemctl start fail2ban
Job for fail2ban.service failed because the control process exited with error code. See "systemctl status fail2ban.service" and "journalctl -xe" for details.

で、指示通り。エラーを見ます。はい。

journalctl -ex  
Aug 30 23:02:32 host[1]: fail2ban.service failed.
Aug 30 23:02:32 host[1]: fail2ban.service holdoff time over, scheduling restart.
Aug 30 23:02:32 host[1]: start request repeated too quickly for fail2ban.service
Aug 30 23:02:32 host[1]: Failed to start Fail2Ban Service.
$ systemctl status 
Aug 30 23:02:32 iscsi.st.ie.u-ryukyu.ac.jp systemd[1]: fail2ban.service holdoff time over, scheduling restart.
Aug 30 23:02:32 iscsi.st.ie.u-ryukyu.ac.jp systemd[1]: start request repeated too quickly for fail2ban.service
Aug 30 23:02:32 iscsi.st.ie.u-ryukyu.ac.jp systemd[1]: Failed to start Fail2Ban Service.
Aug 30 23:02:32 iscsi.st.ie.u-ryukyu.ac.jp systemd[1]: Unit fail2ban.service entered failed state.
Aug 30 23:02:32 iscsi.st.ie.u-ryukyu.ac.jp systemd[1]: fail2ban.service failed.

いや。でも。でも。エラー内容が抽象的すぎw

それから、

tail -f  /var/log/fail2ban.log 

とかやると思いますが、これでもわかりません。

そんなわけで、unitファイルに行きましょう!

$ systemctl cat fail2ban
# /usr/lib/systemd/system/fail2ban.service
[Unit]
Description=Fail2Ban Service
Documentation=man:fail2ban(1)
After=network.target iptables.service firewalld.service firewalld.service

[Service]
Type=forking
ExecStart=/usr/bin/fail2ban-client -x start
ExecStop=/usr/bin/fail2ban-client stop
ExecReload=/usr/bin/fail2ban-client reload
PIDFile=/var/run/fail2ban/fail2ban.pid
Restart=always

[Install]
WantedBy=multi-user.target

よっしゃ、環境変数がない!:) ExecStartを実行ですよ。うん。こうゆう感じです。

$ /usr/bin/fail2ban-client -x start
ERROR  Failed during configuration: File contains no section headers.
file: /etc/fail2ban/jail.d/jail.local, line: 27
'enabled = true  

来た!最高ですね!/etc/fail2ban/jail.d/jail.localの27行目がおかしいそうです。

ちょっと、はしょりますが、

これで、無事、直りました。 そんなわけで、めでたしめでたし!

最後に

もっと頭の切れたやり方が、あればコメントでもしてもらえると幸いです。 某大学の情報学科でもapacheのエラー箇所が分からないなどの話が横行しています。 そんな時、お勧めではないでしょうか?

DDOS攻撃

学科のDNSのqueryを眺めてニヤニヤしてると

/NS/INというクエリが来ていたので

調べてみるとDDOS攻撃のようだ。

DNS Test - SANS Internet Storm Center

で調べてみると クエリに対して、サーバーが応答してないので大丈夫

参考:blog.cles.jp

第2回 golang 勉強会 in Okinawa Log

こんにちは、かずみんです。

第2回 golang 勉強会 in Okinawa を開催してきたので、簡単にlogを残そうかと。

okinawa-go.doorkeeper.jp

あんまり、丁寧に書くつもりはない^^;

モクモク会(広島風

基本的にモクモクな雰囲気でした。

お互いすでに知り合いな感じでモクモクと。

package作ってる人、チュートリアル作ってる人、hugoやってる人、がいました。

私は、golangレベルのschedulerについて調べてました。

github.com

deep driveするはずだったが、入り口見つけただけで終わりました。

なんせ、英語でも記事が少ないわけで、、、、

compilerも結構読みやすいよ。 記事とコードを読み合わせれば、結構わかりそう。

適当に自分にしかわからない作業logを載せる



# n:m scheduler

古いがこの記事を読む -> https://morsmachine.dk/go-scheduler
あまりスケジューリングのことが書いてない -> https://docs.google.com/document/d/1TTj4T2JO42uD5ID9e89oa0sLKhJYD0Y_kqxDv3I3XMw/edit#
n:kernel space scheduler
m:user space scheduler

* そもそも何で必要?

->  the Go garbage collectorが動いている時に、他のgolang プログラムは待たなくてはいけないから

* 三つの登場人物

- M...OS level thread
- P...context switch for scheduling
- G...goroutine

context switchの数は、start up時にGOMAXPROCにより決定する

一つのMにrunqueがある。そこにgoroutineが後ろから追加されていく


LockOSThread...実行するthreadを固定したい時に使用する


実行可能なgoroutineが作成されると、runqueueにpushされる
goroutineの実行が終了すると、
goqueueが他のgoqueueのgoroutineを半分盗む


goのスケジューラーはプリエンプティブらしい

2時48分にいい記事見つけた -> http://www.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf


残り1時間ぐらい。英文なので、読むのに時間がかかるので、図を見た。(怖い

githubでgoのコンパイラであるgccgoのコードを眺めた。

こいつ読めばわかるんじゃないかなー↓

https://github.com/golang/gofrontend/blob/8edf085a94579bd819a10f50328233812ceeb950/libgo/runtime/proc.c#L1813-L1859

知識がないので、変数の可読性が.........

こいつが優先順位をつけるためにgoroutine structに情報を添付?
https://github.com/golang/gofrontend/blob/8edf085a94579bd819a10f50328233812ceeb950/libgo/runtime/proc.c#L2304-L2371


runtime_gogo関数でcontextとgoroutineをつなげている感じとエスパー

LT

私は、

www.slideshare.net

修正。パッケージの内部変数が、他のpackageの関数の挙動を変更する場合があるでした^^

blank importの説明が伝わらなかったですね。(私もあまり理解していないところがあって ...

機能と使用例をごっちゃにしちゃった感じがある。

もう一回、勉強し直して、blogにまとめるといいかもねー

  • LT資料は、勉強会中で作成するのが正解かも

アットホームなLTをすればいいのに、イメージトレーニング通りにやちゃって、

KY感あった。

んで、

LTも、聞いてる方の会話なんだなー。と実感(かなり大事

次回

まだ決めてない。 絶対やりますが、2,3か月ぐらいかなー

Kintone cafe in Osaka 感想!

こんにちは、琉球大学 情報工学科 3年次 木下和巳(@warugaki_kazumi)です。

3月25日に開催された「kintone cafe in 大阪」に参加してきました。

レポートを書く予定でしたが、ゆっくりブログを書いている途中で

R3の中の人が完璧な記事を投稿したので、

今回は手短に感想を書きます。(๑˃̵ᴗ˂̵)و

まだ、完璧な記事を読んでいない人は、先にそちらへ。

目次

勉強会

  • 方向音痴迷子

間違って綺麗なおねいさんが踊る居酒屋に凸した後だったので、 若干ウキウキ気分と緊張気分が複雑に入り混じっていました。

  • 自己紹介タイム

それから、

なんかいきなり自己紹介タイム。

おねいさんが踊っていたせいで心臓がバクバク(違w

適当に喋って、頭真っ白でした。(フー

  • 皆が皆。プロフェッショナル。

なんちゃらなんちゃらプロフェッショナルを皆さん持っています。

それぐらいじゃないと、仕事にならないのかと個人的に思ったり。

  • ベストプラクティス

仕事ってとにかく論理的なベストプラクティスで実行されるべきなのかなと思いました。

  • kintoneのカスタマイズ方法がよく分かる

jsわからずとも、ハンズオン形式なので文系にもわかりやすいと思いました。

業務 with kintone って最高だと思ったり。

  • 仕事が垣間見れる。

あくまで憶測ですが、このような勉強会に参加すると仕事が垣間見れたりするかもしれませんね。

様々なイベントに参加していますが、

この会社は、業務手助けしているのかなーと思ったり(違ってたら、申し訳ない

懇親会

  • うまい

カレーにビールが意外と合う。

  • 名刺

名刺をもらうが、お返しできず。

早速、作りました。

沖縄ではほぼもらわないですね。

  • 酔い

酔ってました......

みんなで一つのルーにナンを直接つけてました。(気づいてから、スプーンで取りましたよw

  • 学生

学生なので、おごってもらいました。

ありがとうございます!美味しかったです。

第1回Okinawa.goのレポート

こんにちは、琉球大学 情報工学科 2年 木下 和巳(@warugaki_kazumi)です。

先日、3月19日に第1回golang勉強会を開催しました。

コミュニティーが発達し、LT登壇者が増えることを願ってブログを書いていきたいと思います。

okinawa-go.doorkeeper.jp

目次

はじめに

業界を知らない方のために、軽く説明します。知っている方は、次に進みましょう。

ごく稀に「怪しい勉強会でしょ?」と思われますが、全然違います。 最近、プログラミングの習い事も流行っているらしいですね。 そのような感じで、子供に習い事をさせるような感覚と同じようなものと思って良いです。 それが、3か月に1回程度になり、社会人や学生がプログラミングの習い事に通っているようなものです。

「小さい子供ではなく、社会人や学生などの楽しいプログラミング勉強会」程度に受け取ってもらって十分ですが、なかなか理解しづらい「コミュニティー」という概念も関連しています。 コミュニティーに関しての説明ですが、あまり理解できていないので、割愛させてもらいます。

イベントについて

プログラミング言語Golangチュートリアルa tour of go」をみんなで一緒にやる勉強会です。

参加人数

大体ですが、イベント登録人数は30人。

気軽に遊びに来てくれたり当日キャンセルなどで、実際の参加人数は25人でした。

ハッシュタグ

ハッシュタグがまとめられています。

ハッシュタグを眺めながら、ブログを読むのが最近の流行りのようです。

臨場感をもってもらえれば幸いです。⁽⁽٩(๑˃̶͈̀ ᗨ ˂̶͈́)۶⁾⁾

togetter.com

大まかな勉強会の流れ

  • この勉強会についての説明

  • 「a tour of go」

  • LT大会

勉強会始まり

さぁ、イベントスタートです。

まずは、コアメンバーの西島氏から自己紹介と勉強会の流れの説明がありました。

すぐあとに、「a tour of go」を早速開始!

13:30~15:00までぶっ通しでやってました。

golangは、他の言語と比べてここが違う」「便利」など

あーだこーだ言いながらやってました。

次は、LT

LT

さて、次にLTの感想や情景を徒然なるままに紹介します。

LTってのは、5分程度で好きなことを話すプレゼンです。

西島さん

徳の高すぎるLTでした。

要約すると、「LTしようぜ」。

なぜ..............?と思った人はスライドへ。

半数以上がやる気を出したLT。楽しいエンジニアライフへ駆り立てるだろう。

www.slideshare.net @k_nishijima

tomohiroさん

会社でGolang使っている人なので、期待通りのLTでした。

今から使えるTool感満載でした!

(個人的には、次にライブコーディングしてほしいw

speakerdeck.com @Tomohiro

chibanaさん

こちらは、スライドが上がってないようですが、ブログを見つけました!

個人的に引き込まれたのが、チャネルで詰まった話。

「a tour of go」で 解決したそうです。(詳しくは、ブログに書いてます。

本当に、基礎大事!

qiita.com @chibana_555

木下さん

ラズペリーパイで並列処理をしたいがために、golangを使用しているらしい。

select文を使っていたので、並列処理したくなったなー。

質問の場所は、gopher.slack.comとyoutubeみたいだ。

www.slideshare.net @warugaki_kazumi

以上で、終了。

この後、居酒屋で懇親会があったようです。

次回

「第2回Golang勉強会 in Okinawa」は、5月28日に開催予定です。(多分w

最後に

私たちは、運営コアメンバー・LT登壇者を求めています。

また、

こちらからも声かけをすると思いますが、

Golang界隈の方の登壇をお待ちしております。

お気軽に声をお掛け下さい。(⇨@warugaki_kazumiまでっ!

第16回kansai.pmに参加して

こんにちは、木下(@warugaki_kazumi)です。

Let's ブログ書くまでが勉強会!(๑˃̵ᴗ˂̵)و

何してきたの?

Perl勉強会に参加してきました。

t.co

参加理由と私について

普段は、沖縄の琉球大学情報工学科に通っている2年次です。

沖縄のgolang勉強会のコアメンバーです。

他には、okinawa.rbとyomitan.pmなどに参加しています。

参加理由は、

  • 帰省中に、ラクダの鳴き声が聞こえた。

  • コミュニティー関係について学べるかと思った。

  • 学んで、沖縄のコミュニティー・LTに貢献したい。

LTについて

東さん

www.slideshare.net

猫ネタを挟むLTでした。PerlからRubyに移植した時の貴重な経験を話してくれました。

少し、ライブコーディングを披露してくれて、地味な作業を見せつけられました。

そして、その陰に、言語の知識と地味な作業に屈しない態度が垣間見えて、

リスペクトしています!

karupaneruraさん

www.slideshare.net

すごい。yapc発表者だ。 うっかりをなくす技術 - YAPC::Asia Tokyo 2015

time系のモジュール作ったらしい。

同じようなことをするモジュールの違いを喋っていました。僕は、一つしか使わないので、取り入れようかと思いました。

sagoさん

www.slideshare.net

車のコーディングについて語ってくれました。

そんな仕事があるんだ。へーって感じでした。

10行コード書いたら、何十時間のテストするそうです。

だから、コード書ける人と書けない人が分かれるそうです。

下手したら、一年に100行も書かないようです;(

(これは、僕のようにプログラミング書けない人でもできるのかなと思った。組み込みとかにも興味あるので楽しそう。

他に、papixさんとてつじさんのスライドが見つからず。

papixさんが、LT終了時間を超える主催者泣かせの素晴らしいライブコーディングを披露してくれました。

てつじさんは、wordpressPerl。作るべきモジュールについて

懇親会について

LTが5回ありました。アルコールが入っているので、発表者も聞く方もむちゃくちゃw

引っ込んであんまりしゃべれませんでしたが、yomitan.pmとcodehexさんが有名でしゃべれたかなーって感じw

Perlコミュニティーは、言語自体が好きでPerlプログラミングをお酒の当てにする大雑把さがあり

Rubyコミュニティーは、真面目な感じがするってのを個人的に思います。

Perlは、真面目にPerlで騒いでるって感じがしました。

学生に4000円は痛い!

次に活かすこと

  • ライブコーディングなどの実演は、少しでもいいのでLTでするとわかりやすいと思う。

  • 複数のライブラリを検査してから、使用。

  • golangで真面目に騒ぎたい 。

  • 自分が雰囲気を作っても大丈夫。

  • 仕事をすることが言語を極められる。仕事をすることは、社会貢献。社会貢献って自己実現になるしすごい!⇨社会貢献したい!