ÔõÑùÔÚLinuxÉÏÉèÖÃÍøÂçÇå¾²Õ½ÂÔ
ÔõÑùÔÚlinuxÉÏÉèÖÃÍøÂçÇå¾²Õ½ÂÔ
µ¼ÑÔ£º
Ëæ×ÅÍøÂçµÄ¿ìËÙÉú³¤£¬ÍøÂçÇå¾²ÎÊÌâÒ²Óú¼ÓÍ»³ö¡£ÔÚLinuxϵͳÖУ¬Í¨¹ýºÏÊʵÄÍøÂçÇå¾²Õ½ÂÔÉèÖ㬿ÉÒÔÓÐÓõر£»¤ÏµÍ³ÃâÊÜÍøÂç¹¥»÷¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚLinux²Ù×÷ϵͳÉÏÉèÖÃÍøÂçÇå¾²Õ½ÂÔ£¬²¢ÌṩÏìÓ¦µÄ´úÂëʾÀý¡£
Ò»¡¢×°Ö÷À»ðǽ
·À»ðǽÊDZ£»¤ÍøÂçÇå¾²µÄÖ÷Òª×é³É²¿·Ö¡£ÔÚLinuxϵͳÉÏ£¬¿ÉÒÔʹÓÃiptables»òÕßnftablesÀ´ÊµÏÖ·À»ðǽµÄ¹¦Ð§¡£ÒÔÏÂÊÇÔÚLinuxϵͳÖÐ×°ÖÃiptablesµÄʾÀý´úÂ룺
$ sudo apt-get update $ sudo apt-get install iptables
µÇ¼ºó¸´ÖÆ
¶þ¡¢ÉèÖ÷À»ðǽ¹æÔò
ÉèÖ÷À»ðǽ¹æÔòÊÇÉèÖÃÍøÂçÇå¾²Õ½ÂÔµÄÒªº¦°ì·¨¡£Æ¾Ö¤ÏÖʵÐèÇ󣬿ÉÒÔÉèÖòî±ðµÄ¹æÔòÀ´ÏÞÖÆ»òÔÊÐíÌض¨µÄÍøÂçÁ÷Á¿¡£ÒÔÏÂÊÇÒ»¸öʾÀý¹æÔòÜöÝÍ£º
$ sudo iptables -P INPUT DROP # ĬÈÏÇéÐÎϾܾøËùÓÐÈëÕ¾Á÷Á¿ $ sudo iptables -P FORWARD DROP # ĬÈÏÇéÐÎϾܾøËùÓÐת·¢Á÷Á¿ $ sudo iptables -P OUTPUT ACCEPT # ĬÈÏÇéÐÎÏÂÔÊÐíËùÓгöÕ¾Á÷Á¿ $ sudo iptables -A INPUT -i lo -j ACCEPT # ÔÊÐíÍâµØ»Ø»·Á÷Á¿ $ sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # ÔÊÐíÒѽ¨ÉèµÄÅþÁ¬ºÍÏà¹ØµÄÁ÷Á¿ $ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # ÔÊÐíSSHÅþÁ¬ $ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # ÔÊÐíHTTPÅþÁ¬ $ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # ÔÊÐíHTTPSÅþÁ¬ $ sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # ÔÊÐípingÇëÇó $ sudo iptables -A INPUT -j DROP # ¾Ü¾øÆäËûËùÓÐÈëÕ¾Á÷Á¿
µÇ¼ºó¸´ÖÆ
ÒÔÉϹæÔò½«ÔÊÐíÍâµØ»Ø»·Á÷Á¿¡¢Òѽ¨ÉèµÄÅþÁ¬ºÍÏà¹ØÁ÷Á¿¡¢SSH¡¢HTTPºÍHTTPSÅþÁ¬¡¢ÒÔ¼°pingÇëÇó¡£ÆäËûËùÓеÄÈëÕ¾Á÷Á¿½«±»¾Ü¾ø¡£
Èý¡¢ÉúÑĺͼÓÔعæÔò
ΪÁË°ü¹ÜÉèÖõij¤ÆÚÐÔ£¬ÔÚÐÞ¸ÄÁË·À»ðǽ¹æÔòºó£¬ÐèÒª½«¹æÔòÉúÑIJ¢¼ÓÔØ¡£ÒÔÏÂÊÇʾÀý´úÂ룺
ÉúÑĹæÔò£º
$ sudo iptables-save > /etc/iptables/rules.v4 # ÉúÑÄIPv4¹æÔò $ sudo ip6tables-save > /etc/iptables/rules.v6 # ÉúÑÄIPv6¹æÔò
µÇ¼ºó¸´ÖÆ
¼ÓÔعæÔò£º
$ sudo iptables-restore < /etc/iptables/rules.v4 # ¼ÓÔØIPv4¹æÔò $ sudo ip6tables-restore < /etc/iptables/rules.v6 # ¼ÓÔØIPv6¹æÔò
µÇ¼ºó¸´ÖÆ
ËÄ¡¢ÆäËûÍøÂçÇå¾²ÉèÖÃ
³ýÁË·À»ðǽ֮Í⣬ÉÐÓÐһЩÆäËûµÄÍøÂçÇå¾²ÉèÖÿÉÒÔÔöǿϵͳµÄÇå¾²ÐÔ¡£ÒÔÏÂÊÇһЩ³£¼ûµÄÉèÖÃʾÀý£º
ÆôÓÃSELinux»òAppArmor£º
$ sudo setenforce 1 # ÆôÓÃSELinux $ sudo aa-enforce /path/to/profile # ÆôÓÃAppArmor
µÇ¼ºó¸´ÖÆ
Ó²»¯SSH£º
$ sudo nano /etc/ssh/sshd_config # ±à¼SSHÉèÖÃÎļþ
µÇ¼ºó¸´ÖÆ
ÔÚÎļþÖУ¬¿ÉÒÔÐÞ¸ÄÒÔϲÎÊýÒÔÔöÇ¿SSHÇå¾²ÐÔ£º
PermitRootLogin no # եȡrootÓû§Ö±½ÓµÇ¼ PasswordAuthentication no # ½ûÓÃÃÜÂëÑéÖ¤ AllowUsers username # ½öÔÊÐíÌض¨Óû§µÇ¼
µÇ¼ºó¸´ÖÆ
ÆôÓÃÍøÂçÁ÷Á¿¼à¿Ø£º
$ sudo apt-get install tcpdump # ×°ÖÃtcpdump $ sudo tcpdump -i eth0 -n # ¼à¿Øeth0½Ó¿ÚµÄÍøÂçÁ÷Á¿
µÇ¼ºó¸´ÖÆ
ÒÔÉϽöÊÇһЩ³£¼ûµÄÍøÂçÇå¾²ÉèÖÃʾÀý£¬ÏêϸÉèÖÃӦƾ֤ÏÖʵÐèÇó¾ÙÐе÷½â¡£
½áÓ
ÍøÂçÇå¾²ÊÇLinuxϵͳÖбز»¿ÉÉÙµÄÒ»²¿·Ö¡£Í¨¹ý׼ȷÉèÖÃÍøÂçÇå¾²Õ½ÂÔ£¬¿ÉÒÔÓÐÓñ£»¤ÏµÍ³ÃâÊÜÍøÂç¹¥»÷¡£±¾ÎÄÏÈÈÝÁËÔõÑùÔÚLinuxϵͳÉÏ×°Ö÷À»ðǽ¡¢ÉèÖ÷À»ðǽ¹æÔò£¬²¢ÌṩÁËÏà¹ØµÄ´úÂëʾÀý¡£Ï£ÍûÄܶԶÁÕßÔÚLinuxϵͳÉϾÙÐÐÍøÂçÇå¾²ÉèÖÃÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxÉÏÉèÖÃÍøÂçÇå¾²Õ½ÂÔµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