常用中间件加固

释放双眼,带上耳机,听听看~!

网安引领时代,弥天点亮未来  

 

什么是中间件?

 中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。广泛应用在操作系统、网络和数据库之上,应用软件的下层,作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

中间件如何加固?

1

Apache

1.1禁止目录浏览

备份httpd.conf配置文件,修改内容:

Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all

重启服务

1.2修改错误页面

ErrorDocument 400 /custom400.htmlErrorDocument 401 /custom401.htmlErrorDocument 403 /custom403.htmlErrorDocument 404 /custom404.htmlErrorDocument 405 /custom405.htmlErrorDocument 500 /custom500.html

其中Customxxx.html 为要设置的错误页面。

重新启动 Apache 服务生效

1.3隐藏Apache版本号

备份httpd.conf 文件,修改内容:

ServerSignature OffServerTokens Prod

重新启动 Apache 服务

1.4限制IP访问

备份httpd.conf配置文件,修改内容:

Options FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from allAllow from 192.168.222.0/24

只允许从192.168.222.0/24 IP段内的用户访问,一般在限制后台访问时用到

1.5Apache 降权

备份httpd.conf文件

修改:

User nobodyGroup# -1

重启 APACHE

1.6限制请求消息长度

备份httpd.conf配置文件,修改内容:

LimitRequestBody 102400

重启apache生效

2

Nginx

2.1日志配置

(1)备份nginx.conf 配置文件。

修改配置,按如下设置日志记录文件、记录内容、记录格式,

添加标签为main的log_format格式

(http标签内,在所有的server标签内可以调用):

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';

(2)在server标签内,定义日志路径

access_log logs/host.access.log main

保存,然后后重启nginx服务

2.2禁止目录浏览

份nginx.conf配置文件。

编辑配置文件,HTTP模块添加如下一行内容:

autoindex off;

保存,然后后重启nginx服务

2.3限制目录执行权限

备份nginx.conf配置文件。

编辑配置文件,在server标签内添加如下内容:

#示例:去掉单个目录的PHP执行权限location ~ /attachments/.*\.(php|php5)?$ {deny all;}
#示例:去掉多个目录的PHP执行权限location ~/(attachments|upload)/.*\.(php|php5)?$ {deny all;}

保存,然后后重启nginx服务

需要注意两点:

1、以上的配置文件代码需要放到 location ~ .php{…}上面,如果放到下面是无效的;

2、attachments需要写相对路径,不能写绝对路径

2.4错误页面重定向

备份nginx.conf配置文件。

修改配置,在http{}段加入如下内容

http {...fastcgi_intercept_errors on;error_page 401 /401.html;error_page 402 /402.html;error_page 403 /403.html;error_page 404 /404.html;error_page 405 /405.html;error_page 500 /500.html;...}修改内容:ErrorDocument 400 /custom400.htmlErrorDocument 401 /custom401.htmlErrorDocument 403 /custom403.htmlErrorDocument 404 /custom404.htmlErrorDocument 405 /custom405.htmlErrorDocument 500 /custom500.html

其中401.html、402.html、403.html、404.html、405.html、500.html 为要指定的错误提示页面。

保存,重启 nginx 服务生效

2.5隐藏版本信息

备份nginx.conf配置文件。

编辑配置文件,添加http模块中如下一行内容:

server_tokens off;

保存,然后后重启nginx服务。

2.6 限制HTTP请求方法

备份nginx.conf配置文件。

编辑配置文件,添加如下内容:

if ($request_method !~ ^(GET|HEAD|POST)$ ) {return 444;}

保存,然后后重启nginx服务。

备注:只允许常用的GET和POST方法,顶多再加一个HEAD方法

2.7 限制IP访问

备份nginx.conf配置文件。

编辑配置文件,在server标签内添加如下内容:

location / {deny 192.168.1.1; #拒绝IPallow 192.168.1.0/24; #允许IPallow 10.1.1.0/16; #允许IPdeny all; #拒绝其他所有IP}

保存,然后后重启nginx服务。

2.8 控制超时时间

备份nginx.conf配置文件。

编辑配置文件,具体设置如下:

client_body_timeout 10; #设置客户端请求主体读取超时时间client_header_timeout 10; #设置客户端请求头读取超时时间keepalive_timeout 5 5; #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间send_timeout10; #指定响应客户端的超时时间

保存,然后后重启nginx服务。

2.9 Nginx降权

备份nginx.conf配置文件。

编辑配置文件,添加如下一行内容:

user nobody;

保存,然后后重启nginx服务。

2.10 防盗链

备份nginx.conf配置文件。

编辑配置文件,在server标签内添加如下内容:

location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip)$ { valid_referers none blocked server_names *.nsfocus.com http://localhost baidu.com; if ($invalid_referer) { rewrite ^/ [img]http://www.XXX.com/images/default/logo.gif[/img]; # return 403; }}

保存,然后后重启nginx服务

3

Tomcat

寻找路径,使用find命令查找tomcat

3.1Tomcat控制台用户配置

备份配置文件,修改tomcat/conf/tomcat-user.xml配置文件,将账号进行注释,

若业务系统需要使用tomcat管理后台进行业务代码发布和管理,建议修改默认admin用户,如下:

3.2日志审计

备份配置文件,参考配置操作

编辑tomcat/conf/server.xml配置文件,在标签中增加记录日志功能

将以下内容的注释标记取消

3.3 自定义404错误页面

(1) 在网站根目录新建noFile.htm文件

(2) 查看并启用tomcat/conf/web.xml文件中下列代码:

404error-code>/noFile.htmlocation>error-page>

3.4 关闭目录浏览

编辑tomcat/conf/web.xml配置文件

listingsparam-name>trueparam-value>init-param>

把true改成false,并重新启动tomcat服务

3.5 使用安全的HTTP请求

编辑tomcat/conf/web.xml配置文件,添加或修改文件如下所示:

  /*url-pattern> PUThttp-method> DELETEhttp-method> OPTIONShttp-method> TRACEhttp-method> web-resource-collection>  auth-constraint>security-constraint> BASICauth-method>login-config>

3.6限制IP访问

打开tomcat/conf/server.xml,添加下面一行,重启服务器即可:

此行放在之前,只允许本地访问。

例如:

只允许192.168.1.1访问:

只允许192.168.1.0/24访问

3.7 登陆超时退出

备份配置文件,参考配置操作

编辑tomcat/conf/server.xml配置文件,修改超时时间为300秒

3.8 更改默认端口

(1)修改tomcat/conf/server.xml 配置文件,更改默认管理端口到8888

"8888"    maxHttpHeaderSize="8192" maxThreads="150"  minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"connectionTimeout="300" disableUploadTimeout="true" />

重启 tomcat 服务。

 

中间件知识分享完了

喜欢别忘了关注我们哦~

学海浩茫,

予以风动,

必降弥天之润!

   弥 天

安全实验室

本文源自微信公众号:弥天安全实验室

人已赞赏
安全工具

Windows 安全事件排查

2019-10-18 17:17:48

安全工具

疑似猎聘网求职简历数据泄露

2019-10-21 14:53:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索