ãéå»åè§£èª¬ãæ å ±åŠçå®å šç¢ºä¿æ¯æŽå£« 什åïŒå¹ŽåºŠæ¥å£ãååŸ åïŒã
2024幎4æ21æ¥å®æœã®æ å ±åŠçå®å šç¢ºä¿æ¯æŽå£«è§£çéå ±
æ¯å¹Žã®ããšãªããïŒïœïŒå²ã®æ£è§£çããšæããŸããééããäžæç¹ããããŸãããã³ã¡ã³ããã ããã
- 1. åïŒ Webã¢ããªã±ãŒã·ã§ã³ããã°ã©ã
- 1.1. èšå1 [ããŒã¿é£æºæ©èœã®ã»ãã¥ãªãã£ã¬ãã¥ãŒ]ã«ã€ããŠçããã
- 1.1.1. (1) æ¬æäžã®aã«å ¥ããé©åãªåå¥ã,è§£ç矀ã®äžããéžã³,èšå·ã§çããã
- 1.1.2. (2) æ¬æäžã®bã«å ¥ããé©åãªæå±ã°ã«ãŒãã, 衚3äžããéžã³çããã
- 1.1.3. (3) æ¬æäžã®cã«å ¥ããé©åãªããã°ã©ã ã衚4äžããéžã³ãNoåã®çªå·ã§çããã
- 1.2. èšå2 [ãŠãŒã¶ãŒç»é²æ©èœã®ã»ãã¥ãªãã£ã¬ãã¥ãŒ]ã«ã€ããŠçããã
- 1.2.1. (1) æ¬æäžã®dã«å ¥ããé©åãªè¡çªå·ããå³3äžããéžã³,çããã
- 1.2.2. (2) æ¬æäžã®eã«å ¥ããé©åãªåå¥ãçããã
- 1.2.3. (3) æ¬æäžã®äžç·1ã«ã€ããŠ,ã·ã¹ãã éçšæ åœè ãšã·ã¹ãã éçºè ã,ã¢ã¯ã»ã¹ãçŠæ¢ãããŠããã®ã«ã¢ã¯ã»ã¹ã§ããŠããŸãæ å ±ã¯äœãã å³2äžã®ãŠãŒã¶ãã¹ã¿ãŒããŒãã«ã®ååã§, ããããå šãŠçããã ãŸã, ãã®æ å ±ãåºåãããå Žæã, è§£ç矀ã®äžããéžã³, ããããèšå·ã§çããã
- 1.2.4. (4) å³4äžã®fã«å ¥ããé©åãªåå¥ãçããã
- 1.2.5. (5) å³4äžã®gã«å ¥ããé©åãªåŠçã,ãœãŒã¹ã³ãŒãåã¯å ·äœçãªåŠçå 容ã®ããããã§çããã
- 1.2.6. (6) å³4äžã®hã«å ¥ããé©åãªãœãŒã¹ã³ãŒããçããã
- 1.2.7. (7) æ¬æäžã®äžç·2ã«ã€ããŠ,å³4ã®6,7è¡ç®ãã©ã®ããã«ä¿®æ£ããã°ããããä¿®æ£åŸã®é©åãªãœãŒã¹ã³ãŒããè§£ç矀ã®äžããéžã³, èšå·ã§çããã ããã§,倿°saltã«ã¯,addUserã¡ãœããã®åŒåºãããšã«ç°ãªã32 ãã€ãã®åºå®é·æååãå ¥ã£ãŠãããã®ãšã,ãŠãŒã¶ãŒãã¹ã¿ãŒããŒãã«ã®å®çŸ©ã«å€æŽã¯ãªããã®ãšããã
- 2. ããããåèæž
åïŒ Webã¢ããªã±ãŒã·ã§ã³ããã°ã©ã
èšå1 [ããŒã¿é£æºæ©èœã®ã»ãã¥ãªãã£ã¬ãã¥ãŒ]ã«ã€ããŠçããã
(1) æ¬æäžã®aã«å ¥ããé©åãªåå¥ã,è§£ç矀ã®äžããéžã³,èšå·ã§çããã
è§£ç
ã¢
解説
operationæš©éã°ã«ãŒãã«æå±ããŠããã¢ã«ãŠã³ãã¯ããããµãŒãã«ã¢ã¯ã»ã¹ã§ããŸãããŸããããããµãŒãã«ä¿åãããŠããCSVã¯ããŒããã·ã§ã³ã660ãªã®ã§batchappuserãšåãã°ã«ãŒãã«å±ããŠããå¿ èŠããããŸãã
äžèšãæºãããšæ³šææ å ±CSVã«å«ãŸããéèŠæ å ±ãåç §ã§ããŸãã
(2) æ¬æäžã®bã«å ¥ããé©åãªæå±ã°ã«ãŒãã, 衚3äžããéžã³çããã
è§£ç
personal
解説
ããããµãŒããšæ¬çªAPãµãŒããžã®ã¢ã¯ã»ã¹æš©éãå¿ èŠã§ãbatchappuserãšç°ãªãæš©éã°ã«ãŒãã«ããå¿ èŠãããããã
(3) æ¬æäžã®cã«å ¥ããé©åãªããã°ã©ã ã衚4äžããéžã³ãNoåã®çªå·ã§çããã
è§£ç
4
解説
CSVãã¡ã€ã«ã®éä¿¡å ã§æå·åããåãåãåŽã§åŸ©å·ããŸãã
æå·åããã¹ãã¯éèŠæ å ±ãå«ãŸããŠããæ³šææ å ±ã察象ã«ãªããŸãã
èšå2 [ãŠãŒã¶ãŒç»é²æ©èœã®ã»ãã¥ãªãã£ã¬ãã¥ãŒ]ã«ã€ããŠçããã
(1) æ¬æäžã®dã«å ¥ããé©åãªè¡çªå·ããå³3äžããéžã³,çããã
è§£ç
5
解説
(2) æ¬æäžã®eã«å ¥ããé©åãªåå¥ãçããã
è§£ç
NoSuchAlgolithmException
解説
(3) æ¬æäžã®äžç·1ã«ã€ããŠ,ã·ã¹ãã éçšæ åœè ãšã·ã¹ãã éçºè ã,ã¢ã¯ã»ã¹ãçŠæ¢ãããŠããã®ã«ã¢ã¯ã»ã¹ã§ããŠããŸãæ å ±ã¯äœãã å³2äžã®ãŠãŒã¶ãã¹ã¿ãŒããŒãã«ã®ååã§, ããããå šãŠçããã ãŸã, ãã®æ å ±ãåºåãããå Žæã, è§£ç矀ã®äžããéžã³, ããããèšå·ã§çããã
è§£ç
| ã·ã¹ãã éçšæ åœè | ãš | æ°åãäœæãé»è©±çªå·ããã¹ã¯ãŒããã¡ãŒã«ã¢ãã¬ã¹ |
| ã·ã¹ãã éçºæ åœè | 㪠| æ°åãäœæãé»è©±çªå·ããã¹ã¯ãŒããã¡ãŒã«ã¢ãã¬ã¹ |
解説
éçšæ
åœè
ã¯æ³šææ
å ±CSVãã¡ã€ã«ãèŠããŠããŸãããšãåé¡ã
ã·ã¹ãã éçºæ
åœè
ã¯äŒå¡ç»é²æã®ãã°ãèŠããŠããŸãããšãåé¡ãéçºæ
åœè
ã¯APãµãŒããžã®ã¢ã¯ã»ã¹æš©éã¯æã£ãŠããŸãããããã°è»¢éå
ã®ãã°ãµãŒãäžã§æ
å ±ãåç
§ã§ããŸãã
ãèšèŒèª€ã£ãŠããã®ã§ä¿®æ£ã
ãŸãã·ã¹ãã ã®å šäœåãæŽçããŸãã

