Raspberry Piã§webãµãŒããå ¬éããã«ã¯ã»ãã¥ãªãã£èšå®ãå¿ èŠäžå¯æ¬ ã§ããããèšå®ããªããã°ããã«æ»æã«ããããä¹ã£åããããæ»æã®èžã¿å°ã«ãããŠããŸãããšã§ããããNASAã§ã¯åæã«èšçœ®ãããRaspberry Piãèžã¿å°ã«ãããŠæ å ±ãçãŸããŠãããªããŠããããšããã£ãã®ã§ãããããã£ããèšå®ããããšããã§ããããã¯ã»ãã¥ãªãã£äžã®éœåã§èª¬æããŸããã¿ãããªããšãèšã£ãŠããæ¹ãå€ãã®ã§ãããçšåºŠãã³ãã¬ãŒããšããŠãããããèšå®ããã°æäœé倧äžå€«ãšãããããã«ãªãããã«èšäºãæžããŠãããŸãããã¡ãããã©ã¹ã§ãèªèº«ã§å¿ èŠãªèšå®ã«ããŠãã ããã
ä»åã¯ä»¥åã®èšäºã§èª¬æãããããªåæèšå®ã¯æžãŸããŠãããšããåæã§è©±ãé²ããŠãããŸãã以åã®èšäºã¯ãã¡ãã§ãã
ãããåå¿è åãã«æžããŠããŸãããæéèšå®ãèšèªèšå®ãªã©æäœéã®ããšã¯ããŠããŸããæ°ã«ãªãæ¹ã¯äžå¿ç®ãéããŠãã ããã
ããŠå§ããŠãããŸãã
ç®æ¬¡
- ãŠãŒã¶ã®è¿œå ãåé€
- SSHã®åçš®èšå®
- ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå®ïŒiptablesïŒ
- ãŸãšã
ãŠãŒã¶ã®è¿œå ãåé€
ã¢ã«ãŠã³ãã®åé€ãšè¿œå ãè¡ã£ãŠãããŸããçç±ãšããŠã¯ãpiãšãããŠãŒã¶ãŒãšãã¹ã¯ãŒãã䜿ãç¶ããããšãèããŠã¿ããšããããŸããwebãµãŒããRaspberry Piã§éçšãããŠããããšãç¥ã£ãŠããã°âŠãã®ãŠãŒã¶åãšãã¹ã¯ãŒããç°¡åã«æšæž¬ã§ããã®ã§ãSSHãã°ã€ã³ãªããããããŠç°¡åã«ä¹ã£åãããŠããŸããããããªãããã§ããããªã®ã§ãŠãŒã¶ãäœãçŽãpiãæ¶ããŠããŸããŸãããã
以äžã®ã³ãã³ãã§ãŠãŒã¶ã远å ããŸããUSERNAMEã¯å¥œããªååã«èªã¿æ¿ããŠãã ãããä»åŸã®SShãã°ã€ã³ã§å¿ èŠã«ãªããŸãããã¹ã¯ãŒããªã©ã®å ¥åãæ±ãããããšæãã®ã§æç€ºéãã«èšå®ããŠãã ããã
$ sudo adduser USERNAME
$ sudo usermod -G sudo USERNAMEããã§ããã£ããåèµ·åãè¡ã£ãŠpiãŠãŒã¶ãåé€ããŸããããåèµ·åããªããšãã®ã»ãã·ã§ã³ãæ®ã£ãŠããŸã£ãŠåé€ãã§ããªãã®ã§åèµ·åãããããå ã»ã©äœæãããŠãŒã¶ã§ãã°ã€ã³ããŸããããã§ã¯ãã£ããåèµ·åã§ãã
$ sudo rebootãã°ã€ã³ããã以äžã®ã³ãã³ãã§piã¢ã«ãŠã³ããæ¶ããŸãã
sudo userdel piããã§ãŠãŒã¶ã®è¿œå ãšåé€ãå®äºã§ããä»åŸã¯æ°èŠäœæãããŠãŒã¶ã§ãã°ã€ã³ããŠããããšã«ãªããŸãã
SSHã®åçš®èšå®
ãã®é ã§ã¯SSHã®èšå®ãè¡ã£ãŠãããŸããå°ãã§ãã»ãã¥ãªãã£ã®ã¬ãã«ãäžããŸãããããšãããªãããä»åã¯éµæ¹åŒã«ã¯ããŸããã鵿¹åŒã«ãããæ¹ã¯å¥é調ã¹ãŠèšå®ãè¡ã£ãŠãã ããã
ããŒãã®å€æŽãè¡ããŸããçç±ãšããŠã¯ãããã¯ãŒã¯ã®æè¡ã«ãããŠãSSHã®ããã©ã«ãã®22çªããŒããšããã®ã¯well-knownããŒããšåŒã°ãäžçš®ã®å ±éèŠæ Œã«ãªã£ãŠããŸãããªã®ã§äœãããŒãçªå·ã倿Žããªãã§22çªããŒãã«ã¢ã¯ã»ã¹ããããšããã«ã¯SSHã®å¿çãããã®ã§ãããçã£ãŠæ»æã仿ããããå Žåãå€ãã®ã§ããç¹ã«ãã¹ã¯ãŒãæ¹åŒã ãšãããã«ãŒããã©ãŒã¹ã¢ã¿ãã¯ïŒç·åœããæ»æïŒããšãããã®ãè¡ãããããããã®ã§ãããå€ããŠããã®ã¯å¿ é ã«ãªããŸãã
ããšã¯ãããSSHã«äžæ£ãã°ã€ã³ããã£ããšããŠããå°ãã§ãè¢«å®³ãæžããããã«rootæš©éã§ã®ãã°ã€ã³ãçŠæ¢ããèšå®ãè¡ããŸãã
ã§ã¯ä»¥äžã®ã³ãã³ããå®è¡ããŸãã
$ sudo nano /etc/ssh/sshd_configãããéããããäžçªäžã«ä»¥äžã®æã远å ããŠãã ãããPort以éã®1234ãšããŠããã®ã¯å¥œããªçªå·ã«å€ããŠãã ãããwell-knownããŒããªã©ã«è¢«ãã®ã¯ãããªãã®ã§4æ¡ã®çªå·ã§æ±ºãããšããã§ããããããŒãçªå·ã«ã€ããŠè©³ããç¥ãããå Žåã¯å¥é調ã¹ãŠãã ãããããã§ã¯çç¥ããŸãã
PermitRootLogin no
Port 1234 //奜ããªçªå·ã«å€ããŠãã ããããã远èšãããSSHã®ãµãŒãã¹ãåèµ·åããŸãã
sudo service ssh restartããã§ããŒãçªå·ã倿ŽãããŠãrootãã°ã€ã³ãã§ããªããªã£ãŠããŸãã
ãã¡ã€ã¢ãŠã©ãŒã«ã®èšå®ïŒiptablesïŒ
ãããäžçªé£ããå Žæã«ãªããŸãããã¡ã€ã¢ãŠã©ãŒã«ã®èšå®ã§ãããã¡ã€ã¢ãŠã©ãŒã«ããåãã§ãªãæ¹ã®ããã«ããããç°¡åã«èª¬æãããšãå¿ èŠãªéä¿¡ã¯éããŠäžèŠãªéä¿¡ã¯éããªããšããèšå®ãè¡ããŸãããããæåããŒã¹ã§ããããé£ããæããããã§ããã»ãã¥ãªãã£ã®èšå®ã§ããã®èšå®ã¯éå ¬éãšãããå Žåãå€ãã¿ããã§ãããããã§ã¯ãã³ãã¬ãŒãã®ãããªåœ¢ã§å¿ èŠã§ããã°ããã«è¿œèšãšããã¹ã¿ã€ã«ã§ãããŸãããšããããã³ããããŠããã°æäœéã¯å€§äžå€«ããšã
ã§ã¯ä»¥äžã®ã³ãã³ããå ¥åããŠãã ããã
sudo apt-get install iptables iptables-persistent次ã«èšå®ã倿ŽããŸãã
sudo nano /etc/iptables/rules.v4ãšãã£ã¿ã§éããããäžçªäžã«å¿ èŠãªããšã远èšããŸããä»åã¯ãã³ãã¬ãŒãã§ãããªæãã«ããŠãããŸããSSHããŒãçªå·ã¯é©åã«èªã¿æ¿ããŠå ¥åããŠãã ããã
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
-A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport (SSHã®ããŒãçªå·) -j ACCEPT
-A INPUT -p tcp -m state --state NEW --dport 443 -j ACCEPT
-A INPUT -m hashlimit --hashlimit-name badtable --hashlimit-mode srcip --hashlimit-htable-expire 120000 --hashlimit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j REJECT
-A FORWARD -j REJECT
äžèº«ã«ã€ããŠã¯ããã§èª¬æããããããããããšã«ãªãã®ã§ãäœãã§ãããã ãããç°¡åã«ãèš±å¯ããŠããéä¿¡ã¯ä»¥äžã®3ã€ã®ããŒãã«éããŸãïŒã«ãŒãããã¯ã¯ã«ãŠã³ãããŸãããïŒ
- 80
- 443
- SSHã®ããŒã
ä»åã¯webãµãŒããç«ãŠããšããããšã§ããã®ïŒã€ã«éå®ããŠããŸãããã以å€ã¯åºæ¬å¿ èŠãªãããšã¯ãåãããšæããŸããããšã¯ãèªèº«ã®ç°å¢ã«åãããŠèšå®ããŠãã ããã
ä»ã«ãå€å°ã¯æ»æãžã®å¯Ÿçãå ¥ããŠããŸãããçç¥ããŸãã
èªåã®å Žåã¯ããå°ãèšå®ããŠããŸãããããã«ã¯æžããŸãããçµ¶å¯Ÿå ¬è¡šããŸãããã§ããããã®èšå®ã§ãååå®çšçã ãšæããŸãããã ãããã®èšå®ã®å®å šãä¿èšŒãããã®ã§ããããŸããã®ã§ããããŸã§åèã«ãšããããšã§åèªèšå®ããé¡ãããŸãã
ããšã¯ãã®èšå®ãåæ ããããã«ä»¥äžã®ã³ãã³ããå®è¡ããŸãã
sudo /usr/sbin/iptables-apply /etc/iptables/rules.v4äžå¿ããã«æžããŠãããŸãããiptableã®hashlimitã«ãã£ãŠã¯ãããããã®ã¯ä»¥äžã®å Žæã«èšé²ãããŠããŸãã
/var/log/kern.logãŸãããã蟺ã®ãã°åºåã®èšå®ãæ°ã«ãªãæ¹ã¯ãèªèº«ã§èª¿ã¹ãŠèšå®ããã ãã»ããããããããšæããŸãã
ããã§iptablesã®èšå®ã¯çµããã§ãã
ãŸãšã
iptablesãé£é¢ã§ãããã³ãã¬ãŒãéãã§ãªãèšå®ãããå¿ èŠãããå Žåã¯é 匵ã£ãŠèª¿ã¹ãŠã¿ãŠãã ããããããã¯ãŒã¯ã®ç¥èãå¿ èŠã«ãªããŸããããã£ããçè§£ãããšçžåœå匷ã«ãªããšæããŸãããããã¯ãŒã¯ã¯ã·ã³ãã«ã«é¢çœãã®ã§ãèå³ãããæ¹ã¯å匷ããŠããã£ãŠã¿ããšæ¥œãããšæããŸãã
ã»ãã¥ãªãã£ã®èšå®ãWordPressãã€ã³ã¹ããŒã«ããããã«èŠãŠããã ããæ¹ã¯æ¬¡ã®èšäºãžã©ããã以äžãªã³ã¯ã眮ããŠãããŸãã
ããšã¯éè«ã§ãã
æå 端æè¡ã«é¢é£ãããšãŠãé£ããäœè«ã§ãããGoogleãšãç ç©¶ããŠããP4ãå®çšåããããé¢çœããã§ãããç ç©¶ã§ãããã¯ãŒã¯ã§ã®èšç®åšãšããã¡ã€ã¢ãŠã©ãŒã«ã®å®è£ ããã£ãŠã¿ãŸããããçžåœæè»ã«ã§ããŸãããããã¯ãŒã¯ã®å å€ãšãç°¡åã«å€æã§ããã®ãéåžžã«é¢çœãæè¡ã ãšæããŸããããããã°ã©ã ã§æžããããããŒã¿ãã¬ãŒã³ããããããšãã§ãããæªæ¥ããã£ãŠããããã£ãšå®å šã«ç°¡åã«ãµãŒããå ¬éã§ããæ¥ããã£ãŠããã®ãããããŸããããP4ã«èå³ãã人ã¯èª¿ã¹ãŠã¿ãŠãã ãããã£ãŠæžããããšæã£ãã®ã§ããã倧åãè±èªã®èšäºãªã®ãšãäžèº«ã®å®è£ ãšãã«é¢ããŠã¯æ¥æ¬èªã®ãµã€ãã§ã¯æžããŠãªããšããã°ãããªã®ã§èª¿ã¹ãŠãã»ãšãã©ããããªããšæããŸããè«æã«ã¯å®è£ æ¹æ³ãšãæžããŠãã®ã§è«æãèªãã®ãäžçªã§ãããã§ããããã¯ãŒã¯ãããã°ã©ã ã§ããããã®ã¯é¢çœãã§ãããã£ã±ãã
çžåœè±ç·ããŠããŸããŸããããRaspberry Piæ¬äœã®ã»ãã¥ãªãã£èšå®ã¯ä»¥äžãšãªããŸãã
次ã¯ããããWordPressã®ã€ã³ã¹ããŒã«ã«å¿ èŠãªåçš®webãµãŒãã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ãšWordPressã®ã€ã³ã¹ããŒã«ã§ãããããŸã§å ¬éãããŸã§ããã®ããã°ã§æ±ãç¯å²éçããªãšæã£ãŠãããã®ã§ãWordPressã®ç°¡åãªãã©ã°ã€ã³ã®èª¬æãªã©ã¯ãããã©ããæ©ãã§ããŸãããªã®ã§æ°ãåãããå ¬éããŸããWordPressã¯å°éå€ãªã®ã§ãä»ã®æ¹ã®ã»ãããã£ãšè©³ããã§ããããããç¬ã次ã®èšäºâ