RHELのEOLがCentOSに及ぼす影響

35
RHEL EOL CentOS に及ぼす影響 Kazuki Omo( 和毅 ): [email protected] OSS/Security Evangelist SIOS Technology, Inc.

Transcript of RHELのEOLがCentOSに及ぼす影響

Page 1: RHELのEOLがCentOSに及ぼす影響

RHEL の EOL が CentOS に及ぼす影響

Kazuki Omo( 面 和毅 ): [email protected]

OSS/Security Evangelist

SIOS Technology, Inc.

Page 2: RHELのEOLがCentOSに及ぼす影響

2

Who am I ?

- Security Researcher/Engineer (17 years)

- SELinux/MAC Evangelist (12 years)

- Antivirus Engineer (3 years)

- SIEM Engineer (3 years)

- Linux Engineer (17 years)

Page 3: RHELのEOLがCentOSに及ぼす影響

3

アジェンダ

1. RHEL の EOL が CentOS に及ぼす影響

2. 実例で見てみる

2.1 CentOS 4 系の時

2.2 CentOS 5 系と最新の脆弱性情報

3. まとめ

Page 4: RHELのEOLがCentOSに及ぼす影響

1. RHEL の EOL が CentOS に及ぼす影響

Page 5: RHELのEOLがCentOSに及ぼす影響

5

RHEL の EOL ですよね。

RHEL の EOL か。。。うちは CentOS だし大丈夫だろう

