Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

RHELのEOLがCentOSに及ぼす影響

1.053 visualizaciones

Publicado el

Material for Security Nighter 04
https://connpass.com/event/48977/

Publicado en: Internet
  • Sé el primero en comentar

RHELのEOLがCentOSに及ぼす影響

  1. 1. RHEL の EOL が CentOS に及ぼす影響 Kazuki Omo( 面 和毅 ): ka-omo@sios.com OSS/Security Evangelist SIOS Technology, Inc.
  2. 2. 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)
  3. 3. 3 アジェンダ 1. RHEL の EOL が CentOS に及ぼす影響 2. 実例で見てみる 2.1 CentOS 4 系の時 2.2 CentOS 5 系と最新の脆弱性情報 3. まとめ
  4. 4. 1. RHEL の EOL が CentOS に及ぼす影響
  5. 5. 5 RHEL の EOL ですよね。 RHEL の EOL か。。。うちは CentOS だし大丈夫だろう 工工エエエエ (´Д`) エエエエ工工
  6. 6. 6 思い出してみましょう じゃあ EOL になったらパッケージ更新はどうなるの?
  7. 7. 7 CentOS のパッケージ更新情報 脆弱性情報開示 RHEL CentOS
  8. 8. 8 CentOS のパッケージ更新情報
  9. 9. 9 結局 CentOS は ● CentOS は良くも悪くも RHEL の「クローン」 ● パッケージ更新も RHEL に従う ● RHEL のパッケージ更新がなくなれば CentOS も  パッケージ更新が無くなる 脆弱性が出たり、バグがあっても更新されない!!
  10. 10. 10 2. 過去の事例から学ぶ
  11. 11. 11 2.1 CentOS4 の事例
  12. 12. 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 等 )
  13. 13. 13 この ShellShock は影響大きくて。。。 デモを見ましょう ls -l total 8 -rwxr-xr-x 1 root root 94 Jan 22 06:36 test.cgi cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin リモートから!!
  14. 14. 14 その頃、 RHEL 4 系は ShellShock は 2014 年
  15. 15. 15 RHEL4 (ELS 期間中 ) の場合には ELS 中で緊急だから パッチ出しました
  16. 16. 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 え?でも誰が更新パッケージ出してくれるの???
  17. 17. 17 一方 CentOS4 は(続き) 誰が更新パッケージ出してくれるの??? 簡単に言うと 「 CentOS Project ではパッチを出さないから 早急に OS バージョン上げて」
  18. 18. 18 と言うことで世の中の CentOS 4 系の人は 自前でソース見て作る OracleLinux から持ってくる まだ「互換品」があったから 少しは楽 (でも大変。。。。)
  19. 19. 19 でも CentOS 3.x 以前の人は。。。 自前でソース見て作る ・「互換品」も無い ・ ELS 無いので情報もほぼ出ない のでとっても大変。。。。
  20. 20. 20 2.2 CentOS 5 系と最新の脆弱性情報
  21. 21. 21 最近の RHEL/CentOS 系で大きい脆弱性 デモしてみましょう
  22. 22. 22 影響するバージョンを考える 問題:これは RHEL5/CentOS5 に影響するでしょうか? ヒント: RHEL5/CentOS5 系は kernel-2.6.18
  23. 23. 23 答え: RHEL 5/CentOS 5 系も該当
  24. 24. 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
  25. 25. 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 ソースコードを読める人じゃないと パッチは書けないよね。。。。
  26. 26. 26 最近の RHEL5/CentOS5 系で大きい脆弱性 (II)
  27. 27. 27 最近の RHEL5/CentOS5 系の脆弱性 ( 問い合わせがあったもの ) RHEL5 の bind-9.3.6 は?
  28. 28. 28 最近の RHEL5/CentOS5 系の脆弱性 ( 答 ) 影響します コレだけが該当 (CVE-2016-9147) (CVE-2016-9131/9444/9778) は影響なし
  29. 29. 29 最近の RHEL5/CentOS5 系の脆弱性 ( 答 ) 影響します RHEL: bind-9.3.6-XX ( メジャーバージョン固定のため) 本家 (ISC): bind-9.9.9/9.10.0 パッチ(本家)は当然 9.9.9 以降しか出さない
  30. 30. 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 は 下位互換性を保ちながらなので 修正多すぎ。 分かりやすいように 個別ファイルにまとめた模様
  31. 31. 31 結局 RHEL5/CentOS5 系の製品に自前で パッチ当てるには ・自前でパッケージのソースを解析して ・脆弱性とかバグ情報が出た時に修正を自分で確認して ・ソースを( RHEL の今までのソースと本家のソースを参考に)  書き直し/書き足しして ・パッケージを自分で作ってバージョン管理 これらを「自前のエンジニア」で出来る体制が必要 (場合によっては外部のサービスを使用)
  32. 32. 32 じゃあどのバージョンに上げるの? システムリプレースを考えると CentOS6 に したらオリンピック対応中に変更が来る → CentOS 7 にしましょう。今からなら (変更点多いけど)間に合います。
  33. 33. 33 3. まとめ
  34. 34. 34 まとめ 1. RHEL の ELS 終了は CentOS にとっても無関係ではない(命取り) 2. RHEL4/5 互換の CentOS を使い続けると ・自前で脆弱性情報とか出るたびに調べて ・自前でソース見て比較してパッチ書いて ・それを当てる QA をやって管理して ・しかもそれを下手すると週2−3回個別に進める そんなことって可能ですか? バージョン上げましょうよ (RHEL/CentOS 7 系に ) → (工数ベースで上司に出して提案しましょう)!!
  35. 35. 35 Thank You!!!

×