æ¬çªAPãµãŒãã»æ¬çªããããµãŒãã»æ¬çªãã°ãµãŒãã«åçš®ãã°çãä¿åãããŠããããµãŒããžã®ã¢ã¯ã»ã¹ããã¡ã€ã«ã¢ã¯ã»ã¹ã¯æš©éã«ãã现ããå¶åŸ¡ãããŠããŸãã
ã§ã¯ãŸãã·ã¹ãã éçšæ åœè ãã¢ã¯ã»ã¹å¯èœã¯ç¯å²ã確èªããŠã¿ãŸãã

ã·ã¹ãã éçšæ åœè ã¯ãæ¬çªAPãµãŒãããšãæ¬çªããããµãŒãããžã¢ã¯ã»ã¹ã§ããŸãã
ãŸããæ¬çªAPãµãŒãã«ä¿åãããŠãããã°ã«ã€ããŠã¯ãrw-rw-rããªã®ã§ããµãŒãã«ã¢ã¯ã»ã¹ã§ããã°èª°ã§ãåç §ããããšãã§ããŸãã
ãã£ãŠã·ã¹ãã éçšæ åœè ã¯æ¬çªAPãµãŒãããaddUseræã®ãã°ãåç §ã§ããŠããŸããŸãã
次ã«ã·ã¹ãã éçºè ãã¢ã¯ã»ã¹å¯èœãªç¯å²ã確èªããŸãã

