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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
モブエンジニア
October 23, 2026
Technology
130
1
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 モブエンジニア
cdkd-rapid-deploy-my-app
masakiokuda
1
40
AWS BuilderCardsを社内実践して見えたSales職への提案教育/Insights_from_Implementing_AWS_BuilderCards_Internally_Training_for_Sales_Roles_.pdf
masakiokuda
0
200
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
470
Claude Codeと歩むアプリ開発/App Development with Claude Code
masakiokuda
1
91
ConfigMapのImmutable機能を使ってヒヤッとした話と得られた知見/A Close Call with ConfigMap Immutability and the Lessons Learned
masakiokuda
1
110
Get Started with AI Agent Operations Using Azure SRE Agent
masakiokuda
1
78
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
400
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
180
20260908_ターゲットとスコープを決める発表法
masakiokuda
1
150
Other Decks in Technology
See All in Technology
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
120
「いつか使う」の「いつか」は来ない 〜AI駆動開発における「作らない」判断について〜
ikki0006
0
190
2026 Apache Flink Community Checkpoint
rmetzger
0
220
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
620
思考過程から秘密が漏れる:Amazon Bedrock上のKimi K3を5つの方法で攻めたら、25回中22回漏洩した話
yama3133
1
120
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
330
[dbts2026]数十PBの超巨大データ×AI活用を支えるSnowflakeの実力〜大規模環境におけるアーキテクチャと運用のリアル〜
y_matsubara
0
130
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
2
1.7k
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.1k
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
0
170
GCASアップデート(202607-202610)
techniczna
1
250
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
160
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
1
300
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.2k
RailsConf 2023
tenderlove
30
1.6k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Site-Speed That Sticks
csswizardry
13
1.6k
New Earth Scene 8
popppiees
5
2.8k
A Tale of Four Properties
chriscoyier
163
24k
Mind Mapping
helmedeiros
1
440
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
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