热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安全基线_中间件安全基线配置

篇首语:本文由编程笔记#小编为大家整理,主要介绍了中间件安全基线配置相关的知识,希望对你有一定的参考价值。Apache纵观Apache的漏洞史

篇首语:本文由编程笔记#小编为大家整理,主要介绍了中间件安全基线配置相关的知识,希望对你有一定的参考价值。



Apache

纵观 Apache的漏洞史,它曾经出现过许多次高危漏洞。但这些高危漏洞,大部分是由 Apache的 Module造成的, Apache核心的高危漏洞几乎没有。 Apache有很多官方与非官方的 Module,默认启动的 Module出现过的高危漏洞非常少,大多数的高危漏洞集中在默认没有安装或 enable的 Module上。因此,检Apache安全的第一件事情,就是检查 Apache的 Module安装情况,根据“最小权限原则”,应该尽可能地减少不必要的 Module,对于要使用的 Module,,则检查其对应版

本是否存在已知的安全漏洞。定制好了 Apache的安装包后,接下来需要做的,就是指定 Apache进程以单独的用户身份行,这通常需要为 Apache单独建立一个 user/group需要注意的是, Apache以rot身份或者 admin身份运行是一个非常糟糕的决定。这里的admin身份是指服务器管理员在管理机器时使用的身份。这个身份的权限也是比较高的,因为管理员有操作管理脚本、访问配置文件、读写日志等需求。

使用高权限身份运行 Apache的结果可能是灾难性的,它会带来两个可怕的后果:

(1)当黑客入侵Web成功时,将直接获得一个高权限(比如root或 admin)的shell

(2)应用程序本身将具备较高权限,当出现bug时,可能会带来较高风险,比如删除本地重要文件、杀死进程等不可预知的结果

比较好的做法是使用专门的用户身份运行 Apache,这个用户身份不应该具备 shell,它唯一的作用就是用来运行Web应用。以什么身份启动进程,在使用其他Wb容器时也需要注意这个间题,很多P网站的管理员喜欢将 Tomcat配置为root身份运行,导致的后果就是黑客们通过漏洞得到了 webshell后,发现这个 webshell已经具备root权限了

Apache还提供了一些配置参数,可以用来优化服务器的性能,提高对抗DDOS攻击的能力。我们曾在“应用层拒绝服务攻击”一章中提到过这些参数:

LimitRequestFieldsize

Limi tRequestline

AcceptFilter

MaxRequestworkers

在 Apache的官方文档中,对如何使用这些参数给出了指导。这些参数能够起到一定的作用,但单台机器的性能毕竟有限,所以对抗DDOS不可依赖于这些参数,但聊胜于无。最后,要保护好 Apache Log。一般来说,攻击者入侵成功后,要做的第一件事情就是清除入侵痕迹,修改、删除日志文件,因此 access log应当妥善保管,比如实时地发送到远程的 syslog服务器上。


 


 jBoss远程命令执行

jBoss是J2EE环境中一个流行的web容器,但是jBos在默认安装时提供的一些功能却不太安全,如果配置不得当,则可能直接造成远程命令执行。由于jBos在默认安装时会有一个管理后台,叫做 JMX-Console,它提供给管理员一些强大的功能,其中包括配置 MBeans,这同样也会为黑客们打开方便之门。通过8080端口(默认安装时会监听8080端口)访问/ jmx-console能够进入到这个管理界面。默认安装时访间JMX- Console是没有任何认证的。

 

在 JMX-Console中,有多种可以远程执行命令的方法。最简单的方式,是通过JMX- Console为黑客大开方便之门,通过简单的“ Google hacking”,可以在互联网上找到很多开放了 JMX-Console的网站,其中大多数是存在漏洞的。

 

因此出于安全防御的目的,在加固时,需要删除 JMX-Console后台,事实上, jBoss的使用完全可以不依赖于它。要移除 IMX-Console,只需要删除 jmx-consolewar和 web-console war即可,它们分别位于 SJBOSS HOME/server/all/deploy和 ISJBOSS HOME/server/default/deploy目录下。使用如下命令删除



cd SJBOSS HOME

bin/shutdown. sh

mv ./server/all/deploy/imx-consle war jmx-console-all bak

mv ./server/default/deploy/jmx-console war jmx-console. war-default-bak

mv ./server/all/deploy/management/console-mgr. sar/web-console warweb-console-allbak

mv ./server/de fault/deploy/management/console-mgr sar/web-console war

web-console-default bak

bin/run.sh

如果出于业务需要不得不使用 JMX-Console,则应该使用一个强壮的密码,并且运行JMX-Console的端口不应该面向整个 Internet开放。


Tomcat远程命令执行

Apache Tomcat与 jBoss一样,默认也会运行在8080端口。它提供的 Tomcat Manager的作用与 IMX-Console类似,管理员也可以在 Tomcat Manager中部署war包.



但值得庆幸的是, Tomcat Manager布署war包需要有 manager权限,而这一权限是在配置

文件中定义的。一个典型的配置文件如下:

root@enitrogen conf): cat tomcat-users, xml

 

root@ nitrogen conf]#


需要由管理员修改此文件,定义出 manager角色:

但是,像下面这种配置,就存在安全隐患了。

[rootgnitrogen conf]# cat tomcat -users. xml

crole rolename="tomcat"/>

 

 它直接将 tomcat用户添加为 manager角色,而 tomcat用户的密码很可能是一个默认密码tomcat,这种配置违背了“最小权限原则”,在 Tomcat后台可以直接上传war包:Tomcat管理后台上传war包处

当然也可以通过脚本自动化实现这一切。

 


 



推荐阅读
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 本文介绍了作者在开发过程中遇到的问题,即播放框架内容安全策略设置不起作用的错误。作者通过使用编译时依赖注入的方式解决了这个问题,并分享了解决方案。文章详细描述了问题的出现情况、错误输出内容以及解决方案的具体步骤。如果你也遇到了类似的问题,本文可能对你有一定的参考价值。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • Python使用Pillow包生成验证码图片的方法
    本文介绍了使用Python中的Pillow包生成验证码图片的方法。通过随机生成数字和符号,并添加干扰象素,生成一幅验证码图片。需要配置好Python环境,并安装Pillow库。代码实现包括导入Pillow包和随机模块,定义随机生成字母、数字和字体颜色的函数。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
author-avatar
手机用户2502907707
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有