Linux 시스템이 TCP 플러드 공격을 방지하는 방법 소개

黄舟
풀어 주다: 2017-06-02 09:59:45
원래의
2318명이 탐색했습니다.

이 글은 주로 Linux 시스템이 TCP 플러드에 덜 취약한 방법에 대한 자세한 설명을 소개합니다. 공격.편집자 꽤 좋은 것 같아서 지금 공유하고 참고용으로 드리고 싶습니다. 편집기를 따라 살펴보겠습니다.

#最关键参数,默认为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

# ……省略其它……
로그인 후 복사

참고, 외부 네트워크에 직면할 때 다음 매개변수를 열지 마십시오. 부작용이 분명하므로 구체적인 이유를 Google에 문의하십시오. 이미 켜져 있는 경우 명시적으로 0으로 변경한 다음 sysctl -p를 실행하여 닫습니다. 왜냐하면 실험 후에 많은 수의 TIME_WAIT상태 연결은 시스템에 큰 영향을 미치지 않습니다:

#当出现 半连接 队列溢出时向对方发送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
로그인 후 복사

많은 수의 연결을 처리하기 위해 또 다른 매개변수를 변경해야 합니다:

p>
# vi /etc/security/limits.conf
로그인 후 복사

각 사용자가 최대 409,600개의 파일 핸들(연결 포함)을 열 수 있도록 아래 줄을 추가하세요.

*        –    nofile     409600
로그인 후 복사

위 내용은 Linux 시스템이 TCP 플러드 공격을 방지하는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