基于Ubuntu 的LAMP 优化加固

很多朋友都喜欢用Ubuntu,很大原因是它安装LAMP非常简单,尽管默认安装的LAMP已经可以良好工作,但是系统管理员仍然可以找到一些优化加固的空间。

1、php加速

事实证明,php解释缓存可以提高php效率,apc/xcache/zendopcache等各个加速器原理都差不多,性能也相差不大,可以肯定是,php解释缓存,使用与不使用,性能相差数倍甚至更多。

apt-get install php-apc

2、php5-MySQL 模块精简

php5-mysql 软件包默认包含了3种mysql连接方式,分别是mysql,pdo_mysql和mysqli,

三者虽各有优劣,但你用到的肯定只有其中的一种,通常是mysql。

cd /etc/php5/conf.d/

mv mysqli.ini mysqli.ini.bak

mv pdo_mysql.ini pdo_mysql.ini.bak

mv pdo.ini pdo.ini.bak


3、隐藏apache和php的版本信息

sed -i 's/ServerTokens OS/ServerTokens Prod/g' /etc/apache2/conf.d/security

sed -i 's/ServerSignature On/ServerSignature Off/g' /etc/apache2/conf.d/security

sed -i '/expose_php/{s/On/Off/g}' /etc/php5/apache2/php.ini


4、安装mod_security

mod_security 是一个安全模块,可以防止多种攻击。

apt-get install libapache-mod-security

cd /etc/modsecurity/

cp modsecurity.conf-recommended modsecurity.conf 

5、设置压缩和浏览器缓存

压缩数据可提升吞吐量,设置浏览器缓存可减少请求数,反向提高apache性能。

cat /etc/apache2/httpd.conf

<IfModule mod_deflate.c>

<Location />

# Insert filter

SetOutputFilter DEFLATE

# Netscape 4.x has same problems...

BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems

BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine

# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48

# the above regex won't work. You can use the following

# workaround to get the desired effect:

BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# Don't compress images and other

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css

AddOutputFilterByType DEFLATE application/x-Javascript

# Make sure proxies don't deliver the wrong content

#Header append Vary User-Agent env=!dont-vary

</Location>

</IfModule>

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/* "access plus 1 month"

ExpiresByType text/css "access plus 1 month"

ExpiresByType text/javascript  "access plus 1 month"

ExpiresByType application/x-javascript "access plus 1 month"

</IfModule>

<IfModule mod_headers.c>

Header unset Server

Header unset X-Powered-By

</IfModule>

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置

CentOS 5.9下编译安装LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12)

RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用PHPWind

LAMP源码环境搭建WEB服务器Linux+Apache+MySQL+PHP

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/5863dbf93e6e362afb6219697ebcf8f2.html