Garage labsサーバー部10Uに参加しました。~Linuxサーバーセキュリティ対策part3 – ファイル転送編

7月17日(水)、Garage labsサーバー部10Uに参加しました。
僕も「Linuxサーバーセキュリティ対策シリーズのpart3 – ファイル転送編」ということで発表させていただきました。
資料はこちらです。

サーバーでファイルを受信する必要がある場合、FTP, FTPS, SFTP, WebDAVといろいろ方法がありますので、セキュリティや機能的な要件に合わせて適切に選択するとよいと思います。

 
発表の前半では、前回の発表の補足として、Apacheに関する情報も含めました。
mod_securityについては、IPAの資料が、概要、導入手順、運用方法などとてもきれいにまとまっているので、参考にされるとよいでしょう。
https://www.ipa.go.jp/security/vuln/waf.html

 
 
他の方の発表としては、欧文印刷の田名辺さんより、以前の発表資料を用いてAWS Elastic Beanstalkの詳細説明がありました。

僕も以前から資料は目にして実際に少し触ってはいたのですが、本番運用における注意点など、かなり詳しく説明していただいて、とても勉強になりました。

忘れないようにメモ書き。

  • Ruby用EnvironmentのアプリケーションサーバーはPassenger。
  • Enviromentごとに、EC2インスタンスが生成される。
  • アップロードしたwarファイルはS3に置かれて、S3からデプロイされる。
  • AMIのカスタマイズは、BeanstalkのインスタンスにデプロイしてからカスタマイズしてAMIを生成するとよい。BeanstalkではないAMIから作成しても、Beanstalkがうまく起動しない。
  • EnviromentのConfigはSave, Loadできる。
  • EC2インスタンスは、ファイルデスクリプタの上限値が1024なので、引き上げる必要がある。
  • EC2のLocaleを変更するとBeanstalkがエラーする。LocaleはJVMのオプションで指定するとよい。
  • Environment名とURL名はリリース時にSwapするので、「本番」「ステージング」を意味するような名前は付けないほうがよい。
  • アプリケーションのバージョンアップは、Swap Enviroment URLでもよいし、DNSでEndpointを書き換えるのでもよい。
  • YAMLによるConfigファイルは、warファイルに含める。
  • YAMLでカスタマイズするとき、ソフトウェアのソースコード取得時など外部サーバーへアクセスする箇所があると、その外部サーバーがダウンしているとインスタンスを起動できなくなるので要注意。必要なファイルはS3に置くとよい。

 
AWS Beanstalkは、今、AWSで最もホットな機能だと思います。
アプリケーション用のサーバー構築やバージョンアップ時のデプロイの手間が大きく減らせるうえに冗長化、負荷分散された環境がすぐに手に入るので、アプリケーション開発+サーバー運用を行っているエンジニアさんは、ぜひ使っていただきたいです。
 
 
余談ですが、今回の僕の発表のスライド表示は、PCではなくKIndle Fire HDを使用しました。
サーバー部のあとに飲みに行く予定があったのですが、セキュリティ的にお酒を飲むときには仕事のデータがたくさん入っているPCを持っていきたくないのです。
移動時の荷物が重いのがイヤということもあります。
実際の発表では、デバイスの縦横比の都合で、スライドの上下が若干切れてしまうのですが、さほど問題なく発表できてよかったです。
ディスプレイとの接続には、Amazonで見つけた「MicroHDMI to VGA変換アダプタ」を使いました。
1,940円しましたが、特に問題なく使えていて便利です。
https://www.amazon.co.jp/gp/product/B00ANJME3O
 

(関連記事)

Follow me!