DebConf18 レポート
台湾で行われた、DebConf18 に参加してきました。
こんにちは、OSS 技術本部・基盤技術部でエンジニアをしている弦本です。
少し時間が経ってしまいましたが、7 月に台湾の新竹で開かれた
Debian Project の開発者カンファレンスである DebConf18 に参加してきました。
DebConf について
DebConf とはフリーなオペレーティングシステムを作るプロジェクトである、Debian Project が開催するカンファレンスです。
Debian の機能の向上などに興味がある、開発者や貢献者、ユーザーなどが参加します。
通常 Debian の開発はインターネット上で行われ、関係者は世界中に散らばっているため、
一箇所に集まって議論をする機会は年 1 回開催される DebConf を除いて、あまりありません。
今回の会場は台湾の国立交通大学で、アジアでは初の開催となりました。
カンファレンスは 8 日間にわたって開催されていました。
およそ 2 つから 4 つのセッションが同時に開かれており、
興味を持ったセッションに自由に参加できます。
https://debconf18.debconf.org/schedule/
空いた時間にはハックラボで自分の作業をしていてもよいですし、
ハックラボの中では 100 台湾ドルで売っているビールを飲むこともできます。
Debian パッケージのメンテナを探して、ディスカッションすることもやろうと思えば可能です。
Debian とサイバートラストの関係
サイバートラスト ( 旧 ミラクル・リナックス ) は商用の Linux ディストリビューションである、
Asianux Server を開発・サポートしていますが、
Asianux だけではなく、Debian のような異なるパッケージ管理システムを持ち、歴史的にも独立して開発されてきたディストリビューションにも関わりがあります。
例えば サイバートラスト は 6 月に CIP(Civil Infrastructure Platform) に参加することになりました。
CIP は Debian LTS Initiative とコラボレーションし、
Debian と Debian をベースにしたシステムを長期サポートすることを決めています。
https://jp.linux.com/news/274-lf-pr/464528
CIP も今回、Civilization runs on Debian という題で発表を行いました。
プロジェクトは社会インフラにも使えるような、組込み Linux システムのべースレイヤーを提供することと、Linux カーネルの特定のバージョンに超長期的サポートを提供することに注力しています。
内容
セッションの内容としては、普通の発表もあれば
BoF(Birds of Feather) と呼ばれる、特定のトピックに興味がある人が集まって議論するセッションや、ワークショップなどがあります。
実際に筆者が聴講したセッションとしては、
- Bits from DPL(Debian Project Leader)
- AppArmor in Debian: let's share feelings, technical feedback and skills!
- What's new in the Linux kernel
- Reproducible Buster and beyond
などが挙げられます。Debian 関係で個人的に着目しているトピックは
Reproducible Builds プロジェクトと AppArmor 関連の動きです。
Reproducible Builds プロジェクトとは、Debian コミュニティが中心になって進めている
ソフトウェアのバイナリのビルド再現性を確保するための取り組みです。
ビルドの再現性は、単純にデバッグのためにも役に立ちますがセキュリティ面でも、役に立ちます。
あるバイナリが対応するソースコードから生成されたことが確かに証明できる場合、例えばバイナリをビルドするサーバーに対して攻撃が仕掛けられ、悪意あるコードを混入するような設定がされてしまっても、第三者がバイナリとソースコードから検証を行い、攻撃を検出できるようになることが期待できます。古典的には Thompson Hack のような実例が挙げられます。
セッションでは進捗報告や遭遇した問題に関する報告、バイナリを比較するツールである diffoscope をオンラインで試せるサイトの紹介などがされました。
AppArmor は LSM(Linux Secuirty Module) の一つです、
LSM の中で最も有名なのは SELinux ですが、LSM は複数存在する中からユーザーが自分で選択してセキュリティ機構を選ぶことができます。
AppArmor は Ubuntu や openSUSE では デフォルトで有効になっており、プロファイルなどもインストールされていますが、Debian 9 までは SELinux と共にユーザーが自分でどちらかを有効に設定することになっていました。
2017 年 8 月に AppArmor 関連パッケージのメンテナからデフォルトで有効にする提案が提出されたことをきっかけにして、現在それぞれ不安定版とテスト版である sid, buster では AppArmor がデフォルトで有効になっています。
DebConf のセッションでは参加者がどのくらい AppArmor を使っているのか、このまま enable のまま Debian 10(buster) を開発するかどうか、enable の状態でのパッケージメンテナンスの対応などについてディスカッションがされました。
https://people.debian.org/~intrigeri/blog/posts/Report:_AppArmor_BoF_at_DebConf18/
また AppArmor 自体の機能解説のセッションも別枠で開かれていました。
セッションの録画
Debian の開発者は世界中に点在しているため、カンファレンスには参加できない人もいますが
多くのセッションが録画されているため、後から内容を確認することが可能です。
https://meetings-archive.debian.net/pub/debian-meetings/2018/DebConf18/
また YouTube チャンネルにもアップロードされています、ご興味のある方はご覧になってください。
所感
Reproducible Builds プロジェクトは、かなりの期間をかけて取り組まれていて、
少しずつ進んでいるようですが、まだドキュメントなどが完全には整っていなく、wiki には古い情報が点在しており、未成熟だと感じました。
一方 AppArmor は最近まであまりきちんと目を向けたことがなかったのですが、かなり成熟していて、SELinux と比べても取り扱いやすく、ディストリビューション側で提供されるデフォルトのプロファイルが少なめなことを除けば、今後有望なのではないかと思いました。
まとめ
DebConf18 で行われた内容のほんの一部について紹介しました。
ディストリビューションの開発者カンファレンスというと、低レイヤーに詳しく、
OS の動きや開発について知り尽くしている人たちが集まる会議に見え敷居が高いかもしれません。
しかし Linux をサーバーや組込みシステムあるいはデスクトップ PC など、いずれの用途で使うとしてもディストリビューションの仕組みや開発・保守のやり方について知っておくのは、役に立つと思っています。
来年の DebConf はブラジルで開催されるため、参加するのが大変ですが openSUSE.Asia Summit 2017 のように、日本でディストリビューションのカンファレンスが開かれることもあります。
みなさんも是非、このような機会があれば参加してみてはいかがでしょうか。