ã·ã¹ãã éçºè ã¯åç §æ¬çªãã°ãµãŒããåç §ã§ããŸããããã«ã¯APãµãŒããããã°ã転éãããŠããŠãããŸãã®ã§ãaddUseræã®ãã°ãåç §ã§ããŠããŸããŸãã
åç §ã§ããŠã¯ãªããªãæ å ±ã«ã€ããŠã¯ããŠãŒã¶ãã¹ã¿ããŒãã«ã®ãã¡è¡š1ã§éèŠæ å ±ãšæããããŠãããã®ã«ãªããŸãã
ãŠãŒã¶OID, ãŠãŒã¶ID, ãã¹ã¯ãŒã, æ°å, éµäŸ¿çªå·, äœæ, é»è©±çªå·, ã¡ãŒã«ã¢ãã¬ã¹, äœææ¥æ, æŽæ°æ¥æ
(4) å³4äžã®fã«å ¥ããé©åãªåå¥ãçããã
è§£ç
SHA-256
解説
(5) å³4äžã®gã«å ¥ããé©åãªåŠçã,ãœãŒã¹ã³ãŒãåã¯å ·äœçãªåŠçå 容ã®ããããã§çããã
è§£ç
ãšã©ãŒã¡ãã»ãŒãžãWebã·ã¹ãã ã«è¿ãåŠçãçµäºãã
解説
ãã®ã·ã¹ãã ã§ã®ãå埩äžèœããªå Žåã®æåŸ å€ãããããªããã
(6) å³4äžã®hã«å ¥ããé©åãªãœãŒã¹ã³ãŒããçããã
è§£ç
finally
解説
該åœã®ã³ãŒãã確èªãããšã倿°psObjã®ç¶æ ã確èªããŠããŸãã
倿°psObjã«ã€ããŠã¯å顿äžã§äžèšææããããŠããŸãã
å©çšããAPãµãŒãã®å®è£ ã§ã¯, 倿°psObjã®æãã¡ã¢ãªé åã«ãããŠã¡ã¢ãªãªãŒã¯ãçºçããå¯èœæ§ãããã
ãã®ææã«å¯Ÿå¿ããããã倿°psObjãååšããŠããã°å¿ ãéæŸããŠåŠçãçµäºãããšããåŠçãå ¥ããããŠããŸãã
(7) æ¬æäžã®äžç·2ã«ã€ããŠ,å³4ã®6,7è¡ç®ãã©ã®ããã«ä¿®æ£ããã°ããããä¿®æ£åŸã®é©åãªãœãŒã¹ã³ãŒããè§£ç矀ã®äžããéžã³, èšå·ã§çããã ããã§,倿°saltã«ã¯,addUserã¡ãœããã®åŒåºãããšã«ç°ãªã32 ãã€ãã®åºå®é·æååãå ¥ã£ãŠãããã®ãšã,ãŠãŒã¶ãŒãã¹ã¿ãŒããŒãã«ã®å®çŸ©ã«å€æŽã¯ãªããã®ãšããã
è§£ç
ã¢
解説
saltã®äœ¿ãæ¹



