标签: security

Web 服务器安全性矫枉过正?

我一直在做关于保护 linux web 服务器的“广泛”研究。除了所谓的“基础”(删除未使用的服务、强化 ssh、iptables 等)之外,包括反 rootkits (Tripwire) 和反病毒 (ClamAV) 是否明智?这些对于网络服务器来说是否太过分了?我知道这是一个非常模糊的问题,但我很好奇其他人的意见。

我未来的环境: - ubuntu 10.04 - fail2ban - nginx 0.8.x - php 5.3.x (suhosin, apc, memcached) - mongodb 1.6.x

可能的应用: - 网络服务 - 用户上传的网络应用程序(图片、pdf 等) - 典型网站(表格等)

如果您有任何其他提示,请随时添加!

谢谢

security linux tripwire clamav

9
推荐指数
1
解决办法
2357
查看次数

使用通配符域在 nginx 中设置 Access-Control-Allow-Origin

随着nginx我可以指定Access-Control-Allow-Origin使用像一个通配符*.mydomain.com?

它看起来像:

add_header Access-Control-Allow-Origin *.mydomain.com;
Run Code Online (Sandbox Code Playgroud)

谢谢。

security nginx http-headers

9
推荐指数
3
解决办法
2万
查看次数

Linux /etc/security/limits.conf 解释

任何人都可以解释(或知道来源)提供有关limits.conf 中项目的详细信息吗?手册页没有提供太多细节。

例如它说:

rtprio 
maximum realtime priority allowed for non-privileged processes (Linux 2.6.12 and higher) 

priority 
the priority to run user process with (negative values boost process priority) 
Run Code Online (Sandbox Code Playgroud)

这些有什么不同?他们可以采取什么价值观?他们默认是什么?

有些项目是显而易见的,但我在哪里可以找到更好的解释(默认值、范围、它们的实际含义等):

data 
maximum data size (KB) 

fsize 
maximum filesize (KB) 

memlock 
maximum locked-in-memory address space (KB) 

cpu 
maximum CPU time (minutes) 

nice 
maximum nice priority allowed to raise to (Linux 2.6.12 and higher) values: [-20,19] 
Run Code Online (Sandbox Code Playgroud)

超过 CPU 时会发生什么?进程被杀死?只有一个进程或整个用户被禁止使用 CPU?这是一个会话还是每分钟的最长时间?

我试图找到答案,但我能找到的只是一个几乎没有提供任何细节的手册页。

security linux limits

9
推荐指数
1
解决办法
2万
查看次数

在哪里可以在第 2 层或第 3 层数据包中嵌入专有信息?

Citrix Netscaler 有一个有趣的属性,它将信息嵌入到发送到主机的 TCP 数据包中。此属性以这样一种方式回传给 Netscaler,Netscaler 可以使用它来确定这必须采用哪个虚拟服务器、主机和路由。

向主机回显专有信息的能力具有有趣的应用。

  • Citrix Netscaler 如何实现这一点(它在哪里填充位),以及数据包中的哪些其他位置 Netscaler(或类似设备)理论上可以填充数据?

  • 哪些设备会(或不会)允许此自定义数据原封不动地通过?

networking security routing tcp netscaler

9
推荐指数
1
解决办法
307
查看次数

我们如何指导我们的员工保护自己免受 Heartbleed 的伤害?

欢迎来到心血来潮之后的世界。我们已经修补了我们的服务器并正在更换我们的 SSL 证书。但仅仅因为我们的服务器是固定的,并不意味着互联网的其余部分是固定的。我们有员工,他们使用互联网交换信用卡号和登录凭据等机密。他们正在向我们寻求建议。

我们可以建议我们的客户使用Heartbleed 测试页面来查看他们想要访问的站点是否存在漏洞。如果一个站点返回正面,则不要与其交换机密。但是,如果一个网站没有不对Heartnet返回正数,然后根据情况可以是任意的:

  • 该站点从未有漏洞(好)
  • 该站点存在漏洞并已修复,但仍在使用可能已损坏的 SSL 证书(错误)
  • 该站点存在漏洞并已修复,并重新生成 SSL 证书但没有重新生成密钥(坏)
  • 该站点存在漏洞,修复了它,重新生成了密钥,并更换了 SSL 证书。(好的)

有没有什么办法,我们可以给我们的员工,他们输入他们的信用卡号码前到表单,告诉良好的从场景坏的呢?

我们如何指导我们的员工尽量减少他们接触受 Heartbleed 破坏的服务器的风险?

security heartbleed

9
推荐指数
1
解决办法
321
查看次数

如何配置 iptables 以便不将不需要的端口报告为已过滤

我想阻止其他人在 nmap 标准扫描(非特权)中看到我的端口被过滤。假设我打开了以下端口:22、3306、995 和配置如下的防火墙:

-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3306 -j DROP
-A INPUT -p tcp -m tcp --dport 995 -j DROP
Run Code Online (Sandbox Code Playgroud)

这是 nmap 扫描的结果:

[+] Nmap scan report for X.X.X.X

    Host is up (0.040s latency).
    Not shown: 90 closed ports

    PORT     STATE    SERVICE
    22/tcp   filtered ssh
    995/tcp  filtered pop3s
    3306/tcp filtered mysql
Run Code Online (Sandbox Code Playgroud)

它将这些端口显示为已过滤,因为我的服务器没有为 SYN 回复 RST。有没有办法修改这种行为?例如:如果 iptables 防火墙阻止了一个端口,则为 SYN 回复 RST,而不是保持沉默(不回复任何内容)?

security linux tcpip iptables tcp

9
推荐指数
2
解决办法
4669
查看次数

Asterisk 的 phoneprov 模块可以安全使用吗?

我正在使用 Ubuntu Server 16.04 打包的 Asterisk 13.1.0 来运行纯 VoIP 电话系统。Asterisk 有一个模块——phoneprov允许它模板化特定行的配置文件并从其内置的 HTTP 服务器提供它们。我想用它来配置我的 Polycom IP 电话,但我不知道如何安全地这样做。更复杂的是,我已经在使用内置的 HTTP 服务器进行 SIP over WebSockets。

据我所知,该phoneprov模块根本没有身份验证或授权机制。它似乎只是向任何询问的人提供任何文件。由于生成的配置文件包含注册为一行所需的所有凭据,因此可以向内置 HTTP 服务器发出 HTTP 请求的任何人都可以注册为通过phoneprov. 这似乎是一个太明显的安全问题,不可能存在于像 Asterisk 这样备受瞩目的软件中,而在文档中甚至(据我所知)在整个 Internet 上都没有看到它。我在这里错过了什么吗?

TLS 相互认证

至少在我看来,验证用于配置的硬件 IP 电话的理想方法是通过 TLS 客户端证书。几乎所有主要制造商的手机都带有由私有 CA 签署的客户端证书,该证书通过 MAC 地址识别手机。由于配置文件也由 MAC 地址提供服务,因此将证书中的 MAC 与 URL 中的 MAC 进行匹配并以这种方式控制访问非常简单。

这就是我的基于 nginx 的配置服务器(它处理除线路凭据之外的所有配置)所做的。然而,Asterisk 永远不支持 TLS 客户端身份验证。它有一个 TCP 和 TLS 套接字侦听器的常见实现,我通过阅读源代码确认它不支持请求客户端证书。

更正:Asterisk 的tcpctls系统确实支持客户端证书验证,但它只能验证客户端证书是否有效以及(可选)是否commonName与客户端的主机名匹配。虽然可以为 Asterisk HTTP 服务器启用该选项,但它对保护没有多大帮助,phoneprov因为该模块不使用主机名(或其他任何内容)进行授权。它也会通过 …

security ssl http asterisk voip

9
推荐指数
0
解决办法
450
查看次数

Fail2Ban 阻塞行为取决于状态代码

我正在使用 Fail2Ban 并根据需要对其进行了配置。这是从 nginx/error.log 读取日志,并根据有关 maxretry 和计时集的配置进行操作。问题是这是否可能根据状态代码有不同的规则?

例如,我想阻止任何人404 Status code在 5 分钟内获得 10 ,但阻止任何人获得 3 403 Status code。

任何帮助将不胜感激,提前致谢。

security nginx fail2ban

9
推荐指数
1
解决办法
8839
查看次数

极低的入站流量和高出站流量的可能原因是什么?

昨天我们的 Digital Ocean 服务器遇到了类似攻击的问题。出站流量突然增加到700Mbps,而入站流量一直保持在0.1Mbps左右,甚至没有增加一次。流量持续了几分钟,直到假设我们正在执行 DoS(这是合理的),Digital Ocean 将我们的服务器从网络上切断。

我有两个假设:要么有人黑进了我们的服务器(在攻击之后我意识到我的同事已经启用了使用密码的 SSH 登录),要么存在某种我不知道的攻击。

任何人都可以为我清除这种情况吗?如果确实有一种DoS,流量看起来像那样,请教育我。

security denial-of-service

9
推荐指数
3
解决办法
2766
查看次数

如何测试 ssh 服务器是否允许密码?

我想测试 ssh 服务器是否允许密码并立即关闭连接而不实际尝试登录。

像这样的东西:

allows_password=$(ssh --some-option example.com)
if [ -z "$allows_password" ]; then
  echo "Insecure Server Options"
else
  echo "Insecure Password Access is not Allowed, Great!"
fi
Run Code Online (Sandbox Code Playgroud)

我实际上以前做过一次,但我找不到旧的脚本或文档。失落的一天。:-/

security ssh password

9
推荐指数
1
解决办法
3560
查看次数