Pro Yearly is on sale from $80 to $50! »

ロリポップ!で目指す PHPのためのセキュリティと性能要件を 同時に満たすサーバホスティング技術 / loli-next

ロリポップ!で目指す PHPのためのセキュリティと性能要件を 同時に満たすサーバホスティング技術 / loli-next

PHP実行基盤の高速化・セキュリティ・省メモリ・ペパボKernel

2b692bd83f4418103142a053ecf5ff59?s=128

MATSUMOTO Ryosuke

May 21, 2016
Tweet

Transcript

  1. 1)1࣮ߦج൫ͷߴ଎ԽɾηΩϡϦςΟɾলϝϞϦɾϖύϘ,FSOFM 2016/05/21 PHPΧϯϑΝϨϯε෱Ԭ2016 ϩϦϙοϓʂͰ໨ࢦ͢ 1)1ͷͨΊͷηΩϡϦςΟͱੑೳཁ݅Λ ಉ࣌ʹຬͨ͢αʔόϗεςΟϯάٕज़ GMOϖύϘגࣜձࣾ γχΞɾϓϦϯγύϧΤϯδχΞ MATSUMOTO, Ryosuke

    @matsumotory
  2. ࣗݾ঺հ  (.0ϖύϘגࣜձٕࣾज़ج൫νʔϜ  γχΞɾϓϦϯγύϧΤϯδχΞ  দຊ྄հ!NBUTVNPUPSZ  ઐ໳͸Πϯλʔωοτͱӡ༻ٕज़ 

    શࣾతʹ৽ٕज़ͷԠ༻΍৽نݚڀɾ։ൃΛ୲౰ IUUQSFTFBSDINBUTVNPUPSKQ
  3. ໨࣍  ߴूੵϗεςΟϯάαʔϏε  1)1࣮ߦج൫ͷηΩϡϦςΟͱੑೳͷཱ྆  1)1࣮ߦج൫ͷϝϞϦޮ཰Խ  1)1࣮ߦج൫҆ఆԽͷͨΊʹϖύϘ,FSOFMར༻ 

    ·ͱΊ
  4. ߴूੵϗεςΟϯάαʔϏε

  5. ϗεςΟϯάαʔϏεͷಛ௃  ࣄۀऀ͸͓٬༷ͷ8FCίϯςϯπΛ੍ޚͰ͖ͳ͍  ϛυϧ΢ΣΞɾ04Ͱ੍ޚ͢Δඞཁ͕͋Δ  ڞ༗ͷ৔߹͸Ϧιʔε੍ޚ΍ηΩϡϦςΟ͕ॏཁ  ಛʹੑೳͱ͍͔ʹόϥϯεΛͱΔ͔ 

    ฐࣾͰ͸௒ߴूੵͷڞ༗ϗεςΟϯάʹ߆͍ͬͯΔ
  6. ͳͥߴूੵʹͩ͜ΘΔͷ͔

  7. None
  8. None
  9. ݸਓ޲͚αΠτத৺  ໿ສαΠτΛӡӦ  ֶੜ΍ओ්ͩͬͨΓݸਓ͕झຯͰ࢖͏༻్  ϋʔυ΢ΣΞʹͲΕ͚ͩߴूੵͰ͖Δ͔ʹ௅ઓ  ͱʹ͔҆͘͘ੑೳͷྑ͍΋ͷΛఏڙ͍ͨ͠ 

    ιϑτ΢ΣΞʹΑΔٕज़ྗʹΑͬͯղܾՄೳ
  10. 8FCαʔόͷΞʔΩςΫνϟ

  11. ϓϩηε਺ͱऩ༰αΠτ਺  ϝϞϦ͸(#Ͱ$16ίΞ͸ݸ  αΠτ਺Λ਺ສ͔ΒສαΠτͰऩ༰  ϓϩηε਺͕αΠτ਺ʹґଘ͠ͳ͍Α͏ͳߏ੒  ෳ਺αΠτڞ༗ͷIUUQEϓϩηε͕ϦΫΤετ͞Εͨϗετ ໊͔ΒಈతʹίϯςϯπΛݕग़ͯ͠ॲཧʢ7JSUVBM)PTU˞

    ʣ ˞IUUQIUUQEBQBDIFPSHEPDTDVSSFOUFOWIPTUT
  12. IUUQE ߴूੵͷͨΊͷΞʔΩςΫνϟ  IUUQEϓϩηεݸºສສϓϩηεʢϢʔβݸผʹϓϩηεىಈʣ  IUUQEϓϩηεݸ͙Β͍ͷԾ૝ϗετͰશϢʔβڞ༗ Ϣʔβ" IUUQE Ϣʔβ# IUUQE

    Ϣʔβ$ IUUQE Ϣʔβ" Ϣʔβ# Ϣʔβ$ ޮ཰ྑ͘࢒ϦιʔεΛ࢖͑Δ ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁ ͳϦιʔε ىಈʹඞཁͳϦιʔε 04 04
  13. ߴूੵͷͨΊͷ ΞʔΩςΫνϟͷ՝୊

  14. ηΩϡϦςΟͱੑೳͷཱ྆  ϗεςΟϯάͷಛੑ্Ϣʔβຖʹݫີʹݖݶ෼཭  ߴूੵ؀ڥͷ1)1ͷݖݶ෼཭ͷੑೳͷޮ཰Խ  ୯ҰͷBQBDIFݖݶͰىಈ͍ͯ͠ΔϓϩηεͰηΩϡϦ ςΟͱੑೳΛཱ͍͔྆ͭͭ͠ʹద੾ʹݖݶ෼཭͢Δ͔

  15. ֶज़ݚڀͷΞϓϩʔνͰ ৽ٕज़Λ։ൃɾಋೖ

  16. None
  17. 1)1࣮ߦج൫ͷ ηΩϡϦςΟͱੑೳͷཱ྆

  18. ߴूੵʹ͓͚Δ1)1ͷݖݶ෼཭  TV&9&$͸ϦΫΤετຖʹϓϩηεੜ੒ഁغ͕ඞཁͰ஗͍  'BTU$(*͸Ϣʔβ਺ʹԠͯ͡ϓϩηε਺ͱϝϞϦྔ૿Ճ  NPE@SVJE΍TVJE͸ੑೳɾηΩϡϦςΟ໘Ͱ໰୊͋Γ˞   ݖݶ෼཭ͷͨΊͷίετΛͲ͏Լ͛Δ͔

     େن໛ߴूੵͷͨΊͷݖݶ෼཭ΞʔΩςΫνϟݕ౼ ˞দຊ྄հ Ԭ෦णஉ εϨου୯ҐͰݖݶ෼཭Λߦ͏8FCαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ ిࢠ৘ใ௨৴ֶձ࿦จࢽ 7PM+# /P QQ 0DU
  19. NPE@QSPDFTT@TFDVSJUZ  "QBDIFͷεϨου୯ҐͰݖݶ෼཭ΞʔΩςΫνϟ˞   NPE@QIQͳͲͷݖݶ෼཭Λߴ଎ʹߦ͑Δ  ϦΫΤετ࣌ͷݖݶ෼཭ͷίετΛ௿ݮ  ϓϩηεੜ੒ഁغ͔ΒεϨουੜ੒ഁغ΁

    ˞দຊ྄հ Ԭ෦णஉ εϨου୯ҐͰݖݶ෼཭Λߦ͏8FCαʔόͷΞΫηε੍ޚΞʔΩςΫνϟ ిࢠ৘ใ௨৴ֶձ࿦จࢽ 7PM+# /P QQ 0DU IUUQTHJUIVCDPNNBUTVNPUPSNPE@QSPDFTT@TFDVSJUZ
  20. $(*QSPDFTT PXOFSVTFS $(*QSPDFTT PXOFSSPPU QIQDHJJOEFYQIQ PXOFSVTFS $(*QSPDFTT PXOFSVTFS TFUVJE TFUHJE

    ʜ GPSL  FYFDWF TVFYFDQSPHSBN TFUVJESPPU UFSNJOBUFQSPDFTT FYFDWF 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF ˞$(* TV&9&$NPEFM
  21. εϨουͱ-JOVY$BQBCJMJUZ  ਌ϓϩηε͔Βݖݶ෼཭ͷDBQBCJMJUZ DBQ ͷΈΛҾ͖ܧ͙  ಈతίϯςϯπ࣮ߦલʹεϨουΛ࡞Δ  εϨου্ͰݖݶมߋޙʹDBQΛམͱͯ͠ίϯςϯπ࣮ߦ 

    7JSUVBMJOH˞ Λ࢖ͬͯɺ"QBDIFͦͷ΋ͷΛ֤छಛݖΛམͱ ͭͭ͠3FBEPOMZͷCJOEϚ΢ϯτͱඞཁϑΝΠϧͱϦιʔ ε੍ݶԽͷDISPPU؀ڥʹͯىಈͤ͞Δ͓ͯ͘ͱΑΓڧݻ ˞IUUQTHJUIVCDPNNBUTVNPUPSNSVCZWJSUVBMJOH
  22. 1BSFOUIUUQEQSPDFTT PXOFSSPPU $IJMEIUUQEQSPDFTT PXOFSBQBDIF NQTUISFBE PXOFSVTFS NQTUISFBE PXOFSBQBDIF JOEFYQIQ PXOFSVTFS

    TFUVJE TFUHJE ʜ VOTFUDBQT DSFBUFUISFBE TFUDBQT EFTUSPZUISFBE QBSTF SVO QSDUM TFUVJETFUHJEDBQT NQTUISFBE PXOFSVTFS ˞%40 NPE@QSPDFTT@TFDVSJUZNPEFM 7JSUVBMJOH&OWJSPONFOU
  23. γεςϜίʔϧͷ਺  QIQJOGP ΁ͷΞΫηεΛTUSBDF͔Βղੳ˞   $(* TV&9&$ճ  NPE@QIQ

    NPE@QSPDFTT@TFDVSJUZճ  ΦʔόʔϔουʹͳͬͯΔγεςϜίʔϧ˞   DMPOF PQFO DMPTF FYFDWF ͳͲͳͲ ˞TUSBDFDGQ1*% ˞DBUDHJMPHcHSFQWFQPMM@XBJUcHSFQWGVUFYcQFSMBOF <aEa> QSJOU@JG
  24. None
  25. ͦͷଞͷϝϦοτ΋͋ͬͨ  ෛՙ͕େ෯ʹ௿ݮʢ1)1ར༻ऀ͕ଟ਺ʣ  ϩʔυΞϕϨʔδʹͳΔΑ͏ͳΞΫηε͕ҎԼ  ࠓ͸$(*ͱ%40ͷڞଘ͍ͯ͠Δঢ়ଶ  %40ઐ༻ʹ͢Ε͹΋ͬͱऩ༰ޮ཰্͕͕Δ

  26. ಋೖલޙͷ$16࢖༻ྔൺֱ Ұ೔ͷΞΫηε਺͸ͲͪΒͷαʔό΋໿ສʢαʔϏεશମͰ͸਺ेԯʣ $(*ʴTV&9&$ %40ʴNPE@QSPDFTT@TFDVSJUZ ˙TZTUFN ˙VTFS ˙JEMF

  27. ͞Βʹ҆͘ɺ͞Βʹߴੑೳ΁

  28. 1)1࣮ߦج൫ͷϝϞϦޮ཰Խ

  29. ϩϦϙοϓʂ͸௒ߴूੵ  ͱʹ͔͘ϓϩηεΛઅ໿͍ͨ͠  ͱʹ͔͘ϝϞϦΛઅ໿͍ͨ͠  NPE@QIQ݁ߏϝϞϦΛ৯͏  ಛʹϓϩηεͷ13*7"5&ͳϝϞϦ͸અ໿͍ͨ͠

  30. NFNPSZ@MJNJUʹΑΔ੍ݶ  NFNPSZ@MJNJUͰ13*7"5&ϝϞϦ͸੍ݶͰ͖Δ͕ʜ  1)1࣮ߦޙʹ13*7"5&ϝϞϦ͕ཷ·Δͷ͕໰୊  NFNPSZ@MJNJUΛԼ͛Δͱ͓٬༷͕໎࿭  NFNPSZ@MJNJU͸े෼ʹ͋Δ͕࣮ߦޙʹ͸࢖͍ͬͯ ͳ͍13*7"5&ϝϞϦΛݮΒ͢ʹ͸Ͳ͏͢Ε͹Α͍͔

  31. ;&/%@..@4&(@4*;&  ϝϞϦϒϩοΫΛׂΓ౰ͯΔࡍͷηάϝϯταΠζ  ॲཧޙʹϝϞϦ͕ແବʹ࢒Δύλʔϯ͕͋Δ  ׂ౰ͯྔΛνϡʔχϯάͯ͠࢒Βͳ͍Α͏ʹͰ͖Δ  ৚͕݅߹͑͹େ͖ͳޮՌ͕ಘΒΕΔ͸ͣ 

    ίʔυΛݟΔݶΓ؀ڥม਺Ͱ੍ޚՄೳ
  32. None
  33. NPE@QIQىಈ࣌ PID VSZ RSS PRIVATE SHARED[KB] 10280 51188 49824 128

    49696 ( 99%) 10281 51188 49824 124 49700 ( 99%) 10282 51188 49824 124 49700 ( 99%) 10283 51188 49824 124 49700 ( 99%) 10284 51188 49824 124 49700 ( 99%) 10285 51188 49824 124 49700 ( 99%) 10286 51188 49824 124 49700 ( 99%) 10287 51188 49824 124 49700 ( 99%) 10288 51188 49824 124 49700 ( 99%) IUUQTHJUIVCDPNIJSPTFTIBSFENFNPSZTJ[F
  34. σϑΥϧτʢ81ΞΫηεޙʣ PID VSZ RSS PRIVATE SHARED[KB] 10281 125628 67372 18428

    48944 ( 72%) 10282 125628 67368 18400 48968 ( 72%) 10286 125628 67368 18400 48968 ( 72%) 10291 125628 67368 18400 48968 ( 72%) 10293 125628 67368 18400 48968 ( 72%) 10294 125628 67368 18400 48968 ( 72%) 10300 125628 67368 18400 48968 ( 72%) 10301 125628 67368 18400 48968 ( 72%) 10303 125628 67368 18400 48968 ( 72%) 8PSE1SFTTͷॲཧޙͷ13*7"5&ͷϝϞϦ֬อྔ͸.#
  35. νϡʔχϯάޙʢ81ΞΫηεޙʣ PID VSZ RSS PRIVATE SHARED[KB] 20908 129212 55076 6108

    48968 ( 88%) 20909 129212 55076 6108 48968 ( 88%) 20910 129212 55076 6108 48968 ( 88%) 20911 129212 55076 6108 48968 ( 88%) 20912 129212 55076 6108 48968 ( 88%) 20913 129212 55076 6108 48968 ( 88%) 20914 129212 55076 6108 48968 ( 88%) 20915 129212 55076 6108 48968 ( 88%) 20916 129212 55076 6108 48968 ( 88%) ϓϩηεͰ13*7"5&Λ.#࡟ݮɺϓϩηεͩͱ(#ͷ࡟ݮ
  36. ͓٬༷ͷϝϞϦΛ੍ݶ͢Δ͜ ͱͳ͘1)1ଆͰઅ໿͕Ͱ͖ͨ

  37. 1)1࣮ߦج൫҆ఆԽͷͨΊ ϖύϘ,FSOFMར༻

  38. 1)1͕LFSOFMΛ௒͑ͨ೔

  39. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME

    COMMAND apache 10241 55636314 0.0 0 0 ? R 12:36 21115121:16 [httpd]
  40. ϖύϘ,FSOFM  ,FSOFMܥͷDHSPVQͰ͸,FSOFMύχοΫ΍ϋϯάසൃ  $16ສͷQIQͷLFSOFMεϨου ͷ༷ʹݟ͑Δʣ  ࡴͤͳ͍ɺIBMUͰ͖ͳ͍ɺϋʔυϦηοτ͢Δ͔͠ͳ͍  $FOU04ʹ,FSOFMܥϕʔεͷϖύϘ,FSOFMΛಋೖ

     .BDͰ΋ಈ͘,FSOFMͷSQNϏϧυγεςϜ։ൃ IUUQTHJUIVCDPNNBUTVNPUPSLFSOFMCVJMETZTUFNGPSDFOUPT
  41. ಛఆͷ1)1͕๫૸ͨ͠Γ੬ऑͰ͋ͬͯ΋ ଞϗετʹඃ֐͕Ͱͳ͍Α͏ʹ͖ͪΜͱ੍ޚ

  42. ·ͱΊ

  43. ͥͻϩϦϙοϓʂͷ1)1Λ ࢖ͬͯԼ͍͞ IUUQTMPMJQPQKQ

  44. ϖύϘɾ͸ͯͳٕज़େձ։࠵  ओʹ8FCαʔϏεاۀʹڵຯͷ͋Δֶੜ޲͚  ژ౎ͱ෱ԬͰि࿈ଓͰ։࠵ʢͱʣ  ୈҰճ͸8FCαʔϏεͷج൫ٕज़  ৄ͘͠͸ҎԼͷ63-Ͱ IUUQEFWFMPQFSIBUFOBTUBGGDPNFOUSZ