Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Red Hat Enterprise Linux 8 の Web Console を守る技術
Search
Kazuo Moriwaka
August 05, 2019
Technology
4
2.4k
Red Hat Enterprise Linux 8 の Web Console を守る技術
RHELのWeb Consoleの安全性を高める工夫や、関連した情報をおしらせします。
Kazuo Moriwaka
August 05, 2019
Tweet
Share
More Decks by Kazuo Moriwaka
See All by Kazuo Moriwaka
システム全体の暗号化ポリシーをカスタマイズ
moriwaka
0
2.5k
Red Hat Enterprise Linux 9のリリースノートを読む前に知りたい最近のキーワードをまとめて復習
moriwaka
1
1.8k
odpからmp4を作る / odp2mp4
moriwaka
0
420
Red Hat Enterprise Linux Web Console を使う / cockpit-rhel8
moriwaka
0
960
systemdエッセンシャル / systemd-intro
moriwaka
46
13k
flatpak
moriwaka
0
2.6k
Red Hat Enterprise Linux 8 の セキュリティトピック
moriwaka
2
1.5k
システム全体の暗号化ポリシー設定
moriwaka
0
1.2k
端末のセッション記録
moriwaka
0
6k
Other Decks in Technology
See All in Technology
SOTA競争から人間を超える画像認識へ
shinya7y
0
650
[Journal club] Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces
keio_smilab
PRO
0
100
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
320
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
370
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
340
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
740
様々なファイルシステム
sat
PRO
0
280
GCASアップデート(202508-202510)
techniczna
0
170
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.9k
AIの個性を理解し、指揮する
shoota
3
570
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
400
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
190
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
650
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Side Projects
sachag
455
43k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
900
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
1 Red Hat Enterprise Linux 8 の Web Console を守る技術
森若 和雄 Solution Architect 2019-11-19
2 Copyright Red Hat K.K. All rights reserved. このスライドの位置付けと目的 •
対象 • RHELのWeb Console(cockpit)に興味があるがセキュリティに 不安がある人 • 目的 • cockpitがどのように実装されているかの情報提供
3 Copyright Red Hat K.K. All rights reserved. 概要 •
Web Console(cockpit) • ログイン時の動作 • TCPポートの制限 • Identity Managementとの統合
4 Copyright Red Hat K.K. All rights reserved. Web Console
サーバ管理用のWeb UIを提供 • サービス管理 • アカウント管理 • ネットワーク管理 • ファイアウォール管理 • ログ閲覧 • 仮想マシン管理 • 仮想端末 などの管理機能を提供 https://cockpit-project.org/
5 Copyright Red Hat K.K. All rights reserved. インストール •
パッケージ導入 • yum install -y cockpit • ファイアウォール設定 • firewall-cmd --add-service=cockpit --permanent • firewall-cmd --reload • サーバ証明書配置 • /etc/cockpit/ws-certs.d/に証明書を配置(なければ自己署名証明書を自動生成) • 起動設定 • systemctl enable --now cockpit.socket • ブラウザで接続 • firefox https://example.com:9090/
6 Copyright Red Hat K.K. All rights reserved. よくある(?)「Webコンソール」のイメージ(偏見) •
外部コマンド実行 やファイル変更を root権限で実施 • 「root権限で何で もできるプロセ ス」を実行 • 独自の権限管理設 定やDBが必要 root権限で 何でもできる プロセス httpd 権限 管理 外部プロセス 外部プロセス ファイル UI DB
7 Copyright Red Hat K.K. All rights reserved. cockpitは? •
ログインしたユーザの権限で実施 • root権限はセッション開始のみ • OSの権限管理をそのまま使う cockpit-session root権限で動作 ログイン処理 外部プロセス 外部プロセス ファイル UI cockpit-bridge ユーザの 権限で 何でもやる cockpit-ws ログインと 接続 pam GSSAPI OSの 権限管理 生成 認証情報 リクエスト
8 Copyright Red Hat K.K. All rights reserved. ログイン時の動作 1.
cockpit-wsがログイン 画面を表示 2. 認証情報を送付 • ID+Password • GSSAPI 3. cockpit-sessionを実行 4. PAMで認証 5. 認証ユーザでcockpit-bridgeを実行 6. 以下チェックのある場合pkexecで root権限のcockpit-bridgeを起動 cockpit-session root権限で動作 ログイン処理 cockpit-bridge ユーザの 権限で 何でもやる cockpit-ws ログインと 接続 pam GSSAPI 生成 リクエスト PolicyKit経由でroot権限で実行する デフォルト設定ではwheelグループの ユーザのみ成功 cockpit-bridge --privilege rootユーザの 権限で 何でもやる 生 成 認証情報
9 Copyright Red Hat K.K. All rights reserved. ログイン後 •
ブラウザ上のjavascriptとcockpit-bridge(およびcockpit-bridge --privilege)が通信 • cockpit-bridge本体と、packageと呼ばれるプラグインがdbus, REST API, プロセス 実行など各種の操作を実施。通常のユーザ権限管理をそのまま利用。 cockpit-session セッション管理 だけ 外部プロセス 外部プロセス ファイル UI cockpit-bridge ユーザの 権限で 何でもやる cockpit-ws ログインと 接続 OSの 権限管理
10 Copyright Red Hat K.K. All rights reserved. ログイン関連について •
権限を必要最小限に制限したプロセスに分割 • cockpit-wsプロセスはcockpit-wsユーザで待ちうけと接続、cockpit-session の起動とcockpit-bridgeとの通信を実行 • cockpit-sessionは認証を行いセッションを開始。ユーザ自身の権限(指定 によりroot権限も)で動作するcockpit-bridgeを起動するだけ • SELinuxのポリシーも準備されている • enforcingで使うことでcockpit-wsやcockpit-sessionに未知の脆弱性がある 場合にも任意プロセス実行などを予防 • 自己署名証明書の利用はお勧めしません • ブラウザとcockpit-ws間の通信路が信頼できてはじめて安全
11 Copyright Red Hat K.K. All rights reserved. TCPポートを制限したい •
Cockpitは通常9090番ポートをlisten • Cockpit同士でsshによる通信を行う • cockpit-wsはssh経由で他サーバのcockpit-bridgeを起動・通信 • 踏み台サーバからsshで数珠繋ぎにすることで直接通信できない サーバを管理 HTTPS port 9090 SSH port 22 踏み台サーバ 管理対象サーバ cockpit cockpit
12 Copyright Red Hat K.K. All rights reserved. Identity Managementとの統合
• RHEL同梱のRed Hat Identity Managementと統合されています • IdMが管理するドメインにサーバが参加していれば以下が可能 • Web Consoleを含めたシングルサインオン(SSO) • Web Consoleで利用するサーバ証明書を自動発行 • ドメイン内ではsshの鍵配布が不要になるため、sshを経由し て他サーバを参照する場合に準備が不要
13 Copyright Red Hat K.K. All rights reserved. まとめ •
RHELの管理を簡単にするWeb Consoleは、簡単に利用 できるだけでなくセキュリティにも配慮して開発され ています • ログイン時に最小の特権だけを利用 • 長期間に渡る実績があるPolicyKitなど枯れた技術を活用 • ネットワーク接続ポートを増やせない場合はsshのみ許 可されていれば踏み台から接続可能 • Identity Managementと統合されています
14 Copyright Red Hat K.K. All rights reserved. • RHEL8ドキュメント「Web
コンソールを使用したシステムの管理」 • https://bit.ly/rhel8-webconsole-ja2 • Cockpitプロジェクトblog「Is Cockpit Secure?」 • https://cockpit-project.org/blog/is-cockpit-secure.html • Cockpitプロジェクトドキュメント「Single Sign On」 • https://cockpit-project.org/guide/latest/sso.html See also
15 Copyright Red Hat K.K. All rights reserved. Thank You