Vuls Matsuri #3

Vuls Matsuri #3

Vuls祭りに参加してきました。

30分前に到着する予定が、道に迷ってしまい途中から参加…。国会議事堂前から溜池山王へたどり着けず…。

資料はそのうち上がってくると思うので特に印象に残ったことや感想を書きます。

後半になるにつれお酒が回ってきてメモが雑になっていく…。

基調講演(キーノート)

Vulsの最新アップデートと今後の機能拡張についての発表でした。

しかし遅刻してきたのであまり聞けず…。

Alpine Linuxの対応が優先して行われるとのこと!海外だと特にDocker勢力がたくさんいて、Alpineがデファクト的な感じなのでという経緯らしい。

あとVulsへのコントリビュート方法的な紹介も。てっとりばやくコントリビュータになる方法としては、READMEに貼ってあるgo reportにtypoが上がってるからそれを直すPRを出せば良いとのことw

vulsrepoアップデートについて

Vulsのレポートを可視化するvulsrepoの最近のアップデート内容の紹介。

個人的にウホッて思った内容は以下。

  • アップデート対象のパッケージのChangelogが見れるようになった
  • インストールが簡単になった(ApacheとかWebサーバの準備が不要になった。バイナリになった)
  • CVSS基本値をレーダーチャートで表示
    • JVNとかの深刻度の表示パット見でわからないので可視化された 🙏
  • インストールされてるカーネルバージョンと動作中のカーネルバージョンが違うと表示してくれるように
    • つまりカーネルアプデ後のリブート忘れ奴の表示 🙏

フューチャーアーキテクト

フューチャーアーキテクト株式会社の紹介。内閣官房働き方改革実現会議議員がいたり海外で勉強しながら働いてるメンバーが居たり小汚い部屋で働いている人が居たり、色んな人が居るんだなあ。

Vulsの運用tips紹介と機能要望

貴重な運用の話や…!

環境について

Vulsはt2.mediumで動かしているらしい。スキャン対象は500台くらいだが、それでもCPUパワーは30%程度しか使わないとのこと。

Vuls本体のアップデートや運用について

Vuls本体のアップデートはChefのWhy runを毎日回してgitに更新があればSlackに通知して、アップデートしているとのこと。

アップデート方法はVulsをpullしてmakeしてるとのこと。

NVD/OVAL更新やレポーティングはJenkinsのpipelineを使って毎日更新している。

その辺の詳しい話は以下のブログにまとまっている。👀

機能要望

  • Slack通知をサマリだけにしたい
    • 通知がサーバ台数分くると通知で埋め尽くされる
  • 前日との差分が出せるようにしてほしい
  • --enablerepoとかyumのオプションを定義したい

FAQ

  • Q. なんでスコアが8点以上のものを対象にレポートしている?
    • A. 即時対応必要そうなのは8点以上が多いという経験則から
  • Q. 逆にVuls導入して脆弱性対応の仕事が増えた?
    • A. 増えたwけどちゃんと対応することが正しいはず

大規模環境でのVuls運用(仮)

貴重な運用の話。そして規模がでかい。

環境

スキャン対象のサーバは3000台くらい。大規模だ…。

プライベートクラウド(OpenStack)上に150個ほどのサービスが動いている。

課題と解決方法

  • 3000台クラスなので、スキャンを並列化した(直列だと2日かかるw)
    • 15台並列で3〜4時間
  • 通知しても見なくなる問題はイベント管理することで対応
    • スキャンした結果を前日と比較して差分を通知するようにした(その仕組は自前で作った)
  • 対応状況はRedmineのチケット化した
    • エンジニア以外も見れるし

差分の出し方は、スキャン結果(json)をDBに一回入れ、前回との差分を出しているとのこと。

導入後の課題

  • サーバ毎にチケットきると、Redmineのチケットが数千個作られるwそしてRedmineが落ちる
    • vulsrepoを導入して対応状況を可視化。作業の混乱も減った

FAQ

  • Q. vulsはもともと並列のはずだけど…?
    • A. 検証初めたのがちょっと前で古いバージョンだったりあとほかに1台ずつやらざるを得ない事情があった
      • ???「0.4にアップデートしよう!!!!」

Vulsで検知した脆弱性への対処について

運用について。Vulsで検知した脆弱性ぶっちゃけどうしてる?という座談会。

いかざっくりしたメモ。

  • バージョンはあげられるんだったら全部上げるべき!!
  • 当てたいのはやまやまだけど色んな事情がある…(お客さんのシステムだったりとか)
  • でも自分たちで管理しているサービスだったらちゃんと冗長化するなりすればいいじゃん。yumとかは特に既存のバージョンにパッチ入れてるだけだしあてればいいじゃん
  • でも冗長化してても問題が有った場合と切り戻すまでのラグあるけどどーするん
  • 金融とか医療とか確かに業界によるところはある。でもどう云う状況ならパッチ当てていいか、定量的に評価できなそう。とはいえほんとにそんなにパッチ当てられない状況ばかりではないはず
  • とはいえほとんどの業界ではそこまでシビアではないはず。そこまでいくとVulsでなんとかなる話ではない。一般的な話ではどうかという話。なんか一般レベルでパッチ当てるか当てないかが気にされすぎているんじゃ?

など。やはりパッケージのアップデートって重いよなあ…。医療金融ではもちろん事情は変わりそうだけど、それ以外の業界でも重いと思ってしまう。DBのアプデとかね…。

LT

サーバレスVulsを構築しているのが面白かった。

Vuls、クラウドサービス始まる

とうとう来るらしい。🎉

  • OSSをクラウド提供始めただけではない
  • セキュリティ専門家が挟まる(相談できる窓口)のと、Mackerelとの連携とかがあるっぽい…
  • 検知した内容のチケット化も提供

感想

Vulsの貴重な運用の話が聞けた!!!

とりあえず色々遊んでみたい欲求が生まれた。😊