å šè£žåŸ æ©ããŠããŸãã
ãåŸ ããããŸããç¬
ç§ã¯éŽäžã ãã¯å±¥ããŠåŸ æ©ããŠããŸãã
ãåŸ ããããŸããç¬
èšå2ã®(3)ã«ã€ããŠ2ç¹è³ªåã§ãã
衚1ã®No.16ã«ãAPãµãŒãã®æšæºåºåã¯APãµãŒãã®/var/log/serverlog ã«åºåãããããšãããŸãã
ãããŠå³3ã®21-22è¡ç®ã§APãã°ãšåãå å®¹ãæšæºåºåãããŠããŸãã
éçšæ åœè ã¯APãµãŒããžã®ã¢ã¯ã»ã¹æš©ãããã®ã§ããããéçšæ åœè ã®èšå·ã¯ãšãå 容ã¯éçºè ãšåããã®ã«ãªããšæããŸããããããã§ããããïŒ
ãŸããå®éã®ã³ãŒãã§ã¯çç¥ãããŠããŸããå³2ã®ããã°ã©ã 仿§ãèªããšInsertã®å 容ã¯å³2äžã®éãã ãšæãããŸãã
äœæãã¡ãŒã«ã¢ãã¬ã¹ãå ¥ã£ãŠããªãã®ã¯äœæ ã§ããããïŒ
倱瀌ããŸãã
ç§ãåãæèŠã§ãã
æ¬åã¯ãããœãŒã¹ã³ãŒãã«å¯ŸããŠã®ææããšå顿ã«ãããŸããã®ã§ã
éçšè ãšéçºè ã®å 容ã¯åããã®ãè§£çããŸããã
倱瀌ããŸããç§ãéçšæ åœè ã¯ãšãéžãã§ãŸããããèãããšãšã¯ééã£ãŠãããããããŸããã
確ãã«éçšæ åœè ã¯APãµãŒããžã®ã¢ã¯ã»ã¹æš©ããããã§ããã°ãæ ŒçŽããã/var/log/serverlogããã¡ã€ã«ã®ãªãŒããŒã¯webappuserã§ããã664ã®æš©éã§ãã
ã€ãŸããwebappuserã®æå±ã°ã«ãŒã以å€ã®ãŠãŒã¶ãŒã¯ã4ã®æš©éãrwxãã§WãšXã§ããããReadãã§ããŸããã
å®éã«ãéçšæ åœè ã¯æå±ã°ã«ãŒããoperationã§ãããrã®æš©éããã£ãŠããªãããããã°ãã¡ã€ã«ãèŠãããšãã§ããªããšæããŸãã
åæ ŒãããDãã
倱瀌ããŸãã
ã4ã®æš©éãrwxãã§WãšXã§ãããããšãããŸããã4ã¯Rãšãªãèªã¿èŸŒã¿ã§ããã®ã§ã¯ãªãã§ããããïŒ
å顿èªã¿ééã£ãŠããã®ã§ãè§£çãä¿®æ£ããŠè§£èª¬ã远å ããããŸããã
ãææã®éãã§ããšãã§åã£ãŠãããšæããŸãïŒ
ãã€ãããããšãããããŸãã
ä¿®æ£ããŠé ãããšããç³ãèš³ãªãã®ã§ãããä»åã®åé¡ã¯ã¬ã€ã³ããŒããŒãã«æ»æãããŒãã«ãªã£ãŠããŸãã
ãããèžãŸãããšããã·ã¥åããããã¹ã¯ãŒãã§ãã£ãŠãéèŠæ å ±ã ãšæããã¹ãã ãšæãã®ã§ããããã®èãæ¹ã¯ééããŠããŸããïŒ
ãŸããäžç·1ã®æ®µéã§ã¯ããã·ã¥åãããªãå¯èœæ§ããããã確å®ã«éèŠæ å ±ããå€ãããšã¯å°åºæããŸããã
確ãã«ãã£ãããéãã§ããããŸã ãã¹ã¯ãŒãããã®ãŸãŸç»é²ããã課é¡ãæ®ã£ãç¶æ ã®ãœãŒã¹ã«é¢ããåºé¡ã§ããã
ãªã®ã§çŽ çŽã«ããã¹ã¯ãŒãããå«ããã®ãæ£ãããã§ãã
ä¿®æ£ãããŠããã ããŸããïŒ