
ç§ãã¡ã¯å±éºãªæ代ã«çããŠããŸããã»ãŒæ¯æ¥ãæ°ããè匱æ§ãçºèŠãããããã«åºã¥ããŠãšã¯ã¹ããã€ããäœæããã巚倧ãªçµç¹ãäŸåããéåžžã®LinuxããŒã ã³ã³ãã¥ãŒã¿ãŒãšãµãŒããŒãæ»æãããå¯èœæ§ããããŸãã
ã»ãã¥ãªãã£ã«æ³šæãæããã·ã¹ãã ãå®æçã«æŽæ°ããããšãã§ããŸãããéåžžããã§ã¯ååã§ã¯ãããŸããã ãããã£ãŠãæ¬æ¥ã¯ãCentOS 7ã®äŸã§LinuxããŒã¹ã®ã·ã¹ãã ã®ã»ãã¥ãªãã£ãåäžãããããã®12ã®ãã³ããå
±æããŸãã
端åä¿è·
ã·ã¹ãã ã®ã»ãã¥ãªãã£ã匷åããããã«ãç¹å®ã®ç«¯æ«ã®äœ¿çšãrootãŠãŒã¶ãŒã«å¶éããããšã«ãããã·ã¹ãã ãžã®ã³ã³ãœãŒã«ã¢ã¯ã»ã¹ãä¿è·ã§ããŸãã ãããè¡ãã«ã¯ãã¹ãŒããŒãŠãŒã¶ãŒã
/etc/securetty
䜿çšã§ãã端æ«ãæå®ã
/etc/securetty
ã
å¿
é ã§ã¯ãããŸããããã¹ãŒããŒãŠãŒã¶ãŒã1ã€ã®ç«¯æ«ããã®ã¿ãã°ã€ã³ããæ®ããä»ã®ãŠãŒã¶ãŒã«æ®ãããšããå§ãããŸãã
ãã¹ã¯ãŒããªãã€ã³ããŒ
ä»æ¥ã§ã¯ãè€éãªãã¹ã¯ãŒãã絶察ã«å¿
èŠã§ãã ãã ãããã¹ã¯ãŒããå®æçã«å€æŽãããå Žåã¯ããã«åªããŠããŸãã å¿ããã¡ãªã®ã§ããã¹ã¯ãŒãã®æå¹æéããã¹ã¯ãŒãã®å€æŽææãæãåºãããããã«ãäœããã®ã·ã¹ãã ã¡ã«ããºã ã䜿çšãããšããã§ãããã
ãã®ãããªãªãã€ã³ããŒãæŽçããæ¹æ³ã¯2ã€ãããŸãã 1ã€ç®ã¯
chage
ã³ãã³ãã䜿çšããããšã2ã€ç®ã¯å¿
èŠãªããã©ã«ãå€ã
/etc/login.defs
ã«èšå®ããããšã§ãã
chage
ã³ãã³ãã®åŒã³åºãã¯æ¬¡ã®ããã«ãªããŸãã
$ chage -M 20 likegeeks
ããã§ã¯ã
-M
ã䜿çšããŠããã¹ã¯ãŒãã®æå¹æéãæ¥æ°ã§èšå®ããŸãã
ããŒãªãã§ãã®ã³ãã³ãã䜿çšãããšãå¿
èŠãªå€ãå
¥åããããã«ãªããŸãã
$ chage likegeeks
2çªç®ã®æ¹æ³ã¯ã/
/etc/login.defs
ãã¡ã€ã«ãå€æŽããããšã§ãã èå³ã®ããå€ãã©ã®ããã«èŠãããã®äŸã次ã«ç€ºããŸãã å¿
èŠãªãã®ã«å€æŽã§ããŸãã
PASS_MAX_DAYS 10 PASS_MIN_DAYS 0 PASS_WARN_AGE 3
管çè
ã®åœ¹å²ãæãããŠããå Žåã¯ããŠãŒã¶ãŒã«è€éãªãã¹ã¯ãŒãã䜿çšããããã«å¥šå±ããå¿
èŠãããããšã«æ³šæããŠãã ããã ããã¯
pam_cracklibã䜿çšããŠ
å®è¡ã§ããŸãã
ãã®ããã°ã©ã ãã€ã³ã¹ããŒã«ããåŸã/
/etc/pam.d/system-auth
/
/etc/pam.d/system-auth
/
/etc/pam.d/system-auth
移åããŠã次ã®ããã«å
¥åã§ããŸãã
password required pam_cracklib.so minlen=12 lcredit=-1 ucredit=-1 dcredit=-2 ocredit=-1
é è€éç¥
sudo
ãäžæ¹ã§ã¯ç掻ã楜ã«ããä»æ¹ã§ã¯ãåãè¿ãã®ã€ããªãçµæãããããå¯èœæ§ã®ããLinuxã»ãã¥ãªãã£ã®åé¡ãåŒãèµ·ããå¯èœæ§ããããŸãã
sudo
èšå®ã¯
/etc/sudoers
ãã¡ã€ã«ã«ä¿åãããŸãã ãã®ãã¡ã€ã«ã䜿çšãããšãéåžžã®ãŠãŒã¶ãŒãã¹ãŒããŒãŠãŒã¶ãŒã«ä»£ãã£ãŠç¹å®ã®ã³ãã³ããå®è¡ããããšãé²ãããšãã§ããŸãã ããã«ãäžèšã®ãã¡ã€ã«ã«ä»¥äžãè¿œå ããããšã«ããã䜿çšæã«
sudo
ã«é»åã¡ãŒã«ãéä¿¡ãããããšãã§ããŸãã
mailto yourname@yourdomain.com
ãŸãã
mail_always
ããããã£ã
on
èšå®ããå¿
èŠããããŸãã
mail_always on
SSHä¿è·
Linuxã®ã»ãã¥ãªãã£ã«ã€ããŠè©±ããŠããå Žåã¯ãSSHãµãŒãã¹ã«ã€ããŠãæ€èšããå¿
èŠããããŸãã SSHã¯éèŠãªã·ã¹ãã ãµãŒãã¹ã§ãããã·ã¹ãã ã«ãªã¢ãŒãã§æ¥ç¶ã§ããŸãããŸããåé¡ãçºçããå Žåã«ç¶æ³ãä¿åããå¯äžã®æ¹æ³ã§ããå ŽåããããããSSHã®ç¡å¹åã«ã€ããŠã¯èª¬æããŸããã
ããã§ã¯CentOS 7ã䜿çšããŠãããããSSHæ§æãã¡ã€ã«ã¯
etc/ssh/sshd_config
ãŸãã æ»æè
ã䜿çšããã¹ãã£ããŒãŸãã¯ãããã¯ãããã©ã«ãã®ããŒã22ã䜿çšããŠSSHã«æ¥ç¶ããããšããŸãã
æšæºã®SSHããŒãããããšãã°
5555
ãªã©ã®å¥ã®æªäœ¿çšã®ããŒãã«å€æŽããã®ãäžè¬çã§ãã SSHããŒãã¯ãæ§æãã¡ã€ã«ã§ç®çã®ããŒãçªå·ãèšå®ããããšã§å€æŽã§ããŸãã ããšãã°ã次ã®ããã«ïŒ
Port 5555
ããã«ã
PermitRootLogin
ãã©ã¡ãŒã¿ãŒå€ã
no
å€æŽããããšã«ãããrootãŠãŒã¶ãŒãžã®SSHãã°ã€ã³ãå¶éã§ããŸãã
PermitRootLogin no
ãããŠããã¡ããããã¹ã¯ãŒãèªèšŒãç¡å¹ã«ãã代ããã«å
¬ééµãšç§å¯éµã䜿çšãã䟡å€ããããŸãã
PasswordAuthentication no PermitEmptyPasswords no
次ã«ãSSHã¿ã€ã ã¢ãŠãã«ã€ããŠèª¬æããŸãã ã¿ã€ã ã¢ãŠãã®åé¡ã¯ãããã€ãã®ãã©ã¡ãŒã¿ãŒãèšå®ããããšã§è§£æ±ºã§ããŸãã ããšãã°ã次ã®èšå®ã¯ãæ¥ç¶ããµããŒããããã±ãããæå®ãããç§æ°åŸã«èªåçã«éä¿¡ãããããšãæå³ããŸãã
ServerAliveInterval 15 ServerAliveCountMax 3 TCPKeepAlive yes
ãããã®ãã©ã¡ãŒã¿ãŒãèšå®ããããšã«ãããæ¥ç¶æéã延é·ã§ããŸãã
ClientAliveInterval 30 ClientAliveCountMax 5
SSHã®äœ¿çšãèš±å¯ãããŠãŒã¶ãŒãæå®ã§ããŸãã
AllowUsers user1 user2
ã°ã«ãŒãã¬ãã«ã§æš©éãå²ãåœãŠãããšãã§ããŸãã
AllowGroup group1 group2
GoogleèªèšŒã·ã¹ãã ã䜿çšããSSHä¿è·
ããã«ä¿¡é Œæ§ã®é«ãSSHä¿è·ãå®çŸããã«ã¯ãããšãã°ãGoogleèªèšŒã·ã¹ãã ã䜿çšãããªã©ã2èŠçŽ èªèšŒã䜿çšã§ããŸãã ãããè¡ãã«ã¯ããŸãé©åãªããã°ã©ã ãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
$ yum install google-authenticator
次ã«ãã€ã³ã¹ããŒã«ãæ€èšŒããããã«å®è¡ããŸãã
$ google-authenticator
ãŸããæºåž¯é»è©±ã«GoogleèªèšŒã·ã¹ãã ã¢ããªãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã
ãã¡ã€ã«
/etc/pam.d/sshd
ãç·šéããŠã以äžãè¿œå ããŸãã
auth required pam_google_authenticator.so
ããšã¯ã
/etc/ssh/sshd_config
ãã¡ã€ã«ã«æ¬¡ã®è¡ãè¿œå ããŠããã®SSHããã¹ãŠå ±åããã ãã§ãã
ChallengeResponseAuthentication yes
次ã«ãSSHãåèµ·åããŸãã
$ systemctl restart sshd
SSHã䜿çšããŠãã°ã€ã³ããããšãããšã確èªã³ãŒãã®å
¥åãæ±ããããŸãã ãã®çµæãã·ã¹ãã ãžã®SSHã¢ã¯ã»ã¹ã¯ä»¥åãããã¯ããã«ããä¿è·ãããŸãã
Tripwireã«ãããã¡ã€ã«ã·ã¹ãã ã®ç£èŠ
Tripwireã¯ãLinuxã»ãã¥ãªãã£ã匷åããããã®åªããããŒã«ã§ãã ããã¯äŸµå
¥æ€ç¥ã·ã¹ãã ïŒHIDSïŒã§ãã
Tripwireã®ç®æšã¯ããã¡ã€ã«ã·ã¹ãã ã®ã¢ã¯ãã£ããã£ã远跡ãããã¡ã€ã«ãå€æŽãããŠãŒã¶ãŒãšããããã®å€æŽããã€çºçãããã远跡ããããšã§ãã
Tripwireãã€ã³ã¹ããŒã«ããã«ã¯ãEPELãªããžããªã«ã¢ã¯ã»ã¹ããå¿
èŠããããŸãã ããã¯ç°¡åãªã¿ã¹ã¯ã§ããã次ã®ã³ãã³ãã§è§£æ±ºã§ããŸãã
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm $ rpm -ivh epel-release-7-9.noarch.rpm
EPELãªããžããªãã€ã³ã¹ããŒã«ããåŸãTripwireãã€ã³ã¹ããŒã«ã§ããŸãã
$ sudo yum install tripwire
次ã«ãããŒãã¡ã€ã«ãäœæããŸãã
$ tripwire-setup-keyfiles
ããŒãã¡ã€ã«ã®è€éãªãã¹ã¯ãŒããå
¥åããããã«æ±ããããŸãã ãã®åŸã/
/etc/tripwire/twpol.txt
ãã¡ã€ã«ãå€æŽããŠTripwireãæ§æã§ããŸãã åè¡ã«ã¯æå³ã®ããã³ã¡ã³ããä»ããŠããããããã®ãã¡ã€ã«ãæäœããã®ã¯é£ãããããŸããã
ããã°ã©ã ã®æ§æãå®äºããããåæåããå¿
èŠããããŸãã
$ tripwire --init
ã·ã¹ãã ã®ã¹ãã£ã³äžã®åæåã«ã¯ããã¡ã€ã«ã®ãµã€ãºã«å¿ããŠæéãããããŸãã
ä¿è·ããããã¡ã€ã«ãžã®å€æŽã¯ãã¹ãŠäŸµå
¥ãšã¿ãªããã管çè
ã¯ããã«ã€ããŠéç¥ãããŸãã管çè
ã¯ãçºä¿¡å
ãçããªããã¡ã€ã«ã䜿çšããŠã·ã¹ãã ã埩å
ããå¿
èŠããããŸãã
ãã®ãããTripwireã䜿çšããŠå¿
èŠãªã·ã¹ãã å€æŽã確èªããå¿
èŠããããŸãã ãããè¡ãã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã
$ tripwire
ãããŠãTripwireã«é¢ããå¥ã®æšå¥šäºé
ã次ã«ç€ºããŸãã
twpol.txt
ããã³
twcfg.txt
ä¿è·ã
twcfg.txt
ã ããã«ãããã·ã¹ãã ã®ã»ãã¥ãªãã£ãåäžããŸãã
Tripwireã«ã¯å€ãã®ãªãã·ã§ã³ãšèšå®ããããŸãã 次ã®ããã«ãã«ãã衚瀺ã§ããŸãã
man tripwire
Firewalldã䜿çšãã
Firewalldã¯
iptables
代æ¿åã§ããããã®ããã°ã©ã ã¯Linuxãããã¯ãŒã¯ã®ã»ãã¥ãªãã£ãæ¹åããŸãã Firewalldã䜿çšãããšãçŸåšã®æ¥ç¶ãåæ¢ããã«èšå®ãå€æŽã§ããŸãã ãã¡ã€ã¢ãŠã©ãŒã«ã¯ãåèµ·åããã«ã«ãŒã«ãè¿œå ããã³å€æŽã§ãããµãŒãã¹ãšããŠæ©èœãããããã¯ãŒã¯ãŸãŒã³ã䜿çšããŸãã
firewalld
ãçŸåšå®è¡ãããŠãããã©ããã確èªããã«ã¯ã次ã®ã³ãã³ããå
¥åããŸãã
$ firewall-cmd
次ã®ããã«ãäºåå®çŸ©ããããããã¯ãŒã¯ãŸãŒã³ã衚瀺ã§ããŸãã
$ firewall-cmd --get-zones
ãããã®åãŸãŒã³ã«ã¯äžå®ã®ä¿¡é ŒåºŠããããŸãã
ãã®å€ã¯æ¬¡ã®ããã«æŽæ°ã§ããŸãã
$ firewall-cmd --set-default-zone=<new-name>
次ã®ããã«ããŠãç¹å®ã®ãŸãŒã³ã«é¢ãã詳现æ
å ±ãååŸã§ããŸãã
$ firewall-cmd
次ã®ã³ãã³ãã䜿çšããŠããµããŒããããŠãããã¹ãŠã®ãµãŒãã¹ã®ãªã¹ãã衚瀺ã§ããŸãã
$ firewall-cmd --get-services
次ã«ãæ°ãããµãŒãã¹ããŸãŒã³ã«è¿œå ããããæ¢åã®ãµãŒãã¹ãåé€ã§ããŸãã
$ firewall-cmd --zone=<zone-name> --add-service=<service-name> $ firewall-cmd --zone=<zone-name> --remove-service=<service-name>
ä»»æã®ãŸãŒã³ã§éããŠãããã¹ãŠã®ããŒãã«é¢ããæ
å ±ã衚瀺ã§ããŸãã
$ firewall-cmd
次ã®ããã«ããŸãŒã³ã«ããŒããè¿œå ããŠåé€ã§ããŸãã
$ firewall-cmd --zone=<zone-name> --add-port=<port-number/protocol> $ firewall-cmd --zone=<zone-name> --remove-port=<port-number/protocol>
以äžãæ§æããã³ããŒã転éã§ããŸãã
$ firewall-cmd --zone=<zone-name> --add-forward-port=<port-number> $ firewall-cmd --zone=<zone-name> --remove-forward-port=<port-number>
Firewalldã¯éåžžã«é«åºŠãªããŒã«ã§ãã æã泚ç®ãã¹ãç¹ã¯ãããšãã°ãèšå®ãå€æŽãããšãã«ããµãŒãã¹ãåèµ·åãŸãã¯åæ¢ããã«æ£åžžã«æ©èœããããšã§ãã ããã«ãããåæ§ã®ç¶æ³ã§ãµãŒãã¹ãåèµ·åããå¿
èŠãããå Žåã
iptables
ããŒã«ãšåºå¥ãããŸãã
firewalldããiptablesãžã®ç§»è¡
äžéšã®äººã
ã¯ãfirewalld
firewalld
ããã
iptables
ãã¡ã€ã¢ãŠã©ãŒã«ã奜ãã§ããŸãã
firewalld
ã䜿çšããŠãããã
iptables
ã«æ»ãããå Žåãããã¯éåžžã«ç°¡åã§ãã
æåã«
firewalld
ç¡å¹ã«ããŸãã
$ systemctl disable firewalld $ systemctl stop firewalld
次ã«ã
iptables
ã€ã³ã¹ããŒã«ããŸãã
$ yum install iptables-services $ touch /etc/sysconfig/iptables $ touch /etc/sysconfig/ip6tables
ããã§ã
iptables
ãµãŒãã¹ãéå§ã§ããŸãã
$ systemctl start iptables $ systemctl start ip6tables $ systemctl enable iptables $ systemctl enable ip6tables
ãã®ãã¹ãŠã®åŸãã³ã³ãã¥ãŒã¿ãŒãåèµ·åããŸãã
ã³ã³ãã€ã©ãŒã®å¶é
æ»æè
ã¯èªåã®ã³ã³ãã¥ãŒã¿ãŒã§ãšã¯ã¹ããã€ããã³ã³ãã€ã«ããé¢å¿ã®ãããµãŒããŒã«ã¢ããããŒãã§ããŸãã åœç¶ããã®ã¢ãããŒãã§ã¯ããµãŒããŒäžã®ã³ã³ãã€ã©ã®ååšã¯åœ¹å²ãæãããŸããã ãã ããææ°ã®ãµãŒããŒç®¡çã·ã¹ãã ã®å Žåã®ããã«ãäœæ¥ã«ã³ã³ãã€ã©ãŒã䜿çšããªãå Žåã¯ãã³ã³ãã€ã©ãŒãå¶éããããšããå§ãããŸãã
éå§ããã«ã¯ãããã±ãŒãžãããã¹ãŠã®ã³ã³ãã€ã©ãã€ããªããªã¹ããããããã®ã¢ã¯ã»ã¹èš±å¯ãèšå®ããŸãã
$ rpm -q --filesbypkg gcc | grep 'bin'
æ°ããã°ã«ãŒããäœæããŸãã
$ groupadd compilerGroup
次ã«ãã³ã³ãã€ã©ãã€ããªã°ã«ãŒããå€æŽããŸãã
$ chown root:compilerGroup /usr/bin/gcc
ãããŠãã1ã€éèŠãªããšã§ãã ãããã®ãã€ããªãã¡ã€ã«ã®ã¢ã¯ã»ã¹èš±å¯ãå€æŽããå¿
èŠããããŸãã
$ chmod 0750 /usr/bin/gcc
ããã§ã
gcc
ã䜿çšããããšãããŠãŒã¶ãŒã¯ãšã©ãŒã¡ãã»ãŒãžãåãåããŸãã
ãã¡ã€ã«å€æŽé²æ¢
äžå€ãã¡ã€ã«ã¯ãrootæš©éããã£ãŠããã©ã®ãŠãŒã¶ãŒã§ãäžæžãã§ããŸããã ãŠãŒã¶ãŒã¯ãã€ãã¥ããã£ãã©ã°ãèšå®ããããŸã§ãã®ãããªãã¡ã€ã«ãå€æŽãŸãã¯åé€ã§ããŸãããã€ãã¥ããã£ãã©ã°ã¯ã«ãŒããŠãŒã¶ãŒã®ã¿ãåé€ã§ããŸãã
ãã®æ©èœã¯ãã·ã¹ãã ãæ··ä¹±ãããå¯èœæ§ã®ãããšã©ãŒãããã¹ãŒããŒãŠãŒã¶ãŒãšããŠããªããä¿è·ããããšã«æ°ä»ãã®ã¯ç°¡åã§ãã ãã®ã¢ãããŒãã䜿çšãããšãæ§æãã¡ã€ã«ãŸãã¯ãã®ä»ã®ãã¡ã€ã«ãå¿
èŠã«å¿ããŠä¿è·ã§ããŸãã
ãã¡ã€ã«ãç¡å¹ã«ããã«ã¯ã
chattr
ã³ãã³ãã䜿çšããŸãã
$ chattr +i /myscript
immunityå±æ§ã¯ã次ã®ã³ãã³ãã§åé€ã§ããŸãã
$ chattr -i /myscript
ãã®æ¹æ³ã§ãã¡ã€ã«ãä¿è·ã§ããŸããããã®æ¹æ³ã§ãã€ããªã·ã¹ãã ãã¡ã€ã«ãåŠçããå Žåãã€ãã¥ããã£ãã©ã°ãã¯ãªã¢ãããŸã§ããããæŽæ°ã§ããªãããšã«æ³šæããŠãã ããã
aureportã䜿çšããSELinuxã®ç®¡ç
å€ãã®å ŽåãSELinuxã®åŒ·å¶ã¢ã¯ã»ã¹å¶åŸ¡ã¯ããã©ã«ãã§ãªãã«ãªã£ãŠããŸãã ããã¯ã·ã¹ãã ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžãããSELinuxã§ã®äœæ¥ã¯éåžžã«å°é£ã§ãã ãã ããã»ãã¥ãªãã£ã匷åããããã«ãSELinuxãæå¹ã«ãã
aureport
ã䜿çšããŠãã®ã¡ââã«ããºã ã®ç®¡çã
aureport
ã§ããŸãã
aureport
ãŠãŒãã£ãªãã£ã䜿çšãããšãç£æ»
ãã°ãã¡ã€ã«ã«åºã¥ããŠã¬ããŒããäœæã§ã
ãŸã ã
$ aureport
å®è¡å¯èœãã¡ã€ã«ã®ãªã¹ãã¯ã次ã®ã³ãã³ãã§è¡šç€ºã§ããŸãã
$ aureport -x
aureport
ã䜿çšããŠãå®å
šãªèªèšŒã¬ããŒããäœæã§ããŸãã
$ aureport -au -i
倱æããèªèšŒè©Šè¡ã«é¢ããæ
å ±ã衚瀺ããããšãã§ããŸãã
$ aureport -au
ãŸãã¯ãæåããèªèšŒè©Šè¡ã®èŠçŽïŒ
$ aureport -au
aureport
ãŠãŒãã£ãªãã£ã¯ãSELinuxã§ã®äœæ¥ã倧å¹
ã«ç°¡çŽ åããŸãã
ã·ãŒã©ãŒãã䜿çšãã
aureport
å ããŠã
aureport
ãšåŒã°ããåªããLinuxã»ãã¥ãªãã£ããŒã«ã䜿çšã§ããŸãã 次ã®ããã«ã€ã³ã¹ããŒã«ã§ããŸãã
$ yum install setools
ããã§ã/
/var/log/audit/audit.log
ãã¡ã€ã«ããã¢ã©ãŒããçºè¡ããSELinuxã«ãã£ãŠç¹å®ãããåé¡ã«é¢ããè¿œå æ
å ±ãæäŸããããŒã«ãã§ããŸããã
次ã®ããã«äœ¿çšã§ããŸãã
$ sealert -a /var/log/audit/audit.log
ããã§æãèå³æ·±ãã®ã¯ãã¢ã©ãŒãã§ã察å¿ããåé¡ã解決ããæ¹æ³ã«é¢ãããã³ããèŠã€ããããšãã§ããããšã§ãã
ãŸãšã
ããã«èšèŒãããŠãããã³ãããLinuxã®ã€ã³ã¹ããŒã«ãããå®å
šã«ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã ããããæ
å ±ãä¿è·ããããšã«ãªããšãããããŸãã¯ä»ã®æ段ãé©çšããããšã«ãã£ãŠãä»ã¯ããªããè
ãããã®ã¯ãªããšä»®å®ããããšã¯äžå¯èœã§ãã ã»ãã¥ãªãã£ãœãããŠã§ã¢ã«ã¯ãåžžã«æ³šæãšæ³šæãæãå¿
èŠããããŸãã
芪æãªãèªè
ïŒ Linuxã®ã»ãã¥ãªãã£ãæ¹åããããã®åçŽã ãæãããªæ¹æ³ãç¥ã£ãŠããŸããïŒ