nginx 加固php
禁止顯示版本html
server_tokens off;
或者經過源碼編譯的時候修改
/src/core/nginx.h
#define NGINX_VERSION "1.9.15"
#define NGINX_VER "nginx/" NGINX_VERSIONnginx
禁止上傳目錄禁止php文件git
單個目錄
location ~ /upload/.*.(php|php5)?$ {
deny all;
}web
多個目錄
location ~ ^/(administrator|upload)/..(php)$ {
deny all;
}sql
禁止訪問全部目錄下的敏感文件apache
location ~. *.(sql|log|txt|rar|zip|sh|py|svn|git) {
deny all;
}tomcat
禁用沒必要要的HTTP方法安全
if ($request_method !~ ^(GET|HEAD|POST)$)
{
return 405;
}cookie
Nginx、php-fpm運行賬號及組爲nobody
Lua + nginx
tomcat加固
tomcat弱口令拿Shell
tomcat tomcat
admin 空
admin admin
admin 123456
補丁和漏洞管理
必須及時安裝與安全性相關的tomcat補丁
http://tomcat.apache.org/lists.html#tomcat-announce
設置Tomcat服務最小權限
useradd -s /sbin/nologin tomcat
/usr/lib/systemd/system/tomcat8.service
service下添加 User=tomcat Group=tomcat
chown -R tomcat:tomcat /usr/local/tomcat
網絡級限制
tomcat8上已經禁止全部,只容許本地訪問。
/usr/local/tomcat/webapps/manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteHostValve"
allow=".*.admins.domain.com"
/>
用戶管理
tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="123ccc" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
隱藏tomcat版本信息
修改$CATALINA_HOME/conf/server.xml,在Connector節點添加server字段
/usr/local/tomcat/lib/org/apache/catalina/util
關閉自動部署
在$CATALINA_HOME/conf/server.xml中的host字段
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
session超時
/conf/web.xml
<session-config>
<session-timeout>20</session-timeout>
</session-config>
啓用cookie的HttpOnly屬性CATALINA_BASE/conf/context.xml<Context useHttpOnly='true' .../>