先日セキュリティホールが公開されて騒ぎになっているbash。
私のところで使っている古いLinuxで使用可能なbashも対策が適用されたVer.と入れ替えた。
昨日の夕方インストールしたのは
bash-3.0-27.0.2.el4.src.rpmからビルドし直したbash-3.0-27.0.2.el4.。
→bashが「CVE-2014-7169」に仮対応参照。
今朝方チェックするとさらに新しい
bash-3.0-27.0.3.el4.src.rpm
が公開されているので、早速ダウンロードして(ダウンロード元は先の記事参照)
# rpmbuild –rebuild bash-3.0-27.0.3.el4.src.rpm
リビルドし、
# rpm -Uvh bash-3.0-27.0.3.i386.rpm
でインストールした。
検証用のコード
# env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
を実行すると前バージョンの3.0-27.0.2.el4の時には出力されていた
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
が抑制され、
this is a test
のみとなったが、これで正常の筈。
More from: linux
bashが「CVE-2014-7169」に仮対応
「bashの脆弱性対策」で書いたbashの脆弱性に関して、未対応だった残りの脆弱性(CVE-2014-7169で報告)に仮に対応したbash-3.0-27.0.2.el4がリリースされていた。
先の記事同様ソースパッケージ
https://oss.oracle.com/el4/SRPMS-updates/bash-3.0-27.0.2.el4.src.rpm
をダウンロードして
# rpmbuild –rebuild bash-3.0-27.0.2.el4.src.rpm
でrpmパッケージをビルドして
# rpm -Uvh bash-3.0-27.0.2.i386.rpm
で適用完了。
CentOS版のbash-3.2-33.el5_10.4も出ているとのことなので、yumでアップデートが出来るようになる筈。
情報を下さったちょろさんありがとうございます。
ちょっと新しくなったVer.は駄目だった(汗)
bashの脆弱性対策を行ったが、bash-3.2-33.el5.1.src.rpmを使ってビルドしようとしたら「とあるヘッダファイルが無い」って言われてコンパイル出来なかった。
bash-3.2-33.el5.1.i386.rpmをそのまま入れようとしたらglibcのVer.が古くて入れられないのでソースから入れ直そうと思ったけど、やっぱり無理だったか(汗)。
bashの脆弱性対策
9/24にbashの脆弱性が発見されたと公表されてから一部では騒ぎになっている。
bashをインストールしていないシステムでは無関係だけど、使い勝手の良いshellなので各ディストリビューションではデフォルトのshellになっているものもあり、その場合は対処が必要となる。
まずは自システムにbashがインストールされているかどうかをチェックし、入っていたなら下記を実行して結果を見る。
$ env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”
実行結果として
vulnerable
this is a test
と表示されたらこの脆弱性の影響を受ける可能性があるので、bashにパッチを適用する必要がある。
RedHat系でyumが使えるなら
# yum uodate bash
でbashパッケージをアップデートすればOK。
再度テスト用の上記コマンドを実行して
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test
と表示されれば一応は対策出来たことになる(今回のパッチでも脆弱性が残ると報告されているので、再度のパッチの適用が必要になる)。
yumが使えない古いシステムならup2dateを使うか、bashパッケージをダウンロードして自分でインストールする必要がある。
私の場合は古いシステムで1台だけbashの2系が入っていて、さらにyumもup2dateも使えないサーバがあり、結局その1台だけはソースパッケージを探し出してrpmパッケージをビルドしてインストールすることで対処した。
ソースパッケージはOlacle Linuxの配布サイトから
https://oss.oracle.com/el4/SRPMS-updates/bash-3.0-27.0.1.el4.src.rpm
をダウンロードし、
# rpmbuild –rebuild bash-3.0-27.0.1.el4.src.rpm
でrpmパッケージをビルドして
# rpm -Uvh bash-3.0-27.0.1.i386.rpm
でインストールした。
またやっちゃった・・・orz
先週サーバーにfetchmailを使ってメールサーバからメールを取り込むように設定した。
今朝になってそのサーバーからスプールが満杯で配信出来ないと警告のメールが来たので調べてみると、取り込んだメールをメールサーバ側に残すようにしていたために同じメールを何度も取り込んでしまい、その結果スプールが満杯になっていた。
あれ?何で何回も同じメールを取り込むかなぁ?と思って調べてみると、.fetchmailrcファイルにはkeepオプションを記述してあるのに、実際の取り込み時にはallオプションを付けていたorz
これじゃメールサーバに残したメールを毎回取り込んでしまうのも当たり前だ・・・
早速allオプションを外したので、今後は一度取り込んだメールは取り込まなくなる筈。
滅多にやらない設定なので油断したなぁ・・・
grepでマッチしたファイル名のみ出力
unix系OSのマシンで作業していて、特定の文字列を含むファイルのみを編集したいときがある。
そんな時に便利なのがgrepコマンドの”-l”オプション。
このオプションを使うとgrepはパターンマッチしたファイル名のみを出力するので、そのファイル名をエディターに渡せば良い。
例えばエディターにvi(vim)を使う場合は
$vi(vim) `grep -l “検索文字列” 対象とするファイルを含むpath/*`
とすれば指定したpathに存在する全てのファイルから検索したい文字列を含むファイルだけを編集することが出来る。
ファイル名の指定は好きなようにすれば良いのでいろいろ応用が利いて便利だ。
sambaで繋がらなくて焦った
現場のPCからファイルサーバにsambaでアクセスしようとしてサーバー側に設定を追加しておいた。
今日になって実際に現場に試験用のPCを持って行って接続を試したら何故か繋がらない・・・
sambaのlogを見ると試験用PCからのアクセスを拒否していると出ている(あれ?)。
smb.confを見ても接続させたいセクションのhosts.allowにはちゃんと現場のネットワークアドレスの記述が追加してある。
ここでしばらく悩んでしまったが、原因は[global]セクションのhosts.allowに繋ぎたいIPアドレス(今回は現場のネットワークアドレス)の記述が無かったため。
ここにネットワークアドレスを追加してsmbdをrestartしたらすんなりと接続できた。
今回は試験的な接続だったので大きな問題にはならなかったけど、今後は実運用で必要になるので忘れずに書いておかないとなぁ(汗)。
フォルダを見れなくして欲しい。
職場でファイルサーバ上にある特定のフォルダを特定のユーザーだけが見れて、その他のユーザーからは見れなくして欲しいと依頼された。
ファイルサーバはLinuxでsambaを使って構築しているので、当初はsmb.confでvalid userの設定を見直して対応しようかと思ったが、依頼者の言う「特定のフォルダ」が全部のユーザーに対して公開しているディレクトリの中にあるので、その方法は取れなかった・・・
仕方が無いのでディレクトリのパーミッションを特定のユーザーのみに対してrwxにして対応した(要は700にした)。
最初はフォルダにパスワードを掛けるとか出来ないかと言われたけど、アクセス可能なユーザーは面倒くさいことは嫌いなちょっとエライさんなので、いちいちパスワードを入力する方法はいかがなものかと言って諦めて貰った。
実際にはパスワードを掛ける方が面倒だからだったんだけどね(汗)。
パーミッションを変更した直後に「全員が見るファイルがその中にあって見れなくなった」と言われたけど、そりゃ当たり前でしょー。
その辺の準備をしてから言ってきてよね。
fetchmailで意味の無い設定をしてしまった(汗)
新規のメールユーザーが増えたのでサーバにユーザーを追加して受信用のデーモン代わりのfetchmailの設定も追加した。
当初は本来のサーバにメールを残すためにkeepオプションを付けて.fetchmailrcを書いた。
で、実際に受信動作をさせてみると取得済みのメールを何度も取得してしまい、メールボックス内に同じメールが複数取り込まれてしまう。
しかもユーザーのホームディレクトリに作られるはずの.fetchids(取得済みのメッセージIDを記録するファイル)ファイルが出来ていない。
おかしいな?と思って調べて見ると、keepオプションを付けているにもかかわらず、受信時にはa(All)オプションを付けて”fetchmail -a”としていた(汗)。
このaオプションは取得済みでも全て取得してしまうので、同じメールを何度も取り込んでしまっていたと言う訳だ。
焦って作業してはいけないということだね(爆)。
コストコ
今日は友人誘われてコストコに行く予定。
だったんだけど、トラブルが舞い込んできて急遽仕事場へ。
約束の時間が迫る中なんとか解決して、これから急いで帰宅するつもり。
あー、なんとかなって良かった~(汗)。
