Bash 脆弱性 – ShellShock- (4) CVE-2014-6271 / CVE-2014-7169 AnsibleでBashをアップデートする

こんにちは。

グローバルソリューション事業部の吉村です。

 

昨日に引き続き、Bash 脆弱性 ShellShock についての情報です。

今日は、 Ansible のPlaybookで Bash のアップデートを試してみました。

 

検証で試したサーバは以下の4つです。

  • 192.168.12.183  CentOS release 6.5 (Final)
  • 192.168.12.192  CentOS release 5.10 (Final)   ※python-simplejson が必要。
  • 192.168.12.181  Ubuntu 12.04 LTS
  • 192.168.12.184  Ubuntu 10.04.4 LTS

 

結論から言うと、各サーバとも Bash のアップデートは成功したのですが、

CentOS 5 系の場合はデフォルトではインストールされていない python-simplejson をインストールする必要があります。

Ansible から操作する前にCentOS5 サーバにログインして yum update python-simplejson  を実行したので、2度手間になってしまいますが、気にせず行きましょう!笑

 

まず、前提条件として、

  • Ansibleサーバから一般ユーザでSSH公開鍵認証で接続できる状態。
  • 一般ユーザが sudo できる状態。
  • インベントリファイル hosts に以下のように記載

 

という状態です。

 

 

1、Ansibleサーバから全てのサーバに接続が可能なことを確認。

ping を打って、pong と返答がくるので、成功です。

 

 

 

2、Ansibleサーバからrpm を確認してみる。

ubuntuサーバはエラーですね。

 

3、Ansibleサーバから deb を確認してみる。

逆にCentOSサーバはエラーですね。

 

 

 

4、Ansibleサーバから Bash アップデートPlaybookを実行。

Playbook update.yml を作りました。

ベストプラクティスとか全く無視です。

 

OSがdebian系かRedhat系かで条件分岐を行い、それぞれでBashのパッケージをアップデート。

そして、ldconfig でライブラリ読み込んだ後に、例のコマンドでエラーが出るかを確認する。

ちなみに、例のコマンドの実行結果は、こんな感じです。

 

 

では、実際に実行してみましょう。

sudo を利用するので、-K オプションで、sudoパスワードを入力します。

ubuntuサーバは 6個、CentOSサーバは4個、Playbook 内の task を実行しました。

 

このあと、各サーバのBashのバージョンを調べたらアップデートされていたので、成功です。

 

以上、Ansible で Bash をアップデートする方法でした!

 

 

なお、クララオンラインのお客様対応は、こちらをご覧ください。

bash の脆弱性 (CVE-2014-6271,CVE-2014-7169) に関する注意喚起

 

 

また、今回の記事の作成には、以下のサイトを参考にさせていただきました。

 

 

それでは、続報があれば、お伝えします!

 

Share on LinkedIn
LINEで送る
Pocket

吉村

吉村

クララオンライン グローバルビジネスストラテジー部でマーケティング担当として働いています。 クラウド関連技術と中国関連の情報をお届けしてます。 たまに DJ とかします。日本語RAPが大好きです。