他们Web合作开发常用的LNMP构架:
是Linux+nginx+MySQL+PHP,这两个应用软件都是开放源码应用软件,对民营企业而言生产成本较低;即使开放源码,因此安全可靠性变得至关重要,不光有等保明确要求的工程项目,上面是许多常用的配置:
1.伺服器:
1.1Root公钥:
不增设许多难被猜到的公钥,如联系电话、过生日、电话号码等;
公钥许多于8位,最合适包涵拉丁字母、位数、标点符号,所以要不定期修正公钥;
尽可能不采用root帐号展开操作方式和运转流程,其它帐号职权也要最优化;
2.MariaDB:
MariaDB是MySQL的两个组成部分,开放源码完全免费;centos控制系统的常用操作方式命令:
加装:yum install mariadb-server mariadb-y
启动:systemctl start mariadb
增设开启:systemctl enable mariadb
3.Php:
Php加装,假如间接用yum源加装,PHP的版比较发达,因此明确要求较低的情景他们通常他们校对加装;
PHP做为C语言,须要不光注意的安全可靠各方面许多,
暗藏正式版:
上面是常用的允诺回到头重要信息:
包涵php的伺服器回到
此回到包涵了php版重要信息,
修正php.ini ,
expose_php = Off , 重启nginx后,回到如下:
不包涵php的伺服器回到
屏蔽报错重要信息:
如下代码,echo date(); 运转报错
警告错误
修正php.ini实用性 display_errors = Off
重新运行,不会有任何报错重要信息,错误重要信息被屏蔽;
Httponly: 主要用来防治xss问题
xss的概念就不用多说了,它的危害是极大的,这就意味着一旦你的网站出现xss漏洞,就可以执行任意的js代码,最可怕的是
Php.ini session.cookie_httponly=true ,增设httponly后,js脚本就不能取到cookie了,
这个功能要慎用,即使你用到的js和其它许多库中可能须要cookie;
禁用函数:
通过disable_functions=phpinfo,curl_exec ,可以把难出现安全可靠问题的函数禁用;
开启日志:
通过日志可以跟踪到许多控制系统运转中的问题,php.ini中的Log_errors, syslog,可以开启控制系统日志;
时间增设:
时间上的误差在运维上会产生安全问题,如分析日志;所有伺服器的时区、时间增设都要正确;
PHP的时区增设,在php.ini中,
假如不增设,默认为UTC事件,也被成为格林威治标准时间(Greenwich Mean Time,GMT),都与英国伦敦的本地时间相同。而北京正好位于时区的东八区,早于UTC8个小时,北京时间增设
代码里增设:
date_default_timezone_set(‘PRC’);
php.ini实用性
date.timezone = PRC
4.nginx:
nginx做为现在最流行的web代理伺服器,许多站点都在用,因此nginx的安全可靠也非常重要,为了暗藏伺服器重要信息,须要加装校对时先修正源码,
src/core/nginx.h –修正正式版重要信息
其它版名等重要信息也在此文件做相应的修正,
也可以通过实用性修正,
Error_log logs/error.log; 错误日志
http{
…
Server_tokens off; 暗藏正式版
…
Server{
Allow ip; 禁止的ip地址或地址段
Deny all;
}
}
采用https访问,现在采用http的协议会被浏览器提示不安全可靠;
访问伺服器时,伺服器会通过http回到头回到伺服器的名称、版等重要信息,这就给别有用心的人根据版查找漏洞,对伺服器攻击提供了重要信息,所有他们最合适把这些重要信息都暗藏起来;
5.Apache:
暗藏伺服器版重要信息:
修正实用性http.conf:
ServerSignature Off
ServerTokens Prod
关闭trace功能,根据trace回到的重要信息可以看到伺服器的许多重要信息,
Apache
TraceEnable Off
禁止遍历目录:
Options -Indexes FollowSymLinks
日志开启: