Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自宅サーバと脆弱性
Search
モブエンジニア
October 23, 2026
Technology
11
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自宅サーバと脆弱性
https://homeserver.connpass.com/event/406819/
モブエンジニア
October 23, 2026
More Decks by モブエンジニア
See All by モブエンジニア
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
330
Claude Codeと歩むアプリ開発/App Development with Claude Code
masakiokuda
1
73
ConfigMapのImmutable機能を使ってヒヤッとした話と得られた知見/A Close Call with ConfigMap Immutability and the Lessons Learned
masakiokuda
1
92
Get Started with AI Agent Operations Using Azure SRE Agent
masakiokuda
1
61
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
320
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
160
20260908_ターゲットとスコープを決める発表法
masakiokuda
1
140
物理もいいけど仮想もね 〜SD-WANの推しポイント〜
masakiokuda
0
190
AIでアウトプットできる時代だからこそ、自分の言葉で考えることの大切さ / What's Left to Think, When AI Can Write?
masakiokuda
1
370
Other Decks in Technology
See All in Technology
専門領域のAIをどう評価するか
bengo4com
2
350
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
370
AI導入は済んだ。次は統制を作り替える番だ_AI×開発組織 Summit 2026
techtekt
PRO
0
460
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
310
今さら理解するウェブフォントver.2026
takanorip
3
940
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
190
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
300
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
120
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
140
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.4k
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
450
フィンテック養成勉強会#68
finengine
0
180
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Product Roadmaps are Hard
iamctodd
55
13k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Claude Code のすすめ
schroneko
67
230k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Transcript
自宅サーバーとPHPの脆弱性 ディスカッションペーパー 2026/10/23(金)時点の情報にもとづく テーマ:自宅サーバーの公開とPHPの脆弱性(PHP2Shell ほか) モブエンジニア(@mob_engineer)
対象者/得られる学び 自宅サーバーでPHPを動かす方と、運用のリスクを一緒に考えます 対象者 1. 2. 自宅サーバーやVPSでPHPアプリを公開している(したい)方 PHP2Shellのニュースを見て、自分の環境が気になった方 得られる学び 1. 2.
PHPの脆弱性は「本体/アプリ/設定」の3層で考える 公開する・止める・更新するの判断を事前に決めておく 2
扱うこと/扱わないこと 前提知識をそろえたうえで、正解のない論点を話し合います 扱うこと 1. 2. 自宅サーバー公開の仕組みとPHPのサポート期限 CVE-2024-4577とPHP2Shellの事例、pixivの対応 扱わないこと 1. 2.
脆弱性の詳しい仕組みや攻撃手法の再現 特定の製品・サービスのおすすめ 3
自己紹介 ペンネーム: モブエンジニア(@mob_engineer) 業務内容: 某SI企業のSRE/PL 好きな技術領域: クラウド(AWS、Azure、OCI) コンテナ(k8s)、ネットワーク(仮想) オブザーバビリティ運用(Dynatrace) 趣味:
コミュニティ/カンファレンス運営 (最近は少ないが)登壇/ブログ執筆 一言: 社外コミュニティを広めながら楽しんでいるエンジニアです! 4
アジェンダ 1. 前提知識をそろえる 2. 事例から学ぶ 3. ディスカッション 4. まとめ 5
前提知識をそろえる
自宅サーバーを公開する仕組み ルーターの設定ひとつで、自宅の機器がインターネットから見えるようになる 公開の基本セット 1. 2. 3. ルーターのNAT/ポート開放で外からの通信を中へ通す DDNSで変わるIPアドレスにドメイン名を対応させる Let's EncryptなどでTLS証明書を用意する
見落としやすい点 1. 2. 3. IPv6はNATがなく、FW設定次第で機器に直接届く CGNAT環境ではポート開放そのものができない ISPの規約でサーバー運用が制限されている場合がある ポートを開けない選択肢 1. Cloudflare TunnelやTailscaleなどのトンネル/VPN型 参考:各ISPの利用規約、Cloudflare Tunnel/Tailscale の公式ドキュメント 7
PHPのサポート期限(2026年10月時点) PHP 8.2は2026年末で、セキュリティ修正も含めてサポートが終わる 系列 状態 アクティブサポート終了 セキュリティ修正の終了 8.2 セキュリティ修正のみ 2024年12月31日(終了)
2026年12月31日(あと約2か 月) 8.3 セキュリティ修正のみ 2025年12月31日(終了) 2027年12月31日 8.4 アクティブサポート 2026年12月31日 2028年12月31日 8.5 アクティブサポート 2027年12月31日 2029年12月31日 特記事項:Linuxディストリビューション同梱のPHPは、古い版番号のまま修正が入ることがある ・php -v の結果だけで判断せず、パッケージの変更履歴でCVE番号を確認する ・8.1以前は公式のサポート対象外。ディストリやLTSベンダーの対応状況を確認する 参考:PHP「Supported Versions」(php.net、2026年10月22日時点) 8
PHPの脆弱性は3つの層で考える アプリを直しても、PHP本体やサーバー設定の穴はふさがらない PHP本体(インタプリタ・SAPI) 1. 2. PHP自体の不具合。利用者側では更新するしかない 例:CVE-2024-4577、PHP2Shell アプリケーション 1. 2.
SQLインジェクション、ファイル読み込み(LFI/RFI)、unserialize アップロード機能からのWebシェル設置、古いプラグイン サーバー設定 1. display_errors の有効化、phpinfo() や .git ディレクトリの公開 参考:PHP Manual「セキュリティ」、OWASP Top 10 9
事例から学ぶ
事例1:CVE-2024-4577(2024年6月) Windows+CGIという特定の構成を狙った脆弱性。XAMPPは初期設定で該当した 何が起きたか 1. 2. WindowsでPHPをCGIで動かす環境で、リモートからコードを実行できた 2012年の旧脆弱性(CVE-2012-1823)の対策を回避する手法だった 悪用までの速さ 1. 2.
修正版公開の2日後、PoC公開の翌日に攻撃が始まった ランサムウェア集団TellYouThePassがWebシェル設置などに悪用 対応と教訓 1. 2. 8.3.8/8.2.20/8.1.29へ更新する 開発用パッケージ(XAMPPなど)を公開サーバーに使わない 参考:Help Net Security「PHP command injection flaw exploited to deliver ransomware (CVE-2024-4577)」 11
事例2:PHP2Shell(2026年10月) ほぼすべてのPHP Webサーバーが対象。認証なしでリモートからコードを実行できる 系列 修正版 備考 8.5 8.5.12 pixivが対応したバージョン 8.4
8.4.27 8.3 8.3.36 8.2 8.2.35 年末以降は同様の修正が出ない 7.4~8.1 公式リリースなし ソース向けのバックポートのみ 5.4~7.3 修正なし サポート対象の系列へ移行が必要 概要:CVE-2026-109618/CVE-2026-109619(CVSS v4.0 9.2)。PHP-FPM、mod_php、php-cgi、FrankenPHP、LiteSpeedが対象で、 mod_phpが最もリスクが高い 時系列:10/17にハニーポットへ攻撃(公開前)→ 10/21 14:00(UTC)修正版公開 → 19分後に悪用の試行を確認 影響:ワーカーのメモリから、他のリクエストのパスワードやトークンが漏れるおそれもある 暫定策(memory_limit=-1 など)は被害を減らすだけで、安全にはならないとPHP側が明言 参考:Tenable「php2shell (CVE-2026-109618, CVE-2026-109619) FAQ」、The Hacker News(2026年10月) 12
pixivはPHP2Shellにどう対応したか 条件がそろったことで、修正版の公開から約30分で復旧できた 止めて待つ 1. 2. 影響しうるサービスを19時にメンテナンスモードへ切り替え 公式イメージを待たず、ソースからビルドする準備を整えた すばやく作って配る 1. 2.
22:41のリリース後、数GBのイメージを約6分でビルド Argo CDで、通常のイメージ差し替えとして展開 確かめて開ける/残った課題 1. 2. 署名確認・起動テスト・ステージング確認、HPAの最小台数を増強 課題:メンテナンスモードのない入口、PECL不安定でPIEへ移行 参考:pixiv inside「PHP 8.5.12の緊急リリースにpixivはどう対応したか」(2026/10/22) 13
ディスカッション
ディスカッションポイント(1/2) 企業の「30分」を、個人の自宅サーバーで再現できるか 論点1:そもそも公開が必要か – ポート開放とトンネル/VPN型のどちらを選ぶか。自分しか使わないなら公開は不要では 論点2:修正版に気づき、更新できるか – 22:41の公開に個人は気づけるか。自動更新で壊れるリスクとどう折り合うか 論点3:止める判断を決めているか –
自宅なら「電源を切る/ポートを閉じる」がメンテナンスモード。誰がいつ決めるか 論点4:自分はどの層を管理しているか – WordPressの更新はPHPの更新ではない。PHPはOSのパッケージやイメージから来る 各論点に正解はありません。自分の環境に置き換えて考えてみてください 15
ディスカッションポイント(2/2) 攻撃は公開前から始まっていた。「更新したら終わり」ではない 論点5:EOL版をいつまで使うか – 8.2は年明け以降修正が出ない。ディストリのバックポートをどこまで信頼するか 論点6:暫定策で様子を見てよいか – memory_limit=-1 などは被害を減らすだけ。更新できないときの線引きは 論点7:侵害にどう気づくか
– 異常なmultipartリクエスト、500エラーの連続、巨大なPHPSESSID。そのログは残っているか 論点8:家のネットワークと切り分けているか – 踏み台にされたときの責任、家族の端末との分離(VLAN/DMZ)、バックアップ 各論点に正解はありません。自分の環境に置き換えて考えてみてください 16
まとめ
まとめ まとめ 1. 2. 3. PHPの脆弱性は「本体/アプリ/設定」の3層で考える 修正から悪用までの時間は、日単位から分単位へ縮んでいる 公開する・止める・更新するの判断を事前に決めておくことが大事 持ち帰ってほしい問い 1.
2. 自分のサーバーは、いま何のPHPで動いているか 次の緊急リリースの夜、自分は何をするか 18
参考サイト PHP 1. PHP Supported Versions www.php.net/supported-versions.php PHP2Shell 1. Tenable:php2shell
(CVE-2026-109618, CVE-2026-109619) FAQ 2. The Hacker News:PHP Issues Emergency Patches for Two Critical PHP2Shell RCE Flaws 3. pixiv inside:PHP 8.5.12の緊急リリースにpixivはどう対応したか www.tenable.com/blog/php2shell-cve-2026-109618-cve-2026-109619-frequently-asked-questions-about-critical-php-remote thehackernews.com/2026/10/php-issues-emergency-patches-for-two.html inside.pixiv.blog/2026/10/22/193321 CVE-2024-4577 1. Help Net Security:PHP command injection flaw exploited to deliver ransomware www.helpnetsecurity.com/2024/06/13/cve-2024-4577-exploited/ 19