调整 Linux 内核以抵御 SYN 洪水攻击

And*_*rew 2 linux kernel ddos

我读过一篇关于如何通过修改sysctl.conf. 那篇文章有这样一句话:“可以使用一些选项重新编译内核以提高对 SYN 洪水的防护”。如果我的问题太笼统,我很抱歉,但您能否向我指出它可能指的是哪些内核选项?我下载了内核并查看了所有网络选项,make menuconfig但没有找到或错过了这些选项。谷歌搜索也没有帮助。

谢谢。

Nap*_*r_X 5

是的,可以重新编译内核以保护 Syn Flood 攻击,但我没有看到同样的原因。

对于无法通过命令更改内核参数的系统,您需要重新编译内核。但如果你仍然想这样做,那么你需要更改内核中的C代码。

例如,在Digital Unix中,您更改头文件中的两个参数,然后重建操作系统。在 中/usr/sys/include/sys/socket.h,更改SOMAXCONN定义,使 8 变为 1024。

将定义从/usr/sys/include/netinet/tcp_timer.h更改为。TCPTV_KEEP_INIT75*PR_SLOWHZ25*PR_SLOWHZ

然后使用 Digital Unix 程序重建内核,这是该 Unix 版本所独有的。

您还可以使用 Berkeley 派生的 Unix 系统更改这两个相同的参数来重建内核。

但是,它们出现在不同的位置,即/usr/src/sys/netinet/tcp_timer.h/usr/src/sys/sys/socket.h

读完本文后,如果您觉得不需要重新编译内核,则可以使用以下选项来减轻 syn 洪水攻击。

# echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
# echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
Run Code Online (Sandbox Code Playgroud)

要使更改在重新启动后保持不变,请将这些条目放入/etc/sysctl.conf文件中

# TCP SYN Flood Protection
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
Run Code Online (Sandbox Code Playgroud)

您可以在以下 URL 阅读有关这些内容的更多详细信息:

希望这能回答您的问题。如果您需要更多说明,请随时发表评论。