タグ

ブックマーク / sil.hatenablog.com (6)

  • コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh

    CVE-2019-5736を覚えていますか?今年の2月に見つかったrunc(Dockerがデフォルトで利用しているコンテナのランタイム)の脆弱性で、ホストのruncバイナリを好き勝手にコンテナ内部から書き換えることができるというものです。 脆弱性の仕組みに興味があったので調べたところ、コンテナを攻撃する方法というのは他にもいろいろあって、runcは頑張ってそれを塞いでいるようです。これまとめると面白いかも、と思ったので以下のようなおもちゃを作りました。 Drofuneは簡単なコンテナランタイムです。drofune runとかdrofune execなどでコンテナを起動したり、入ったりすることができます、といえば想像がつくでしょうか。 これだけでは何も面白くないので、Drofuneはわざと安全でない実装になっています。なので、今回発見されたCVE-2019-5736を利用した攻撃も成立します

    コンテナはなぜ安全(または安全でない)なのか - sometimes I laugh
    mukaken
    mukaken 2019/05/06
  • Jenkins + GitBucketなインスタンスでFuelPHPをバージョン管理する環境構築してみた - sometimes I laugh

    以前までの記事でデプロイ、テストの自動化ができたわけですから、これで後はゴリゴリコーディングするだけ、ということで、Route 53でドメイン購入までしたわけですが、いまさらになってGitHubをリポジトリホストに使うのはちょっと厳しいなと。 できればAWSVPC内にGitサーバ立てて、プライベートなリポジトリホストを使用するつもりだったのですが、そのためにインスタンス立ち上げるのはもったいない、という理由からGitHubを採用していました。しかし、Jenkinsサーバを立てている現状、Jenkinsサーバにリポジトリホストとしての役割を兼任させればいいじゃんという結論に。 HTTP経由でリポジトリを参照するようにしようかなと思っていたところ、社内でGitBucketというGitHubのクローンでサーバ立てたという話を聞き、すごく良さそうだったので試してみることにしました。 GitBuc

    Jenkins + GitBucketなインスタンスでFuelPHPをバージョン管理する環境構築してみた - sometimes I laugh
  • JenkinsでGitHubのプッシュ時に自動デプロイする - sometimes I laugh

    Gitでバージョン管理をしていると、番サーバにデプロイする際に、クライアントでpush、そして番サーバにログインしてgit pull、ってやるのは面倒臭いですよね。そんな不毛な操作は自動化するのがプログラマとしては当然です。 GitHub上のリポジトリで、デプロイの自動化をやるにはWebhookやTravis CI、JenkinsなどのCIツールとの連携を考えます。選択肢は多々あり、それぞれにメリット、デメリットはありますが、今回は後々、FuelPHPのユニットテスト自動化までを見据えて、Jenkinsによるデプロイ自動化を試してみようと思います。 サーバ構成イメージ 今回、Jenkinsを導入するにあたって、専用のEC2インスタンスを立ち上げます。このインスタンスをCIサーバとして利用していきます。 GitHubリポジトリへプッシュされたとき、GitHubはJenkinsサーバへ通知

    JenkinsでGitHubのプッシュ時に自動デプロイする - sometimes I laugh
  • JenkinsでFuelPHPのユニットテストを自動化してみた - sometimes I laugh

    Jenkins、いいですよね。オペレーションの自動化には美があります。前回の記事ではGitによるデプロイ自動化を行いましたが、その時点で既にユニットテストの自動化は想定していたので、今回はそれを実現してみます。 これによって、機能を実装してプッシュする度に自動でデプロイされ、その過程でテストが自動で行われるので、特に通知がなければ動作が保証されるようになります。実際に番環境への適用の際には、もう少ししっかりテストをする必要があるのかもしれませんが、開発環境レベルではテストを意識的に実施せずとも気兼ねなく開発を進めることができます。 ユニットテストにはおなじみのPHPUnitを使います。なお、前回のJenkins導入やデプロイ自動化の話はこちらの記事でまとめてありますのでよろしければどうぞ。 ユニットテストとテスト自動化 従来、プログラムのテストはミスの許されない商用プロダクトでは欠かせな

    JenkinsでFuelPHPのユニットテストを自動化してみた - sometimes I laugh
  • FuelPHPとAWS RDSでMVCプログラミング - sometimes I laugh

    年末にかけてインフルエンザの猛威を受けてしまい、数日ダウンしておりました。 体調はすっかりよくなったのですが、まだ体内を菌がうようよしているらしいので、念のため自宅療養中です。それはさておき、既にネタとして用意しておいたRDSを使ったFuelPHPのMVCモデルプログラミングについて、せっかくですから忘れないうちに記事にしておこうと思いたち、病床から記事を書いてます。 年末年始はようやくまとまった時間が取れるということもあり、VagrantとかDockerとか色々試すぞーと張り切っていただけに、体調不良で早速出鼻をくじかれるとは・・・なんとも情けない限りですね。 前回のおさらい 以前もFuelPHPの記事を書きましたが、こちらでは簡略化のため、Model要素を省いたViewとControllerによるVCモデルプログラミングについて書いておりました。MVCモデルプログラミングの利点は、それ

    FuelPHPとAWS RDSでMVCプログラミング - sometimes I laugh
  • FuelPHPの導入とVCモデルでプログラミングしてみる - sometimes I laugh

    ようやくプログラマらしい記事が書けます。コーディング全然してませんでしたからね。 FuelPHPとは、超高速開発をサポートするPHPフレームワークです。 FuelPHP » A simple, flexible, community driven PHP5.3 framework. http://fuelphp.com/ フレームワークによるプログラミングは、従来のプログラマが開発してきた様々なコンポーネントを、簡単に利用できるため、開発効率を大幅に改善することができると言われています。 PHPフレームワークでは、CakePHP、CodeIgniter、Symfonyなどが普及していますが、FuelPHPはその中のひとつで、CodeIgniterの開発者が集まって開発された、従来のフレームワークの問題を解決するフレームワークとのことです。 数々の選択肢から、私がFuelPHPを選んだ理由は

    FuelPHPの導入とVCモデルでプログラミングしてみる - sometimes I laugh
  • 1