工工エエエエ (´Д`) エエエエ工工

Page 6: RHELのEOLがCentOSに及ぼす影響

6

思い出してみましょう

じゃあ EOL になったらパッケージ更新はどうなるの?

Page 7: RHELのEOLがCentOSに及ぼす影響

7

CentOS のパッケージ更新情報

脆弱性情報開示

RHEL

CentOS

Page 8: RHELのEOLがCentOSに及ぼす影響

8

CentOS のパッケージ更新情報

Page 9: RHELのEOLがCentOSに及ぼす影響

9

結局 CentOS は

● CentOS は良くも悪くも RHEL の「クローン」

● パッケージ更新も RHEL に従う

● RHEL のパッケージ更新がなくなれば CentOS も パッケージ更新が無くなる

脆弱性が出たり、バグがあっても更新されない!!

Page 10: RHELのEOLがCentOSに及ぼす影響

10

2. 過去の事例から学ぶ

Page 11: RHELのEOLがCentOSに及ぼす影響

11

2.1 CentOS4 の事例

Page 12: RHELのEOLがCentOSに及ぼす影響

12

覚えていますか?

SHELL SHOCK!!!2014 年 9 月 24 日  GNU bash の脆弱性情報が公開

幅広い bash のバージョンが対象

環境変数を利用してプログラムを実行できる。リモートからも。

● JVNVU#97219505 GNU Bash に OS コマンドインジェクションの脆弱性● JPCERT/CC GNU bash の脆弱性に関する注意喚起● JPCERT/CC TCP 10000 番ポートへのスキャンの増加に関する注意喚起● IPA bash の脆弱性対策について (CVE-2014-6271 等 )

Page 13: RHELのEOLがCentOSに及ぼす影響

13

この ShellShock は影響大きくて。。。

デモを見ましょう

ls -ltotal 8-rwxr-xr-x 1 root root 94 Jan 22 06:36 test.cgicat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologin

リモートから!!

Page 14: RHELのEOLがCentOSに及ぼす影響

14

その頃、 RHEL 4 系は

ShellShock は 2014 年

Page 15: RHELのEOLがCentOSに及ぼす影響

15

RHEL4 (ELS 期間中 ) の場合には

ELS 中で緊急だからパッチ出しました

Page 16: RHELのEOLがCentOSに及ぼす影響

16

一方 CentOS4 は

[sios@localhost ~]$ cat /etc/redhat-release CentOS release 4.9 (Final)

[sios@localhost ~]$ env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"

vulnerable

え?でも誰が更新パッケージ出してくれるの???

Page 17: RHELのEOLがCentOSに及ぼす影響

17

一方 CentOS4 は(続き)

誰が更新パッケージ出してくれるの???

簡単に言うと「 CentOS Project ではパッチを出さないから早急に OS バージョン上げて」

Page 18: RHELのEOLがCentOSに及ぼす影響

18

と言うことで世の中の CentOS 4 系の人は

自前でソース見て作る OracleLinux から持ってくる

まだ「互換品」があったから少しは楽(でも大変。。。。)

Page 19: RHELのEOLがCentOSに及ぼす影響

19

でも CentOS 3.x 以前の人は。。。

自前でソース見て作る

・「互換品」も無い・ ELS 無いので情報もほぼ出ない

のでとっても大変。。。。

Page 20: RHELのEOLがCentOSに及ぼす影響

20

2.2 CentOS 5 系と最新の脆弱性情報

Page 21: RHELのEOLがCentOSに及ぼす影響

21

最近の RHEL/CentOS 系で大きい脆弱性

デモしてみましょう

Page 22: RHELのEOLがCentOSに及ぼす影響

22

影響するバージョンを考える

問題:これは RHEL5/CentOS5 に影響するでしょうか?

ヒント: RHEL5/CentOS5 系は kernel-2.6.18

Page 23: RHELのEOLがCentOSに及ぼす影響

23

答え: RHEL 5/CentOS 5 系も該当

Page 24: RHELのEOLがCentOSに及ぼす影響

24

なんでこんなことが起こるの?

RHEL のカーネルと素の (Vanilla) カーネルは異なる

RHEL のカーネルは Vanilla カーネルに色々手を加えたもの ( 上位バージョンからのバックポートを含む )

[root@localhost SOURCES]# ls -lh *patch-rw-r--r-- 1 root root 96M Sep 6 2013 kernel-2.6.18-redhat.patch-rw-r--r-- 1 root root 0 Sep 6 2013 linux-kernel-test.patch-rw-r--r-- 1 root root 1.4M Sep 6 2013 xen-2.6.18-redhat.patch-rw-r--r-- 1 root root 507 Sep 6 2013 xen-config-2.6.18-redhat.patch

[root@localhost SOURCES]# wc -l kernel-2.6.18-redhat.patch 2912382 kernel-2.6.18-redhat.patch

Page 25: RHELのEOLがCentOSに及ぼす影響

25

DirtyCow 対応 (RHEL5/CentOS5 系 )

struct page *follow_page(struct vm_area_struct *vma, unsigned long address, unsigned int flags){--snip-- if ((flags & FOLL_WRITE) && !pte_write(pte)) goto unlock; page = vm_normal_page(vma, address, pte); if (unlikely(!page)) goto unlock;

struct page *follow_page(struct vm_area_struct *vma, unsigned long address, unsigned int flags){--snip-- page = vm_normal_page(vma, address, pte); if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, page, flags)) { pte_unmap_unlock(ptep, ptl); return NULL; }

元の Kernel ソース 新規に can_follow_write_pte()を定義してチェック

Kernel ソースコードを読める人じゃないとパッチは書けないよね。。。。

Page 26: RHELのEOLがCentOSに及ぼす影響

26

最近の RHEL5/CentOS5 系で大きい脆弱性 (II)

Page 27: RHELのEOLがCentOSに及ぼす影響

27

最近の RHEL5/CentOS5 系の脆弱性( 問い合わせがあったもの )

RHEL5 の bind-9.3.6 は?

Page 28: RHELのEOLがCentOSに及ぼす影響

28

最近の RHEL5/CentOS5 系の脆弱性( 答 ) 影響します

コレだけが該当

(CVE-2016-9147)

(CVE-2016-9131/9444/9778)は影響なし

Page 29: RHELのEOLがCentOSに及ぼす影響

29

最近の RHEL5/CentOS5 系の脆弱性( 答 ) 影響します

RHEL: bind-9.3.6-XX ( メジャーバージョン固定のため)本家 (ISC): bind-9.9.9/9.10.0

パッチ(本家)は当然 9.9.9 以降しか出さない

Page 30: RHELのEOLがCentOSに及ぼす影響

30

RHEL 系と本家ではメジャーバージョンが違うぞではどうしたか ?

+++ bind-9.9.9-P5/lib/dns/message.c return (ISC_FALSE); }

+/*+ * Check to confirm that all DNSSEC records + * (DS, NSEC, NSEC3) have covering RRSIGs.+ */+static isc_boolean_t+auth_signed(dns_namelist_t *section) {+ dns_name_t *name;--snip--+ !auth_signed(section))+ DO_FORMERR;+

本家 (ISC)

messages.c に auth_signed()

を追加+++ bind-9.3.6-P1/lib/dns/resolver.c.CVE-2016-9147--snip--+ * LOSS OF USE, DATA OR PROFITS, + * WHETHER IN AN ACTION OF + * CONTRACT, NEGLIGENCE+ * PERFORMANCE OF THIS SOFTWARE.+ */++/* $Id: resolver.c,v 1.218.2.18.4.85 + 2008/10/17 22:03:37 jinmei Exp $ */++#include <config.h>++#include <isc/print.h>+#include <isc/string.h>

RHEL は下位互換性を保ちながらなので修正多すぎ。分かりやすいように個別ファイルにまとめた模様

Page 31: RHELのEOLがCentOSに及ぼす影響

31

結局 RHEL5/CentOS5 系の製品に自前でパッチ当てるには

・自前でパッケージのソースを解析して

・脆弱性とかバグ情報が出た時に修正を自分で確認して

・ソースを( RHEL の今までのソースと本家のソースを参考に)

 書き直し/書き足しして

・パッケージを自分で作ってバージョン管理

これらを「自前のエンジニア」で出来る体制が必要

(場合によっては外部のサービスを使用)

Page 32: RHELのEOLがCentOSに及ぼす影響

32

じゃあどのバージョンに上げるの?

システムリプレースを考えると CentOS6 にしたらオリンピック対応中に変更が来る

→ CentOS 7 にしましょう。今からなら (変更点多いけど)間に合います。

Page 33: RHELのEOLがCentOSに及ぼす影響

33

3. まとめ

Page 34: RHELのEOLがCentOSに及ぼす影響

34

まとめ

1. RHEL の ELS終了は CentOS にとっても無関係ではない(命取り)

2. RHEL4/5 互換の CentOS を使い続けると

・自前で脆弱性情報とか出るたびに調べて

・自前でソース見て比較してパッチ書いて

・それを当てるQA をやって管理して

・しかもそれを下手すると週2−3回個別に進める

そんなことって可能ですか?

バージョン上げましょうよ (RHEL/CentOS 7 系に )

→ (工数ベースで上司に出して提案しましょう)!!

Page 35: RHELのEOLがCentOSに及ぼす影響

35

Thank You!!!