せたがやえんじにあぶろぐ

Ruby | Rails | iPhone | Web

UbuntuでOpenSSLのセキュリティUpdateしたよ(Part.2)

f:id:eienshinjin:20150122011205p:plain


FREAK攻撃やらClientHelloまた脆弱性対応のアップデートが出たみたい。

詳しい内容。
JVNVU#95877131: OpenSSL に複数の脆弱性

こういう時の情報収集にはTwitterとか使ったりするよ。
OpenSSL - Twitter Search


各ベンダーからセキュリティパッチがあがってきたら対応しておいた方が良いかも。

こういう時って焦ってなんでも対応したくなっちゃうけど

環境によって本当に必要な対応かどうかは変わってくるみたいだから、

ちゃんと情報を確認して行う事が大事だと偉い人が言っていたよ。

それで、対応内容いつも忘れるからメモ。

続きを読む

CentOSでOpenSSLのセキュリティUpdateしたよ

f:id:eienshinjin:20150122011205p:plain

JVNVU#98974537: OpenSSL に複数の脆弱性


RPMからOpenSSLのセキュリティパッチがでたよ。

昨年、HeartbleedやらPOODLEの脆弱性がたくさんあったので

アップデートを行った。




対応したCentOSのバージョンは 6.6 (Final)

ちなみに

$ cat /etc/redhat-release

で確認できる。

公開されたセキュリティパッチの対応バージョンはCentOS6-7。

それぞれ、OpenSSLのバージョンも変わるよ。(アーキテクチャは脳内補完してね!)

6 => openssl-1.0.1e-30.el6_6.5.x86_64.rpm
7 => openssl-1.0.1e-34.el7_0.7.x86_64.rpm

詳細 - Red Hat Customer Portal


対応の脆弱性

CVE-2014-3570
CVE-2014-3571
CVE-2014-3572
CVE-2014-8275
CVE-2015-0204
CVE-2015-0205
CVE-2015-0206

ちなみに対応しないと下記参考URLの様な目に合う可能性があるそうだよ。
OpenSSLの脆弱性CVE-2015-0204,0205,0206,CVE-2014-3569,3570,3571,3572,8275まとめ


・OpenSSLのVersion確認
$ rpm -qa | grep openssl

・キャッシュの削除
$ yum clean all

・OpenSSLのUpdate
$ yum update openssl openssl-devel

・OpenSSLのVersion確認(再び)
$ rpm -qa | grep openssl
#=> openssl.x86_64 0:1.0.1e-30.el6_6.5                                                 
#=> openssl-devel.x86_64 0:1.0.1e-30.el6_6.5     

・Webサーバー再起動
  

追記
CentOS 5用
2015/01/12にRed HatのVersion5向けにアップデートが公開されていたみたい。
Change Logみても今回の脆弱性に対応している情報がなかったので、
あれなんだけど最新にはしといたほうがいいと思う。

詳細 - Red Hat Customer Portal

openssl-0.9.8e-32.el5_11.x86_64.rpm

Ubuntu

UbuntuでもOpenSSLのセキュリティUpdateしたよ

f:id:eienshinjin:20150122011205p:plain

JVNVU#98974537: OpenSSL に複数の脆弱性

CentOSでのOpenSSL脆弱性対応に引き続き、

Ubuntu版もメモるよ。

実施したUbuntuのバージョンは 14.04.1 LTS

ちなみに

$ cat /etc/lsb-release

で確認できるよ。

詳細 - 1.0.1f-1ubuntu2.8 : openssl package : Ubuntu
その他、自分の環境にあったバージョン一覧 - openssl package : Ubuntu


対応の脆弱性

CVE-2014-3570
CVE-2014-3571
CVE-2014-3572
CVE-2014-8275
CVE-2015-0204
CVE-2015-0205
CVE-2015-0206

ちなみに対応しないと下記参考URLの様な目に合う可能性があるそうだよ。
OpenSSLの脆弱性CVE-2015-0204,0205,0206,CVE-2014-3569,3570,3571,3572,8275まとめ

・OpenSSLのVersion確認
$ dpkg -l | grep openssl

・OpenSSLのUpgrade確認
$ apt-get -s upgrade | grep openssl

・OpenSSLのUpgrade 
$ apt-get  -y upgrade openssl

・OpenSSLのUpgrade確認(再び)
$ apt-get -s upgrade | grep openssl
#=>何も出ないことを確認

・OpenSSLのVersion確認(再び)
$ dpkg -l | grep openssl
#=> 1.0.1f-1ubuntu2.8

・Webサーバー再起動

CentOS

wwwなしからwwwへの転送設定 [Apache x Unicorn]

主流はnginx x unicornなんだろうけど、既存のサービスなんかはApache使ってることが多いのかなぁ。

apacheでwwwなしから、www付きの転送設定はたくさん使うことがあるのでテンプレ保存しておこうかな。

続きを読む

Ruby on Railsで今の季節が分かるライブラリ的なのが無かったので、ActiveModelでクラスを作ってみたよ

Rails 4.0.0
Ruby 2.0.0

RubyのDateやTimeのライブラリは、とても使いやすくて素晴らしいのだけど、今の季節が一瞬でわかるライブラリや、Dateクラスにもそんなメソッドが無かった気がするので、

簡単に実装してみたよ。

@season = Season.new
# => #<Season:0x00000104f4c298 @from=Wed, 01 Oct 2014, @to=Wed, 31 Dec 2014, @from_to=Wed, 01 Oct 2014..Wed, 31 Dec 2014, @name="秋", @code=:autumn> 

↑こんなコードで、今日がどの季節なのかが分かるインスタンスが得られるように

ActiveModelを使ってクラスを作ってみたよ。

続きを読む

PostgreSQLとRailsでシーケンスを手動で上げる

通常RailsActiveRecordでレコードを作成するときは

User.create(name: "なまぽ", email: "namapo@mailaddress.com")

などとして作成し、テーブルのprimary_keyがidになっている場合には

自動でidを付与してシーケンスも自動インクリメントしてくれるので、

コードを書いている時に、idに関する考慮をあまりしなくてもいい仕組みになっているよ。

migrateなどで、テーブルを作成した場合にも特に指定がなければ

idのカラムを自動で作成してくれるし、さらにidのprimary_key指定もやってくれる。

続きを読む

Rails4で本番環境のみ、コントローラー・アクション毎にSSL

参考
RailsでSSLを利用するときのあれこれ [俺の備忘録]

Rails4で
SSLを組み込むとき、 

Gemfileに

gem 'bartt-ssl_requirement', :require => 'ssl_requirement'


を書いてから、ターミナルにて

$ bundle install


その後、ApplicationController.rb辺りに

include ::SslRequirement

を記述。

コントローラーやアクションごとにSSLを切り替えたい場合は、

LoginController < ApplicationController
  ssl_required :login

  def login
    User.authenticate(params[:user])
  end

end

などとする。

続きを読む