我的服务器上有 nginx,我运行下面的脚本向 iptables 添加规则:
#!/bin/bash
ip=/sbin/iptables
services='22 25 53 80 443 5432 8000 8080'
$ip -F;
$ip -t nat -F;
echo -e "Opening port 22 for ssh";
$ip -A INPUT -p tcp --dport 22 -j ACCEPT;
$ip -A OUTPUT -p tcp --sport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT;
$ip -P INPUT DROP;
$ip -P OUTPUT ACCEPT;
$ip -P FORWARD DROP;
echo -e "Accept lo";
$ip -A INPUT -i lo -j ACCEPT;
$ip -A OUTPUT -o lo -j ACCEPT;
$ip …Run Code Online (Sandbox Code Playgroud) 我可以在 Azure 网络安全组中为 IP 地址添加入站/出站规则,但如何为域名 (URL) 添加入站/出站规则?
假设您有一台运行不安全软件的服务器,并且您必须使其可公开访问,那么哪些端口对于在 Internet 上提供该服务是“最安全的”。“最安全”是指最不可能被端口扫描和探测漏洞的可能性。
我最初的想法是使用低于 1024 且不用于任何已知服务(例如 471/timbuktu)的端口,因为它们永远不会在常规使用中被访问,并且探测它们会揭示潜在的恶意意图(与探测器的兴趣相反)。
请注意,互联网端服务端口将由防火墙选择 - 服务器上的服务端口会有所不同(并且,值得注意的是,该服务不会以 root 身份运行)。
感谢阅读 - 感谢您的想法。
布赖恩
编辑:
当然,这是通过默默无闻的安全性。这就是为什么这个问题有默默无闻的标签!;)它是通过默默无闻的安全性与我正在寻找的内容无关。虽然对安全知识知之甚少的路人指出明显的问题可能会有所帮助,但它并没有回答问题或进一步讨论。我希望通过默默无闻来强调对安全性的关注是因为我的问题措辞不当。
已经给出的答案都没有真正帮助我。为什么 10000 以上的端口更可取?我希望相反。这些是从消费者机器发出的 TCP 连接所使用的端口,因此在较高端口上,异常连接到这些端口的信噪比要低得多。因此,攻击者在扫描较低端口时被检测到的期望更高,并且攻击者使用所述高端口或扫描它们的动机更高(尽管与例如NMAP 的顶级端口相比,流行的服务端口)。但是,高端口的数量更多,因此问题在于,对于未使用的服务,扫描命中不明显的高端口的概率是否低于命中低端口的概率。我认为这是一个经验数据问题。
互联网端连接端口可以在 1024 以下使用 NAT。这就是相关的端口。内部端口无关紧要,因此应用程序不会以 root 身份运行(管理员权限等)。即使它确实以 root 身份运行,它也可能被 chroot'd/jailed。
敲端口是个好主意。尽管这是一种以隐写方式隐藏服务的创造性方法(从而降低服务发现的可能性),但不幸的是它并没有回答这个问题。谢谢你的建议。
怎样才是真正的帮助(这是罪恶之四无问题的),将是对哪些端口正在与探讨SYN /连接,什么有效载荷发送到蜜罐,等等。这是更广泛,但它确实有些emperical数据更多什么会有所帮助。
编辑6:了解那些未使用的端口(即 <1024 且未分配给服务,例如端口 4、6、8、10、12、14、15、16 等)是否被扫描过将很有价值。如果您查看防火墙日志,您是否看到正在探测未分配的服务端口?
再次感谢。
编辑只是为了清楚起见,在这种情况下,“最安全”本质上是对端口扫描间隔的度量。问题中暗示的漏洞是对尚未部署补丁的服务的利用。如果你理解我的意思,如果一个端口的间隔时间大大大于部署修复漏洞的补丁的时间,那么它是“更安全的”。因此,如果 ssh 守护进程中存在远程漏洞利用,则端口 60001 比 SSH 端口 22 更安全,因为端口 22 作为默认 ssh 端口将更频繁地扫描安全外壳守护进程(和相应的漏洞利用),因此时间更少在潜在的远程利用尝试之间部署补丁。这是本次调查的初衷,希望这篇评论对您有所帮助。
我在东京、伦敦和弗里蒙特的 linode 服务器上有三个 zookeeper 节点。都是八卦。
我在东京有一个监控服务器。
我没有在所有 zookeeper 服务器上激活 zookeeper 防火墙。
从我的本地开发笔记本电脑、aws 等机器,我可以 telnet 到任何 Zookeeper 节点。
从 linode,监控服务器,我无法使用任何客户端进行连接。
我确实使用 UFW 来阻止监控服务器上的传入端口,但我不明白这是如何导致 Zookeeper 端口出现问题的。我什至禁用以及利用。
从监控服务器我什么也没得到。
telnet xxx.xxx.xxx.xxx 2181
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx.
Escape character is '^]'.
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
从两端使用 mtr --report 显示没有问题。
所以,我无法从服务器连接到 zookeeper。我如何知道发生了什么?
我以前有点问过这个。我已经建立了一个服务器来为我的网站、dns 和一些游戏服务器提供服务。但是,当我检查我的路由器防火墙日志时,我在同一端口上阻止了很多传入的 UDP 数据包。这是它的样子,请注意端口不正常,并且没有打开或使用。
[INFO] Sat Aug 25 21:25:09 2012 Blocked incoming UDP packet from 176.212.55.166:49001 to 84.234.160.79:61767
[INFO] Sat Aug 25 21:25:05 2012 Blocked incoming UDP packet from 186.227.20.17:21401 to 84.234.160.79:14953
[INFO] Sat Aug 25 21:25:05 2012 Blocked incoming UDP packet from 117.203.8.239:14090 to 84.234.160.79:14953
[INFO] Sat Aug 25 21:25:03 2012 Blocked incoming UDP packet from 77.35.1.215:49001 to 84.234.160.79:14953
[INFO] Sat Aug 25 21:24:53 2012 Blocked incoming UDP packet from 90.180.165.121:10011 to 84.234.160.79:61767
[INFO] Sat Aug 25 21:24:51 2012 …Run Code Online (Sandbox Code Playgroud) 允许以 32 结尾的 IP 之间有什么区别 / 例如,这两个 IP 地址之间有什么区别?
282.72.129.206/31
282.72.129.206/32
Run Code Online (Sandbox Code Playgroud)
我想确认如果我删除 /31 将不会有连接问题。
我们在数据中心的colo上有三台服务器,用于通过cisco催化剂2960连接的高负载电子商务网站项目。我们需要制作带有硬件防火墙,CISCO Guard等的antiddos系统。CISCO Guard已过时,不再销售,供应商可能不支持。什么样的硬件解决方案适合我们?
我使用以下 iptables 规则:
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH,ACK -m length --length 52 -m state --state ESTABLISHED -j DROP
Run Code Online (Sandbox Code Playgroud)
它可以阻止来自我的服务器的不需要的数据包,但它也会阻止不应该发生的事情。
以下是用wireshark捕获的数据包:
unwanted packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62401?38111 [PSH, ACK] Seq=15 Ack=19 Win=65536 Len=12
needed packet:source=192.168.0.100 destination=192.168.0.111 TCP lenght=66 [TCP Retransmission] 62433?38111 [PSH, ACK] Seq=344 Ack=37855 Win=62825 Len=12
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何修改规则以允许所需的数据包并阻止不需要的数据包。
我在运行 sudo ufw enable 的 Digital Ocean 的服务器上使用 SSH 启用了 UFW 防火墙。忘记允许 SSH、FTP 等端口(但允许端口 80)。
如何通过 SSH 连接到服务器或重置防火墙?现在我不能做任何事情,无论是通过 SSH 还是通过 FTP。
root 帐户已启用,我知道它的密码,我也知道 IP 地址。
我在 Server 2008 R2 上使用 Hyper-V。有谁知道如何设置 Windows 防火墙,以便我可以限制我的 Hyper-V 来宾实例仅允许正常 HTTP/HTTPS 端口上的传出连接?这意味着它可以浏览网站,但无法连接到 FTP/SMTP/AIM。
我尝试添加出站规则,但不确定我必须添加哪些程序,而且端口部分被禁用。
看来我想做的事不能做。谢谢大家的帮助。
由于我的愚蠢错误,我需要帮助!
所以很长一段时间我都有一个由 register.it 托管的专用服务器
通常我通过终端服务器远程访问该服务器(Windows 2008 服务器)。今天我想阻止一个不断向我的服务器发送请求的站点。
所以我在防火墙(Windows 2008 服务器上的本机防火墙)中添加了一个新规则,就像我做了很多次一样,但是这一次,可能我在用我的大脑睡觉,我添加了一个阻止一切的一般规则!
所以我不能再访问服务器了,因为没有任何用户可以浏览网站,没有任何工作,因为这个规则阻止了一切。
我知道这是一个愚蠢的错误,不需要告诉我 :) 那么请问我能做什么?
我的提供商让我做的唯一一件事是通过他的控制面板重新启动服务器,但这对我没有任何帮助,因为防火墙再次阻止了我。
我有管理员用户名和密码,那么我真的可以做什么?
在这种非常糟糕的情况下,有一些技巧,一些技术,一些专家大师可以帮助我吗?
更新 我遵循托尼的建议,我做了一个 NMAP 来检查一些端口是否打开但看起来都关闭了:
NMAP结果
Starting Nmap 6.00 ( http://nmap.org ) at 2012-05-29 22:32 W. Europe Daylight Time
NSE: Loaded 93 scripts for scanning.
NSE: Script Pre-scanning.
Initiating Parallel DNS resolution of 1 host. at 22:32
Completed Parallel DNS resolution of 1 host. at 22:33, 13.00s elapsed
Initiating SYN Stealth Scan at 22:33
Scanning xxx.xxx.xxx.xxx [1000 ports]
SYN Stealth …Run Code Online (Sandbox Code Playgroud) 考虑到以下事实,使用PubkeyAuthentication如何比使用PasswordAuthentication更安全: