Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Eine Einführung, wie Linux-Systeme TCP-Flood-Angriffe verhindern

Eine Einführung, wie Linux-Systeme TCP-Flood-Angriffe verhindern

黄舟
黄舟Original
2017-06-02 09:59:452318Durchsuche

Dieser Artikel stellt hauptsächlich die detaillierte Erklärung vor, wie das Linux-System weniger anfällig für TCP-Flood-Angriffe ist. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es als Referenz. Folgen wir dem Editor und werfen wir einen Blick darauf.

#最关键参数,默认为5,修改为0 表示不要重发
net.ipv4.tcp_synack_retries = 0
#半连接队列长度
net.ipv4.tcp_max_syn_backlog = 200000

#系统允许的文件句柄的最大数目,因为连接需要占用文件句柄
fs.file-max = 819200
#用来应对突发的大并发connect 请求
net.core.somaxconn = 65536
#最大的TCP 数据接收缓冲(字节)
net.core.rmem_max = 1024123000

#最大的TCP 数据发送缓冲(字节)
net.core.wmem_max = 16777216
#网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 165536
#本机主动连接其他机器时的端口分配范围
net.ipv4.ip_local_port_range = 10000 65535

# ……省略其它……

Beachten Sie, dass die folgenden Parameter nicht geöffnet werden sollten, wenn Sie auf das externe Netzwerk zugreifen. Da die Nebenwirkungen offensichtlich sind, googeln Sie bitte die spezifischen Gründe. Wenn es bereits aktiviert ist, ändern Sie es bitte explizit auf 0 und führen Sie dann sysctl -p aus, um es zu schließen. Denn nach dem Testen hat eine große Anzahl von TIME_WAIT-Verbindungen im Status keine großen Auswirkungen auf das System:

#当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要
net.ipv4.tcp_syncookies = 0
#TIME_WAIT状态的连接重用功能
net.ipv4.tcp_tw_reuse = 0
#时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合
net.ipv4.tcp_timestamps = 0
#TIME_WAIT状态的连接回收功能
net.ipv4.tcp_tw_recycle = 0
#当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要
net.ipv4.tcp_syncookies = 0
#TIME_WAIT状态的连接重用功能
net.ipv4.tcp_tw_reuse = 0
#时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合
net.ipv4.tcp_timestamps = 0
#TIME_WAIT状态的连接回收功能
net.ipv4.tcp_tw_recycle = 0

Um eine große Anzahl zu bewältigen Anzahl der Verbindungen muss ein weiterer Parameter geändert werden:

# vi /etc/security/limits.conf

Fügen Sie unten eine Zeile hinzu, damit jeder Benutzer maximal 409.600 Dateihandles (einschließlich Verbindungen) öffnen kann:

*        –    nofile     409600

Das obige ist der detaillierte Inhalt vonEine Einführung, wie Linux-Systeme TCP-Flood-Angriffe verhindern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn