我正在调查Slowloris的漏洞,我想我了解这种攻击的工作原理和原因。
我不明白的是为什么 Lighttpd 和 NginX 不受影响(根据上面链接的同一篇文章)。它们有什么不同?
我有一些关于网络的非常微不足道的基本问题,但我发现了不同的信息,所以我只想解决这个问题。
据我所知,网络交换机以“智能”方式处理流量,它只将数据包传播到它知道接收器所在的端口(与集线器相反,集线器将所有数据暴力发送到所有端口)。
所以交换机需要记住所有连接到它的主机的地址。如果找不到主机,则将数据包发送到默认路由(通常是 Up 链接到更广泛的网络)
现在我的主要问题是:
我目前使用 DNS 循环进行负载平衡,效果很好。记录看起来像这样(我的 TTL 为 120 秒)
;; ANSWER SECTION:
orion.2x.to. 116 IN A 80.237.201.41
orion.2x.to. 116 IN A 87.230.54.12
orion.2x.to. 116 IN A 87.230.100.10
orion.2x.to. 116 IN A 87.230.51.65
Run Code Online (Sandbox Code Playgroud)
我了解到并非每个 ISP/设备都以相同的方式处理此类响应。例如,一些 DNS 服务器随机地轮换地址或总是循环它们。一些只是传播第一个条目,其他人尝试通过查看 IP 地址来确定哪个是最好的(区域附近)。
但是,如果用户群足够大(分布在多个 ISP 上,等等),它的平衡就会很好。从最高负载到最低负载的服务器的差异几乎都超过 15%。
但是,现在我遇到的问题是,我正在向系统中引入更多服务器,而且并非所有服务器都具有相同的容量。
我目前只有 1 Gbps 服务器,但我也想使用 100 Mbps 和 10 Gbps 服务器。
所以我想要的是我想引入一个权重为100的10 Gbps服务器,一个权重为10的1 Gbps服务器和一个权重为1的100 Mbps服务器。
我之前添加了两次服务器来为它们带来更多流量(效果很好——带宽几乎翻了一番)。但是向 DNS 添加 100 次 10 Gbps 服务器有点荒谬。
所以我考虑使用TTL。
如果我给服务器 A 240 秒的 TTL 和服务器 B 仅 120 秒(这大约是循环使用的最小值,因为如果指定了较低的 TTL,许多 DNS 服务器设置为 120(所以我听说过))。我认为在理想情况下应该会发生这样的事情:
First 120 …Run Code Online (Sandbox Code Playgroud) networking domain-name-system load-balancing ttl round-robin
我曾经在很多服务器上使用 Ubuntu 10.04 模板。自从更改为 12.04 以来,我遇到了现在已隔离的问题。
/dev/urandom 设备只能由 root 访问。
这导致 SSL 引擎,至少在 PHP 中,例如 file_get_contents(https://...) 失败。
它也打破了redmine。
在 chmod 644 之后它工作正常,但在重新启动时不会停留。
所以我的问题。
为什么是这样?我认为没有安全风险,因为...我的意思是...想窃取一些随机数据?
我怎样才能“修复”它?服务器是隔离的,仅由一个应用程序使用,这就是我使用 openvz 的原因。我想到了类似运行级别脚本之类的东西......但是我如何有效地做到这一点?Maby 用 dpkg 还是 apt?
vor /dev/shm 也是如此。在这种情况下,我完全理解为什么它不可访问,但我认为我可以用与修复 /dev/urandom 相同的方式“修复”它
我有一台新服务器,但不幸的是,托管商只为我安装了德语版 Ubuntu 8.04。
所以升级工作顺利,但现在我正在尝试将系统更改为英文。
我适应了 /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="en_us.UTF-8"
LANGUAGE="de_DE:en_US:de_LU:de_CH:de_BE:de_AT"
Run Code Online (Sandbox Code Playgroud)
在搜索论坛后,我安装update-locale了生成文件的/etc/default/locale
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANG="en_us.UTF-8"
LANGUAGE="de_DE:en_US:de_LU:de_CH:de_BE:de_AT"
Run Code Online (Sandbox Code Playgroud)
(这是我通常从 debian 系统中记住的用于保存语言环境的文件)
然后我做了dpkg-reconfigure locales它配置了所有的语言环境,在注销和重新登录后,几乎所有的东西都是英文的。
几乎
欢迎信息是。这些节目是英文的。但例如 apt 不是:
prag341:~# apt-get upgrade
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Status-Informationen einlesen... Fertig
Die folgenden Pakete werden aktualisiert:
linux-image-generic
1 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen 4,346B an Archiven heruntergeladen werden.
Nach dieser Operation werden 0B Plattenplatz zusätzlich benutzt.
Möchten Sie fortfahren [J/n]?
Run Code Online (Sandbox Code Playgroud)
这是一件非常糟糕的事情,因为然后默认参数 Y/N 被 …
我一直在运行 MTR 往返于我的一台服务器,并注意到一些对我来说看起来很奇怪的东西。因为我不是很喜欢这个,所以我会给你三个输出:
这是从服务器到我家的位置:
My traceroute [v0.75]
prag341.server4you.de (0.0.0.0) Sat Apr 16 12:31:36 2011
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. v9-609a.s4y14.fra.routeserver.net 0.0% 143 6.6 2.9 0.7 15.6 2.4
2. 217.118.16.161 0.0% 143 0.7 5.7 0.4 67.3 13.2
3. 217.118.16.25 0.0% 143 3.3 5.3 3.3 63.5 8.6
4. 194.25.211.53 0.0% 143 3.4 5.5 3.2 61.1 9.1
5. vie-sb2-i.VIE.AT.NET.DTAG.DE 0.7% 143 17.8 21.7 17.6 131.1 14.8
vie-sb2-i.VIE.AT.NET.DTAG.DE …Run Code Online (Sandbox Code Playgroud) 这是对这个问题的跟进。
我正在组装带有 14 个 SATA 驱动器的存储服务器。
我不想“浪费”操作系统系统的驱动器,所以我想我可以不安装并从 USB 记忆棒运行操作系统。该系统将非常精简(只有一个网络服务器和 ssh 守护进程以及一些自定义脚本)。
有什么理由我不应该这样做吗?像 USB 记忆棒耐用性等?您有使用 U 盘运行服务器系统的经验吗?
我注意到 FreeNAS 建议从 U 盘运行它。
我修复了像这里描述的nagios 的许可问题。
命令是:
sudo dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw
sudo dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3
Run Code Online (Sandbox Code Playgroud)
好吧,很明显,这是某种许可更改。但它发生在哪里?它存储在哪里?它只是一个chmod修改吗?
简而言之:此请求失败。
$ curl 'https://secure.ogone.com/ncol/prod/orderstandard.asp' -vv
* About to connect() to secure.ogone.com port 443 (#0)
* Trying 213.254.248.101... connected
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* Unknown SSL protocol error in connection to secure.ogone.com:443
* Closing connection #0
curl: (35) Unknown SSL protocol error in connection to secure.ogone.com:443
Run Code Online (Sandbox Code Playgroud)
我知道 sslv2 安全风险需要将一些连接手动设置为 sslv1 或 sslv3。
但是,这也不起作用:
$ curl 'https://secure.ogone.com/ncol/prod/orderstandard.asp' -3
curl: (60) SSL certificate problem, verify that the CA cert …Run Code Online (Sandbox Code Playgroud) 如果我针对主机名运行 dig,我会得到相应的 cname,但是我会得到 NXDOMAIN 错误(不存在的域)。
如果我对获得的 cname 运行 dig,我可以成功将其解析为 IP 地址。它是可复制的。
在我目前使用的系统上总是如此,在其他系统上它有时有效,有时无效,而在其他系统上它似乎一直有效。
如果我使用我指定的名称服务器(例如谷歌的公共名称服务器)运行,我可以成功解析主机名。
我只会责怪本地系统,但似乎我并没有遇到唯一的问题。
第二个域 (example.net) 托管在亚马逊路由 53 名称服务器上。第一个在另一台 DNS 服务器上,多年来已被证明功能齐全且可靠。
我曾经也将另一个域切换到亚马逊 dns,一切似乎都正常,而且各种 dns 运行状况检查测试也报告良好,但是我收到了很多支持票,表明 dns 解析不起作用。
亚马逊只是“糟糕”还是我做错了什么?
我没有以任何方式在本地系统上篡改域(如果进行缓存或创建自定义 dns 视图或其他......)
joe@joe:~$ dig scorpion.example.com
; <<>> DiG 9.8.1-P1 <<>> scorpion.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 10222
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;scorpion.example.com. IN A
;; ANSWER SECTION:
scorpion.example.com. 180 IN …Run Code Online (Sandbox Code Playgroud) domain-name-system cname-record nameserver amazon-web-services
networking ×3
ubuntu ×3
linux ×2
permissions ×2
amazon-ec2 ×1
apache-2.2 ×1
chmod ×1
cname-record ×1
curl ×1
diagnostic ×1
dpkg ×1
filesystems ×1
hard-drive ×1
https ×1
ip ×1
language ×1
lighttpd ×1
localization ×1
mac-address ×1
malware ×1
mtr ×1
nameserver ×1
packetloss ×1
round-robin ×1
security ×1
ssl ×1
switch ×1
ttl ×1
ubuntu-10.04 ×1
usb ×1
web-server ×1