3

我试图通过设置一些 iptables 防火墙规则来提高我的服务器安全性。结果是使用 Omniauth 的 Facebook 登录停止工作。在我的日志中,我看到 Facebook 至少将一些包发送到我的服务器端口 37035 和 41198。为什么?这些端口中没有任何运行。

有人可以说我应该打开哪些端口,以便使用 Omniauth 登录的 Facebook 可以在我的网站上重新开始工作。

我应用的规则是:

# 删除所有现有规则
iptables -X

# 设置默认规则
iptables -P 输入删除
iptables -P 转发接受
iptables -P 输出接受

# 允许 ssh 进入
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# 允许传入的 HTTP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

# 允许传出 SSH
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# 允许从外部ping
iptables -A INPUT -p icmp --icmp-type echo-r​​equest -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-r​​eply -j ACCEPT

# 允许ping其他服务器
iptables -A OUTPUT -p icmp --icmp-type echo-r​​equest -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-r​​eply -j ACCEPT

# 允许环回访问
iptables -A 输入 -i lo -j 接受
iptables -A 输出 -o lo -j 接受

# 允许发送邮件和后缀
iptables -A INPUT -i eth0 -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 25 -m state --state ESTABLISHED -j ACCEPT

# 允许 dns 查询
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

# 防止 dos 攻击 - 如果需要,升级到 hashlimit
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

# 记录丢弃的包
iptables -N 日志记录
iptables -A 输入 -j 记录
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped:" --log-level 7
iptables -A 日志记录 -j DROP

这是来自我的系统日志的示例日志条目(我的 IP 已过滤)

IPTables Packet Dropped: IN=eth0 OUT= MAC=40:40:ea:31:ac:8d:64:00:f1:cd:1f:7f:08:00 SRC=69.171.224.54 DST=my_ip LEN=56 TOS=0x00 PREC=0x00 TTL=86 ID=0 DF PROTO=TCP SPT=443 DPT=44605 WINDOW=14480 RES=0x00 ACK SYN URGP=0
4

1 回答 1

1

终于得到了这个问题的答案。https://superuser.com/questions/479503/why-are-ports-30000-to-60000-needed-when-browsing-the-net

http 连接需要从 32768 到 61000 的端口。

于 2012-09-25T20:40:53.310 回答