ダウンロード数/...最新バージョン/...

NEWSbaserCMSニュース

baserCMS - Vaddy の連携レポート

2017.11.24 お知らせ

この記事をシェアする

Facebook X はてなブックマーク

IMG_7037.jpg

こんにちは。baserCMS開発チームの阿部と申します。

近畿大学産業理工学部の4年生でビットコインの研究などをしてます。

 

baser公式サイトニュース(https://basercms.net/news/archives/490 )にもあったとおり、baserCMSは、VAddyを用いて定期的にセキュリティテストすることになりました。

 

今回はbaserCMSにVAddyを導入する際の開発に携わらせていただいたので

開発内容の報告を致します。

 

◯ VAddyとは

headerLogo.png
https://vaddy.net/ja/

継続的なセキュリティテストを実現するクラウド型Web脆弱性検査ツールです。

 

VAddy 連携開発

開発は右往左往しながらの開発でした。

最初はbaserCMSはGitHubとTravisCIを用いて開発とテストをしているので、TravisCIの処理の中にVAddyの処理を含めようと考えました。テストの流れとしては、GitHubが更新されるとTravisCIが処理を開始し、それが終わるとVAddyの処理が始まるという感じです。

必要な環境は、VAddyテスト用対象サーバ一つです。

 

開発が進んでいくと幾つか問題が現れました。TravisCIのテストが10分間標準出力がでないと強制終了する、並列実行してしまう、などで、これらはTravisCIならではの問題です。現在VAddyは一度に一つのテストしか実行できません。度重なるTravisCIからのVAddyの実行があった場合に問題が出てきてしまいます。例えば、TravisCIは並列実行のため、VAddyテスト中のテストサーバに新たなテスト環境が入ってきて、テスト対象の環境が正しいものではなくなってしまうのです。

 

(新たな環境をテストサーバに入れる前にテストが実行中かどうかの確認を定期的にする処理で回避することができるが、この方法だと3つ以上だと順番が狂う可能性がある。スタックなど実現することでこれも回避できるが、その手間は果たして必要なのか…?)

 

などと考えている時に、baserCMSのコミット単位でのテストから日付単位でのテストへと変更するように方針が変わり、cronを使う形に定まりました。結果、TravisCIからVAddyを実行する形から、テストサーバからVAddyを実行する形になり、問題が解決しました。しかし、続いて問題が発生します。テストサーバには、FreeBSDというOSが採用されており、VAddyクライアントは対応していませんでした。VAddy開発担当者である、市川氏に相談したところ、わずか数時間で対応版を開発してくださり、すぐに解決し、助かりました。対応力がすごいです!w

ベッシーしゃー.jpg

その後も、色々と相談に乗ってくださり、問題を早急に解決していただいたおかげもあり、無事に、baserCMSにVAddyを実装することができました!

 

 

今回の実装は、技術者としてまだまだ未熟な私にとっては、シェルスクリプトやTravisCI、セキュリティ意識など、色々と学ぶことの多い貴重な体験となりました。特に仕様書などの具体的な形があまり決まっていなかったところからのスタートだったので技術的に不安な部分がありましたが、VAaddy市川氏の協力で課題を乗り越えることができました。ありがとうございました。

 

さいごに

今回、私が開発していた短い期間にVAddyは少し変化しました。というのも、VAddy市川氏は今回のVAddy実装の間に、APIの追加、クライアントの追加、クロール周りの利便性改善などVAddyを進化させていたのです。

私なんかの相談でも、すぐに対応版をリリースしてくださったので、皆さんのVAddyへの意見も絶対すぐに対応してくれます!どんどん意見して困らせましょう!

 

 

 

この記事をシェアする

Facebook X はてなブックマーク