1、修改防火墙, 保留22(SSHD)、8081(APACHE)、80
关闭端口443(HTTPS)、3306(MYSQL)、8080、8088、53、123
2、针对PHP的BUG和安全漏洞,只有升级版本一途,经过调查和对比,确认使用最新的安全更新版本PHP-5.6.15
2.1 wget http://cn2.php.net/distributions/php-5.6.15.tar.gz
2.2 tar zxvf php-5.6.15.tar.gz
2.3 cd php-5.6.15.tar.gz
2.4 //备份原有PHP
mv /usr/local/php /usr/local/php5.3.28
2.5 ./configure --prefix=/usr/local/php -with-apxs2=/usr/local/apache/bin/apxs --disable-ipv6 --enable-exif --enable-gd-native-ttf --enable-intl --enable-mbstring --enable-mod-charset --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-zip --with-bz2 --with-curl --with-freetype-dir --with-jpeg-dir --with-gd --with-gettext --with-mhash --with-iconv-dir --with-libxml-dir --with-mcrypt --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --with-openssl-dir --with-openssl --with-pcre-dir --with-pcre-regex --with-png-dir --with-pear --with-zlib -with-t1lib=/usr/share/t1lib --enable-bcmath
2.6 make && make install
2.7 配置文件恢复和文件权限调整等
3、mysql暂时关闭主从,增加安全策略:
bind-address = 127.0.0.1
4、升级OpenSSL到1.0.2d
wget https://www.openssl.org/source/openssl-1.0.2f.tar.gz
tar -zxvf openssl-1.0.2f.tar.gz
cd openssl-1.0.2f
./config shared zlib-dynamic
make && make install
重命名原来的openssl命令
mv /usr/bin/openssl /usr/bin/openssl.old
重命名原来的openssl目录
mv /usr/include/openssl /usr/include/openssl.old
将安装好的openssl 的openssl命令软连到/usr/bin/openssl
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
将安装好的openssl 的openssl目录软连到/usr/include/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
修改系统自带的openssl库文件,如/usr/local/lib64/libssl.so(根据机器环境而定) 软链到升级后的libssl.so
ln -s /usr/local/ssl/lib/libssl.so /usr/local/lib64/libssl.so
执行命令查看openssl依赖库版本是否为1.0.1g:
strings /usr/local/lib64/libssl.so |grep OpenSSL
在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
使修改后的/etc/ld.so.conf生效
ldconfig -v
查看现在openssl的版本是否是升级后的版本
openssl version
5、apache配置文件中,去掉服务器版本的相关信息
ServerSignature Off
ServerTokens Prod
6、 SSH配置文件中,去掉服务器版本的相关信息
vi /etc/ssh/sshd_config
增加一行:
Banner /etc/ssh/ssh_login_banner (文件ssh_login_banner内只有一行文本:welcome)
7、防火墙调整
#update SSH @2015-11-1 23:03:19 By Ty1921
#-A INPUT -p tcp -s 172.16.0.0/16 --dport 55555 -j ACCEPT
#-A OUTPUT -p tcp --sport 55555 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -s 172.16.XXX.XXX -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -s 172.16.XXX.XXX -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -m limit --limit 3000/minute --limit-burst 3000 -j ACCEPT
8、/etc/hosts.allow和/etc/hosts.deny调整
sshd:172.16.XXX.XXX:allow
sshd:172.16.XXX.XXX:allow
sshd:172.16.XXX.XXX:allow
service xinetd restart