çæ§ããã«ã¡ã¯ã
ä»åã¯ã社å¤ã®åå¼å
æ§çã«éè¦ãªæ
å ±ãå®å¿ãã¦åãæ¸¡ããããã¼ã«ã決ã¾ã£ã¦ãªãã£ãã®ã§ãNextCloudãå°å
¥ãã¦ã¿ãã¨ã³ããªã¼ã¨ãªãã¾ãã
以ä¸ãããã¾ã§ã®èª²é¡ã¨ãªãã¾ãã
- ææ¸¡ãã¨ãéµéã¯ã³ã¹ããæããããã¦ãã¾ã
- ã¡ã¼ã«ã¯å¹³æã®ããå±éºãæ·»ä»ãã¡ã¤ã«ãæå·åãã¦ãã¹ã¯ã¼ãã¯å¥ã¡ã¼ã«ã«ã¦éä¿¡ãå±éºã¨ãªã
- å種ã¤ã³ã¿ã¼ããããµã¼ãã¹ã¯é©åã«ç®¡çããã¦ããç£ç£ãé£ãããæ©è½ãå¤ããã¦èª¤æä½ã¨èå¼±æ§ãå¿é ãåãåãå´ãã¢ã«ã¦ã³ãã使ãã¦é ããªããã°ãããªãå ´åçã
NextCloudã¨ã¯ããã¡ã¤ã«ãã¹ãã£ã³ã°ãµã¼ãã¹ãæ§ç¯ããããã®ãPHPã¨Javascriptã§æ¸ããããªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ã¨ãªãã¾ããæ©è½çã«ä¼¼ããããªãµã¼ãã¹ã¨ãã¦æ¯è¼ãããã®ã¯dropboxã¨ãªãã¾ããå ã ownCloudã¨ããååã§éçºããã¦ããã®ã§ãããæ¹éã®é£ãéãã«ãããã©ã¼ã¯ããã¦NextCloudã¨ãªã£ãããã§ãã
è¦ä»¶
ã¯ããã«ãè¦ä»¶ã®ã¾ã¨ãã¨ãªãã¾ãã
- å¼ç¤¾ç¤¾å¡ã¦ã¼ã¶ã¼ãèªè¨¼ããããªãã£ã¹ãããã©ã¦ã¶ã¼ã§ã¢ã¯ã»ã¹ãã¦ãã¡ã¤ã«ãã¢ãããã¼ãã§ãã
- ã¢ãããã¼ãããããã¡ã¤ã«ã¯æå·åãããã¢ãããã¼ããã社å¡ã¨æå®ãããï¼åå¼å æ§ãªã©ã®ï¼ç¤¾å¤ã¦ã¼ã¶ã ããã¢ã¯ã»ã¹ã§ãã
- ï¼åå¼å æ§ãªã©ã®ï¼ç¤¾å¤ã¦ã¼ã¶ã¯èªè¨¼ããããã©ã¦ã¶ã¼ã§ã¢ã¯ã»ã¹ãã¦å¾©å·ããããã¡ã¤ã«ããã¦ã³ãã¼ãã§ãã
- ãã¡ã¤ã«ã®ãã¦ã³ãã¼ãã¯æå®ãããæ¥æ°ããããã¨ç¡å¹ã«ãªã
æ§æ
- Amazon Elastic Load Balancing
- ãã¼ã443
- ãã¼ã8000
- Amazon EC2
- nginx
- fail2ban
- NextCloud
- Amazon RDS
ä¸è¨ãæ§æã®è©³ç´°ã¨ãªãã¾ãã
Amazon Elastic Load Balancing
- ãã¼ã443ï¼ã¤ã³ã¿ã¼ãããããã®ã¢ã¯ã»ã¹ï¼SSLï¼ãåãå ¥ããnginxã«ãã©ã¯ã¼ããã¾ã
- ãã¼ã8000ï¼ãªãã£ã¹ããã®ã¢ã¯ã»ã¹ãåãå ¥ããnextcloudã«ãã©ã¯ã¼ããã¾ã
Amazon EC2
nginxã»fail2ban
https://nextcloud.hogehoge.co.jp/index.php/s/IWpva4t3FoYgnkSã®ãããªNextCloudã®ï¼µï¼²ï¼¬ãªã³ã¯ã§ã®å ±æã§ããã©ã¦ã¶ã¼ã§ã¢ã¯ã»ã¹ãããURLãªã³ã¯ã®ãã¹ã ãããããã·ãã¦ãNextCloudã«æãã¾ããnginxã®ã³ã³ãã£ã°ãã¡ã¤ã«ã®å 容ã¯ä»¥ä¸ã¨ãªãã¾ãã
server { ãçç¥ã # /index.php/heartbeat # /index.php/s/* # /index.php/s/*/authenticate # /index.php/s/*/download # /index.php/core/js/*.js # /index.php/apps/files_sharing/ajax/publicpreview.php # /core/img/* # /core/css/*.css # /core/fonts/*.woff # /core/js/*.js # /core/vendor/*.css # /core/vendor/*.js # /apps/encryption/*.js # /apps/files/*.js # /apps/files_sharing/*.css # /apps/files_sharing/*.js # location ~* ^(/index\.php/(heartbeat|s/[A-Za-z0-9]+(/authenticate|/download)?|core/js/.+\.js|apps/files_sharing/ajax/publicpreview\.php)|/core/(img/.+|css/.+\.css|fonts/.+\.woff|js/.+\.js|vendor/.+\.(css|js))|/apps/(encryption/.+\.js|files/.+\.js|files_sharing/.+\.(css|js)))$ { proxy_pass http://nextcloud; proxy_set_header Host $http_host; } }
ããã§å ±æããããã¡ã¤ã«ããã©ã¦ã¶ã¼ã§ãã¦ã³ãã¼ãã§ããã®ãªã®ãªã®ãã¹ã ãã許å¯ã¨ãªãã¾ããããã¨ãfail2banã§nginxã«æ¥ãã¢ã¯ã»ã¹ãç£è¦ãã¦ãä¸èªç¶ãªã¢ã¯ã»ã¹ãæãã°ãããã¯ã¨ãªãã¾ãã
NextCloud
NextCloudã§è¡ã£ãè¨å®ã¯ä¸è¨ã¨ãªãã¾ãããã©ã¦ã¶ã¼ã«ã¦ç®¡çè ã®ã¢ã¤ãã¹ã§ãã°ã¤ã³ãã管çç»é¢ããè¨å®ãå¯è½ã¨ãªãã¾ãã
- å
±æ
- URLãªã³ã¯ã§ã®å
±æã許å¯ãã
- 常ã«ãã¹ã¯ã¼ãä¿è·ãæå¹ã«ãã
- æå¹æéã®ããã©ã«ãå¤ãè¨å®ãã
- URLãªã³ã¯ã§ã®å
±æã許å¯ãã
- æå·å
- ãµã¼ãã¼ãµã¤ãæå·å
- ãµã¼ãã¼ãµã¤ãæå·åãæå¹ã«ãã
- ãµã¼ãã¼ãµã¤ãæå·å
- 追å è¨å®
- Password policy
- Minimal length
- Forbid common passwords
- Enforce upper and lower case characters
- Enforce numeric characters
- Enforce special characters
- Password policy
ãã®ç»é¢ã«ã¦ãã¦ã¼ã¶ã¼ããã¹ã¯ã¼ããå¿ãã¦ãã¾ã£ãå ´åã«ããã¡ã¤ã«ã復å ããããã®ãªã«ããªãã¼ãè¨å®ã§ããã®ã§ããããã®NextCloudã¯ããã¾ã§ä¸æçãªãã¡ã¤ã«ç½®ãå ´ã®ããããªã«ããªãã¼ã®æ¼ããã®ãªã¹ã¯ãå¿é ãã¦ããã¦è¨å®ãã¾ãããããã¨ãã¢ããªã®ç®¡çç»é¢ããä¸è¦ã¨æããã大éã®ãã©ã°ã¤ã³ãç¡å¹åãã¾ãããNextCloudã¯ãã¢ãã¤ã«ã»ãã¹ã¯ãããã¯ã©ã¤ã¢ã³ãããã¢ã¯ã»ã¹ã§ããããå¤é¨ã¹ãã¬ã¼ã¸ã«æ¥ç¶ã§ãããããªãããªãã¡ã¤ã«é²è¦§ã»ç·¨éãªã©ãè±å¯ãªæ©è½ãç¹å¾´ã®ä¸ã¤ã§ãããè¦ä»¶ä»¥å¤ã®æ©è½ã¯ããªã¹ã¯ãæ¸ããããå¾¹åºãã¦æé¤ã¨ãªãã¾ãã
Amazon RDS
NextCloudãããã°ã¤ã³ããæ®éã®MySQLãã¼ã¿ãã¼ã¹ã¨ãªãã¾ãã
å©ç¨ã·ããªãª
å©ç¨æã®ã·ããªãªã¨ãªãã¾ãã
ã社å¡ã¦ã¼ã¶ã¼ã â ä¼ç¤¾ã®ãã½ã³ã³ã®ãã©ã¦ã¶ã¼ã§https://nextcloud.example.com:8000/ãéãã¾ã â¡IDã¨ãã¹ã¯ã¼ããå ¥åãã¦ãã°ã¤ã³ãã¾ã â¢ç»é¢å ã®ãï¼ããã¯ãªãã¯ããã¢ãããã¼ãããæ¼ä¸ãã¾ã â£ãã¤ã¢ãã°ããã¯ã¹ã§ãã¢ãããã¼ããããã¡ã¤ã«ã鏿ãã¾ã â¤å ±æãããã¡ã¤ã«ã®ãå ±æã¢ã¤ã³ã³ããæ¼ä¸ãã¾ã â¥ãURLã§å ±æãããã§ãã¯ãã¾ã â¦ãURLã«ããå ±æã®ãã¹ã¯ã¼ãããå ¥åãã¾ã â§è¡¨ç¤ºãããURLãªã³ã¯ãå ±æå ã«ã¡ã¼ã«ã§éç¥ãã¾ã â¨ãã¹ã¯ã¼ããã¡ã¼ã«ä»¥å¤ã®å®å ¨ãªæ¹æ³ã§å ±æå ã«éç¥ãã¾ã ãåãåãå´ã¦ã¼ã¶ã¼ã â éç¥ãããURLãªã³ã¯ããã©ã¦ã¶ã¼ã§éãã¾ã â¡éç¥ããããã¹ã¯ã¼ããå ¥åãã¦ãã°ã¤ã³ãã¾ã â¢ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ã
Amazon EC2ã¤ã³ã¹ã¿ã³ã¹ã®ã¢ãããã¼ã
yum-cron-securityããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ã§ãèªåçã«ï¼æ¥ï¼åãã¤ã³ã¹ãã¼ã«æ¸ã¿ã®ããã±ã¼ã¸ã«ã»ãã¥ãªãã£ã¼ã¢ãããã¼ãããªãããã§ãã¯ãããæãã°ãèªåçã«ã¤ã³ã¹ãã¼ã«ã¨ãªãã¾ããããã§ãã·ã¹ãã ã«ãã©ãã«ãèµ·ããå¯è½æ§ãæãã¾ããã社å ç¨ãã¼ã«ï¼ä¸æçãã¡ã¤ã«ç½®ãå ´ã¨ãããã¨ã§å²ãåãã¾ãã ã«ã¼ãã«ãã¢ãããã¼ãããã¦ãããåèµ·åãå¿ è¦ãªã®ã§ããã¡ããããåãããã¹ã¯ãªããã§å®æ½ã¨ãªãã¾ãã
ãã¾ã
https://nextcloud.com/security/advisories/ ã®ãã¼ã¸ã®æ å ±ãç£è¦ãã¦ãæ´æ°ããã£ããã対å¿ãã¾ãã
以ä¸ã¨ãªãã¾ãã
å¼ç¤¾ã«ã¦NextCloudãå°å ¥ããä»¶ã«ã¤ãã¦ç´¹ä»ããã¦é ãã¾ãããå°å ¥å¾ã¯ç¤¾å ã®ãã¼ãºã«å¯¾ããåãæ¥ããã®ãã¼ã«ã«èªå°ã§ããããã«ãªãã¾ããã
æ¯éèªè ã«ãªã£ã¦ãã ãã(ภ`Ï´)à¸
ã¡ããã¢ã§ã¯ä¸ç·ã«åã仲éãåéãã¦ãã¾ãã ãå¿åããå¾ ã¡ãã¦ããã¾ãï¼
â åéãã¸ã·ã§ã³ã¯ãã¡ã
https://medpeer.co.jp/recruit/entry/
â éçºç°å¢ã¯ãã¡ã