STIG
STIG ãšã¯ïŒ
STIGïŒSecurity Technical Implementation GuidesïŒ ã¯ãç±³åœåœé²ç·çæ å ±ã·ã¹ãã å±ïŒDISAïŒ ãçºè¡ããæ§ææšæºã§ãã
ããã¯ãç±³åœåœé²ç·çïŒDoDïŒç°å¢ã§äœ¿çšããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã¢ããªã±ãŒã·ã§ã³ãããŒã¿ããŒã¹ããã®ä»ã®ãã¯ãããžãŒã«é¢ããã»ãã¥ãªãã£èŠä»¶ãå®çŸ©ããŠããŸãã
STIG ã¯ãã·ã¹ãã ãå®å šãã€äžè²«æ§ã®ããæ§æã§éçšãããè匱æ§ãæžããããšãç®çãšããŠããŸãã
å€ãã®å ŽåãDoD ã®ãGeneral Purpose Operating System Security Requirements GuideïŒGPOS SRGïŒãã®ãããªãããåºç¯ãªèŠä»¶ã«åºã¥ããŠããŸãã
STIG ã¬ã€ãã³ã¹ãéèŠãªçç±
STIG ã¬ã€ãã³ã¹ã®éµå®ã¯ãç±³åœæ¿åºã®ã·ã¹ãã ã«æºããããŸãã¯ãããæ¯æŽããçµç¹ã«ãšã£ãŠæ¥µããŠéèŠã§ãã
ããã«ãããDoDïŒç±³åœåœé²ç·çïŒã®ã»ãã¥ãªãã£æšæºã«æºæ ããŠããããšã瀺ãããšãã§ããæ¬¡ã®ãããªå¹æããããŸã:
-
DoD ã·ã¹ãã ã«ããã ATOïŒAuthority to OperateïŒéçšèªå¯ïŒããã»ã¹ã®è¿ éå
-
誀ã£ãæ§æãæªçšå¯èœãªè匱æ§ã®ãªã¹ã¯äœæž
-
æšæºåãããããŒã¹ã©ã€ã³ã«ãã ç£æ»ããã³å ±åã®ç°¡çŽ å
é£éŠæ¿åºä»¥å€ã®ç°å¢ã§ããSTIG ã¯ã»ãã¥ãªãã£éèŠã®çµç¹ã«ãã£ãŠã匷åãããã·ã¹ãã æ§æã®ãã³ãããŒã¯ãšããŠå©çšãããŠããŸãã
STIG ã¯ãããåºç¯ãª NIST ã¬ã€ãã³ã¹ãç¹ã« NIST Special Publication 800-53 ãåºã«ããŠããŸãã
ãã®ææžã¯ãé£éŠã·ã¹ãã åãã®ã»ãã¥ãªãã£ããã³ãã©ã€ãã·ãŒç®¡ççã®ã«ã¿ãã°ãå®çŸ©ããŠããã800-53 ã FedRAMP ãªã©ã®é¢é£ãã¬ãŒã ã¯ãŒã¯ã®æºæ ãç®æãçµç¹ã¯ãSTIG ãå®è£ ã¬ã€ããšããŠæŽ»çšãã該åœãã管ççèŠä»¶ãæºããããšãã§ããŸãã
Docker Hardened Images ã«ãã STIG ã¬ã€ãã³ã¹é©çšã®æ¯æŽ
Docker Hardened ImagesïŒDHIïŒã«ã¯ãSTIG ããªã¢ã³ããçšæãããŠãããã«ã¹ã¿ã ã® STIG ããŒã¹ãããã¡ã€ã«ã«åºã¥ããŠã¹ãã£ã³ã宿œããã眲åä»ã STIG ã¹ãã£ã³ã¢ãã¹ããŒã·ã§ã³ãä»å±ããŸãã
ãããã®ã¢ãã¹ããŒã·ã§ã³ã¯ãç£æ»ãã³ã³ãã©ã€ã¢ã³ã¹å ±åã®éã«æŽ»çšã§ããŸãã
Docker ã¯ãGPOS SRGïŒGeneral Purpose Operating System Security Requirements GuideïŒ ããã³ DoD Container Hardening Process Guide ã«åºã¥ããã€ã¡ãŒãžããšã«ã«ã¹ã¿ã ã® STIG ããŒã¹ãããã¡ã€ã«ãäœæããŠããŸãã
DISA ã¯ã³ã³ããå°çšã® STIG ããŸã çºè¡ããŠããªãããããããã®ãããã¡ã€ã«ã¯ãSTIG ã«é¡äŒŒããã¬ã€ãã³ã¹ãã³ã³ããç°å¢ã«äžè²«æ§ãæã£ãŠããã€ã¬ãã¥ãŒå¯èœãªåœ¢ã§é©çšããããšãå¯èœã«ããŸãã
ãŸããã³ã³ããã€ã¡ãŒãžã§ããèŠããã誀æ€ç¥ïŒfalse positiveïŒãæžããããèšèšãããŠããŸãã
STIG ã¹ãã£ã³çµæãå«ãã€ã¡ãŒãžãç¹å®ãã
STIG ã¹ãã£ã³çµæãå«ã Docker Hardened Images ã¯ãDocker Hardened Images ã«ã¿ãã°å ã§ STIG ãšè¡šç€ºãããŠããŸãã
STIG ã€ã¡ãŒãžããªã¢ã³ããå«ã DHI ãªããžããªãæ¢ãã«ã¯ãã€ã¡ãŒãžãæ¢çŽ¢ãã ã«é²ã¿ãæ¬¡ã®æäœãè¡ããŸã:
-
ã«ã¿ãã°ããŒãžã§ STIG ãã£ã«ã¿ãŒã䜿çšãã
-
åã€ã¡ãŒãžäžèŠ§ã§ STIG ã©ãã«ãæ¢ã
ç¹å®ã®ãªããžããªå ã§ STIG ã€ã¡ãŒãžããªã¢ã³ããæ¢ãã«ã¯ããã®ãªããžããªã® Tags ã¿ããéããCompliance åã« STIG ãšè¡šç€ºãããŠããã€ã¡ãŒãžã確èªããŸãã
STIG ã¹ãã£ã³çµæã®è¡šç€ºãšæ€èšŒ
Docker ã¯ãå STIG ããŒããã³ã°æžã¿ã€ã¡ãŒãžã«å¯ŸããŠçœ²åä»ãã® STIG ã¹ãã£ã³ã¢ãã¹ããŒã·ã§ã³ ãæäŸããŠããŸãã
ãã®ã¢ãã¹ããŒã·ã§ã³ã«ã¯ä»¥äžãå«ãŸããŸã:
-
åæ Œã»äžåæ Œã»è©²åœãªãïŒnot applicableïŒãã§ãã¯ã®ä»¶æ°ãå«ãã¹ãã£ã³çµæã®æŠèŠ
-
䜿çšããã STIG ãããã¡ã€ã«ã®åç§°ãšããŒãžã§ã³
-
HTML ããã³ XCCDFïŒXMLïŒã®äž¡åœ¢åŒã§ã®å®å šãªåºå
STIG ã¹ãã£ã³ã¢ãã¹ããŒã·ã§ã³ã®è¡šç€º
Docker Scout CLI ã䜿ã£ãŠ STIG ã¹ãã£ã³ã¢ãã¹ããŒã·ã§ã³ãååŸã»ç¢ºèªã§ããŸã:
$ docker scout attest get \
--predicate-type https://docker.com/dhi/stig/v0.1 \
--verify \
--predicate \
<your-namespace>/dhi-<image>:<tag>
HTML ã¬ããŒãã®æœåº
人éãèªã¿ããã HTML 圢åŒã®ã¬ããŒããæœåºããŠè¡šç€ºããã«ã¯:
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
--predicate-type https://docker.com/dhi/stig/v0.1 \
--verify \
--predicate \
| jq -r '.[0].output[] | select(.format == "html").content | @base64d' > stig_report.html
XCCDF ã¬ããŒãã®æœåº
ä»ã®ããŒã«ãšé£æºããããã® XMLïŒXCCDFïŒåœ¢åŒã®ã¬ããŒããæœåºããã«ã¯:
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
--predicate-type https://docker.com/dhi/stig/v0.1 \
--verify \
--predicate \
| jq -r '.[0].output[] | select(.format == "xccdf").content | @base64d' > stig_report.xml
STIG ã¹ãã£ã³æŠèŠã®è¡šç€º
å®å šãªã¬ããŒãã§ã¯ãªããã¹ãã£ã³ã®æŠèŠã ãã衚瀺ããã«ã¯:
$ docker scout attest get <your-namespace>/dhi-<image>:<tag> \
--predicate-type https://docker.com/dhi/stig/v0.1 \
--verify \
--predicate \
| jq -r '.[0] | del(.output)'