libcãé ãï¼ããã¨ããlighttpdãé ãï¼ããã¨ããHardened Gentooï¼grsecurity/PaXï¼ãé ãï¼ï¼ï¼
lighttpdã®éãã«æåï¼ããã®ãã¤ãã®éã»ã»ã»ã
Hardened Gentoo Linuxãã·ã³ã¨CentOS 5.3ãã·ã³ã§abåè² ããã¦ã¿ãã¨ã»ã»ã»ãªãã¨Pentium III 1GHzã®CentOS 5.3ãã·ã³ããPentium 4 (Willametteã³ã¢) 1.5 GHzãããããªãéããªãã¦ã»ã»ã»ï¼ï½ï¼
å
·ä½çã«ã¯ã2800 vs 3400 requests per secondãããã ã£ãã
ã¢ã¸ã¥ã¼ã«ã¯mod_accessã¨mod_access_logã®ã¿èªã¿è¾¼ãããã«ããaccess_logã®ä¿åã¯ç¡å¹ã«ãã¦ããã
測å®ã«ã¯abï¼keepaliveã¯ãªãï¼ã使ç¨ããï¼ã¤ã®ãã·ã³ã®ãã¡ä¸æ¹ããµã¼ããä»æ¹ãã¯ã©ã¤ã¢ã³ãã¨ãããã¨ã§æ¸¬å®ããã
â»ãã®å ãä¸é¨åææ¡ä»¶ï¼ä¾ï¼gccã®æé©åãªãã·ã§ã³ï¼ãªã©ã«é£ããããæ£ç¢ºãªæ¸¬å®ã§ã¯ãªããã¨ããäºæ¿é¡ãããã
OProfileã使ã£ããã®ã®æ
£ãã¦ããªãããããããããçµå±ã®ã¨ããåã«ãªã£ã¦ãã¾ã£ããããã¯ãæªããã®ã¯GentooãHardenedã§ããããã§ã¯ãªããã¨æããã
ããã§ãGentooãã·ã³ã®chrootç°å¢ä¸ã«ææ°ã®ï¼Hardenedãããªãï¼Gentooã®stage3ï¼ç°¡åã«è¨ãã°ãGentooã®ãã¤ããªå³å¸ç°å¢ï¼ãå
¥ãã¦ãããã«lighttpdãã¤ã³ã¹ãã¼ã«ãããã§è©¦ãã¦ã¿ãã¨ã»ã»é©å½ãªã®ã«ãããããããä¸æ°ã«2800->3100 requests per second!
chrootä¸ã®Gentooã¨å¤ã®Hardened Gentooã¨ã§ã¯ãgccã®ãã¼ã¸ã§ã³ãHardenedæ©è½ï¼Stack Smashing Protectorã¨PIEï¼ã®æç¡ãªã©ãéãããä¸æ¦ã«ã¯è¨ããªãããã©ããOProfileã®çµæãè¦ãéãã§ã¯ãglibcã®Hardenedãä½ã¨ãªãéããããªæ°ãããã»ã»ã»ã
ããã§ãchrootä¸ã®ï¼Hardenedã§ãªãï¼glibcãquickpkgã§åºãã¦ããããchrootã®å¤ã®Hardened Gentooã«ã¤ã³ã¹ãã¼ã«ãã¦ã¿ãï¼glibcã®ãã¼ã¸ã§ã³ã¯ã¨ãã«2.8_p20080602-r1ï¼ãã§ãab -n 5000 -c 100ãæ®å¿µãªãã2800 requests per secondãå¤åç¡ãã»ã»ã»ã
ããã«ãï¼Hardened gccã§ã³ã³ãã¤ã«ããã¦ããªãï¼lighttpdãquickpkgã§åºãã¦ã¤ã³ã¹ãã¼ã«ããã¨ãããã¤ãã«3100 requests per secondã«ãªã£ãã
glibcãããlighttpdæ¬ä½ãæªãããªã£ãã®ã§ãå
ã»ã©éHardendçã®glibcãã¤ã³ã¹ãã¼ã«ããã®ã§ãHardenedçglibcã«æ»ãã¦è©¦ãã¦ã¿ãã3100è¿ãrequests per secondãããã£ãã
å°ãªãã¨ãä»åHardened Gentooãã·ã³ã«å ¥ã£ã¦ããlighttpdæ¬ä½ã¯é ãã£ãã®ã ã»ã»ã»ã
ãããããTCP: time wait bucket table overflowãã¨ãããã°ãåãåºãã¾ãã£ã¦ããªããããCentOSã®lighttpdã300ã»ã©ä¸åã£ã¦3400 requests per secondã ã
ããä¸ã¤å½±é¿ãã¦ãããªãã®ã¯ãGentooã«ã¤ã³ã¹ãã¼ã«ããã¦ãããHardenedãªKernelã ã
ãªãã·ã§ã³ãã»ã¨ãã©åãã«ãã¦Hardenedã§ãªãKernelãã³ã³ãã¤ã«ããå
ã»ã©chrootä¸ã«å
¥ããæ°ããï¼Hardenedã§ãªãï¼Gentooç°å¢ãèµ·åãã¦ã¿ããã¤ã¾ããglibcãgccããlighttpdæ¬ä½ããHardenedã®æ¯ãããã£ã¦ããªãã
çµæã»ã»ã»3200 requests per secondãä¸åããããã ã£ããå
ã»ã©HardenedãªKernelã®chrootã®ãã¨ã§åãããã¨ãã¨ãã»ã¨ãã©å¤ãããªãã£ãã
ä»åº¦ã¯ãæ®éï¼ã®glibcã¨Kernelï¼ã«æ»ããHardened Gentooç°å¢ã§ãgccã®Hardenedæ©è½ããªãã«ãã¦ï¼gcc-configã§ãæ«å°¾ã«ãvanillaãã¨æ¸ããã¦ãããã®ãé¸æããï¼ãlighttpdãã³ã³ãã¤ã«ãã¦ã¤ã³ã¹ãã¼ã«ãã¦ã¿ãã
2800 requests per secondã¨ãªã£ãã2800ã¨ããã°ãgccã®Hardenedãæå¹ã®ç¶æ
ã§ã³ã³ãã¤ã«ããlighttpdã¨å¤ãããªããã¤ã¾ããgccã®Hardenedæ©è½ãç¡å¹ã«ãã¦ãããªãã¦ããå¤åããã¾ããªãã£ãã®ã ï¼
æå¾ã«ãgccã®ãã¼ã¸ã§ã³ã«ç®ãã¤ãããCentOS 5.3ããä»åchrootç°å¢ä¸ã«å
¥ããéHardenedãªGentoo Linuxããgcc-4ã§ã³ã³ãã¤ã«ããã¦ããããã§ãã£ãï¼/lib/libc.so.6ãå®è¡ããã¨ãã©ããªç°å¢ã§ã³ã³ãã¤ã«ããããããããï¼ã
ããããHardened Gentooã§ã¯ã¾ã gccã®ãã¼ã¸ã§ã³4以ä¸ã¯ãã¹ãä¸ã«ãªã£ã¦ãã¦ãï¼Hardenedããããå½ã¦ãï¼gcc-3ã使ã£ã¦ããã
ãããããããªããã¨ãããã¨ã§ããACCEPT_KEYWORDS=~x86 emerge -1 gccãï¼ãã³ãã¯-1ããã-uãæ£ããã®ããï¼ã¨ãã¦ããã¹ãä¸ã®gcc-4.3.3-r2ï¼Hardenedæå¹ï¼ãã¤ã³ã¹ãã¼ã«ããlighttpdãã³ã³ãã¤ã«ããã
ãã®çµæ3000 requests per secondãããã«ãgcc-4ã«ããã¨ããªãæ§è½ãåä¸ãããã¨ãããã£ããããããç¸å¤ããã3200ã«ããå±ãã¦ããªãã
çµå±ããªãHardened Gentooãã·ã³ã®lighttpdãé
ãã®ãã¯ãã¯ã£ãããã¦ããªãããããããããglibcãgcc以å¤ã«ãå½±é¿è¦ç´ ãããã®ãããããªãããããããã ãã¯è¨ãããæ®éã®Gentooã¨Hardenedã®Gentooãï¼lighttpdã§ï¼æ¯ã¹ãã¨ããã¾ã大ããªéãã®éãã¯ã§ãªãã¨ãããã¨ã ã
ããã¦ãgcc4ã¯gcc3ã«æ¯ã¹ã¦ãï¼ããã©ã«ãã®æé©åãªãã·ã§ã³ãéãã®ãããããªããï¼ã大ããæ§è½ãæ¹åããããã ã
å°ãåã«æ¸ããä¸ã«ãã¡ã¢æ¸ãã«ãªã£ã¦ãã¾ã£ãã®ã§ãä¿®æ£ãã¦è¡ãããã¨æãã
ä»åã¯ãããã¾ã§ãã»ï½ã»