too many open files

too many open files

查看限制数设置

查看设置

查看是哪个占用的较多句柄

第一列为数量,第二列为进程号
可以使用ps -ef |grep pid 查看进程名,pwdx查看进程路径

glibc CVE-2015-7547 漏洞

开源安全研究团队披露了Glibc getaddrinfo溢出漏洞,该漏洞影响范围较大,涉及当前主要的Linux发行版。据Google 博客中所述,该漏洞应该是可以绕过内存防护技术,从而形成代码执行漏洞。
以下版本均受影响

漏洞危害
Glibc组件包含了大量标准库,这些标准库会被众多的程序调用。其中 libresolv库用来实现主机名与IP地址之间转换的功能。作为glibc包含的组件之一,nss_dns模块通过libresolv库进行DNS查询,从而实现Name Service Switch(NSS)服务。
Libresolv库中的代码在执行A/AAAA 双重DNS查询时会触发基于堆栈的缓冲区溢出漏洞。远程攻击者可以通过创建特殊的DNS响应,造成libresolv崩溃或有可能以运行库用户的身份和权限执行代码;调用函数send_dg(UDP查询)和send_vc(TCP查询)时会触发缓冲区溢出。
漏洞分析
通过对安全漏洞进行分析,glibc通过alloca函数在堆栈中保有2048字节。响应DNS查询请求的函数为_nss_dns_gethostbyname4_r,然后继续调用send_dg和send_vc两个函数。如果响应大于2048字节,就会从堆栈分配一个新的缓冲区并更新所有的信息,包括缓冲区指针、新的缓冲区大小和响应包大小。在某些情况下,这一过程会造成堆栈缓冲之间的不匹配,并会再次分配新的堆栈。最终导致堆栈缓冲将全部被用于存储DNS响应,所以该行为会导致堆栈缓冲的溢出。
验证方法

DNS 解析为 127.0.0.1

1 重启服务

2 执行操作

另一个终端执行./CVE-2015-7547-client ,若含有漏洞,会造成Segmentation Fault。

采取措施:
el7 更新地址

el6 更新地址

参考:

升级后:使用

查看是否使用新的glibc。