• 服务器配置 隐藏apache和php的版本


       第一个隐藏apache和php版本的经典,隐藏apache和php版本是服务器管理人员和程序员必回的,多的不说了,现在我们就开始自己动 手学习怎样隐藏apache版本和隐藏php版本吧!其实隐藏apache版本和php版本很简单,简单的就是两句话,那为什么我还要写这么多呢?那是因 为我写了很多废话,好了,我们现在进入正题,开始学习隐藏apache和php版本了,O(∩_∩)O哈哈哈~

           第一讲开拍:
           隐藏apache和php的版本信息,web server避免一些不必要的麻烦,可以把apache和php的版本信息不显示
    隐藏 Apache 版本信息

    /etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf

    ServerTokens ProductOnly
    ServerSignature Off

    重启 apache
    现在 http 头里面只看到:
    Server: Apache

    隐藏 PHP 版本
    php.ini

    expose_php On
    改成
    expose_php Off

    重启apache后,php版本在http头中隐藏了。

    详解 :

    为了防止某些别有用心的家伙窥视我们的服务器,应该做些什么.
    我们来看一下相关的2个参数,分别为ServerTokens和ServerSignature,通过控制这2个阀门应该就能起到一些作用,比如我们可以在配置文件中这么写:
    ServerTokens Prod
    ServerSignature Off

    ServerTokens
    用于控制服务器是否相应来自客户端的请求,向客户端输出服务器系统类型或内置模块等重要的系统信息。 在主配置文件中提供全局控制默认阀值为"Full"(ServerTokens Full),所以,如果你的Linux发行版本没有更改过这个阀值的话,所有与你的系统有关的敏感信息都会向全世界公开。比如RHEL会将该 阀值更改为"ServerTokens OS",而Debian依然使用默认的"Full"阀值
    以apache-2.0.55为例,阀值可以设定为以下某项(后面为相对应的Banner Header):
    Prod >>> Server: Apache
    Major >>> Server: Apache/2
    Minor >>> Server: Apache/2.0
    Minimal >>> Server: Apache/2.0.55
    OS >>> Server: Apache/2.0.55 (Debian)
    Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b

    ServerSignature
    控制由系统生成的页面(错误信息,mod_proxy ftp directory listing等等)的页脚中如何显示信息。

    可在全局设置文件中控制,或是通过.htaccess文件控制
    默认为"off"(ServerSignature Off),有些Linux发行版本可能会打开这个阀门,比如Debian在默认的虚拟主机上默认将这个阀门设置为开放
    全局阀门的阀值会被虚拟主机或目录单位的配置文件中的阀值所覆盖,所以,必须确保这样的事情不应该发生 .

    第二讲开拍:嘿嘿

    Apache服务器走到那里,unix/linux就跟到那里,这足以说明在WEB服务器领域Apache的优良性能与市场占有率
    这今天互联网的大环境下,web服务已经成为公司企业必不可少的业务,大多数的安全问题也跟随而来,攻击重点也转移为web攻击,许多web与颇有价值的客户服务与电子商业活动结合在一起,这也是吸引恶意攻击重要原因。
    先来了解下web所面临的安全风险
    HTTP拒绝服务攻击
    攻击者通过某些手段使服务器拒绝对http应答,这使Apache对系统资源(cup时间与内存)需求巨增,最终造成系统变慢甚至完全瘫痪,Apache服务器最大的缺点是,它的普遍性使它成为众矢之的,Apache服务器无时无刻不受到DoS攻击威胁,主要有下边几种
    1.数据包洪水攻击
    一种中断服务器或本地网络的方法是数据包洪水攻击,它通常使用internet控制报文协议(ICMP,属于网络层协议)
    包 或是udp包,在最简单的形式下,这些攻击都是使服务器或网络负载过重,这意味这攻击者的网络速度必须比目标主机网络速度要快,使用udp包的优势是不会 有任何包返回到黑客的计算机(udp效率要比tcp高17倍),而使用ICMP包的优势是攻击者能让攻击更加富与变化,发送有缺陷的包会搞乱并锁住受害者 的网络,目前流行的趋势是攻击者欺骗服务器,让其相信正在受来自自身的洪水攻击
    2.磁盘攻击
    这是一种很不道德的攻击,它不仅影响计算机的通信,还破坏其硬件,伪造的用户请求利用写命令攻击目标计算机硬盘,让其超过极限,并强制关闭,结局很悲惨
    3.路由不可达
    通常DoS攻击,集中在路由器上,攻击者首先获得控制权并操纵目标机器,当攻击者能更改路由表条目时候,会导致整个网络无法通信,这种攻击很阴险,隐蔽,因为网络管理员需要排除的网络不通原因很多,其中一些原因需要详细分辨
    4.分布式拒绝服务攻击
    这 也是最具有威胁的DDoS攻击,名称很容易理解,简单说就是群欧,很多客户机同时单条服务器,你会发现你将伤痕累累,Apache服务器特别容易受到攻 击,无论是DDos还是隐藏来源的攻击,因为Apache无处不在,特别是为Apache特意打造的病毒(特选SSL蠕虫),潜伏在许多主机上,攻击者通 过病毒可以操纵大量被感染的机器,对特定目标发动一次浩大的DDoS攻击,通过将蠕虫散播到大量主机,大规模的点对点攻击得以进行,除非你不提供服务,要 不然几乎无法阻止这样的攻击,这种攻击通常会定位到大型的网站上。
    缓冲区溢出,这种攻击很普遍,攻击者利用CGI程序编写一些缺陷程序偏离正常的流程,程序使用静态的内存分配,攻击者就可以发送一个超长的请求使缓冲区溢出,比如,一些perl编写的处理用户请求的网关脚本,一但缓冲区溢出,攻击者就可以执行恶意指令
    非法获取root权限
    如 果Apache以root权限运行,系统上一些程序的逻辑缺陷或缓冲区溢出漏洞,会让攻击者很容易在本地系统获取linux服务器上的管理者权限,在一些 远程情况下,攻击者会利用一些以root身份执行的有缺陷的系统守护进程来取得root权限,或利用有缺陷的服务进程漏洞来取得普通用户权限,以远程登 陆,进而控制整个系统。
    这边这些都是服务将会遇到的攻击手段,下边来说,如何打造安全的Apache服务器
    如果你能遵守下边这些建议,那么你将得到一台相对安全的apache服务器
    一:勤打补丁
    你必须要相信这个是最有用的手段,缓冲区溢出等漏洞都必须使用这种手段来防御,勤快点相信对你没有坏处
    在http:www.apache.org上最新的changelog中都写有:bug fix ,security bug fix的字样,做为负责任的管理员要经常关注相关漏洞,及时升级系统添加补丁。使用最新安全版本对加强apache至关重要
    二:隐藏和伪装Apache的版本
    通常,软件的漏洞信息和特定版本是相关的,因此,版本号对黑客来说是最有价值的。
    默认情况下,系统会把Apache版本模块都显示出来(http返回头)。如果列举目录的话,会显示域名信息(文件列表正文),去除Apache版本号的方法是修改配置文件/etc/httpd.conf。找到关键字ServerSignature,将其设定为:
    ServerSignature Off
    ServerTokens Prod

    然后重新启动Apache服务器。
    通过分析Web服务器的类型,大致可以推测出操作系统的类型,比如,Windows使用IIS来提供HTTP服务,而Linux中最常见的是Apache。

    转载地址 http://www.path8.net/tn/archives/5074

  • 相关阅读:
    线性回归与梯度下降法[二]——优化与比较
    matlab基础教程——根据Andrew Ng的machine learning整理
    dapper-dot-net用法及其扩展系列
    线性回归与梯度下降法[一]——原理与实现
    浅析 if __name__ == "__main__":
    Python中集合数据类型之间的'交'、'差'、'并'、'补'的表达方式
    Python中 'is' 跟 '==' 的区别
    Python中的逻辑运算符:'and'与'or'的用法
    Python2跟Python3的区别
    编程语言分类及区别
  • 原文地址:https://www.cnblogs.com/jackspider/p/2802720.html
Copyright © 2020-2023  润新知