>  기사  >  운영 및 유지보수  >  Linux 서버에 대한 서비스 거부 공격을 처리하는 방법

Linux 서버에 대한 서비스 거부 공격을 처리하는 방법

王林
王林원래의
2023-09-09 15:21:33615검색

Linux 서버에 대한 서비스 거부 공격을 처리하는 방법

Linux 서버에 대한 서비스 거부 공격 처리 방법

서비스 거부(DoS)는 대상 서버에 대량의 요청을 보내거나 취약점을 악용하여 서버가 정상적인 서비스를 제공하지 못하게 하는 공격 방법입니다. . 네트워크 환경에서 가장 일반적으로 사용되는 서버 시스템 중 하나인 Linux 서버도 해커의 빈번한 표적 중 하나입니다. 이 기사에서는 Linux 서버에 대한 서비스 거부 공격을 처리하는 방법을 설명하고 몇 가지 코드 예제를 제공합니다.

1. 네트워크 방화벽 구성

Linux 서버의 첫 번째 방어선은 iptables와 같은 도구를 사용하여 구성할 수 있는 네트워크 방화벽입니다. 네트워크 방화벽을 구성하면 특정 IP 주소 또는 IP 주소 세그먼트에 대한 액세스를 제한하거나 특정 네트워크 프로토콜에 대한 액세스를 제한할 수 있습니다. 다음 샘플 코드는 특정 IP 주소 범위에 대한 액세스를 제한하도록 iptables를 구성하는 방법을 보여줍니다.

# 允许所有流量通过
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# 清空规则链
iptables -F
iptables -X

# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT

# 允许已建立的连接通过
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# 允许某个IP地址段的访问
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

# 拒绝所有其他的流量
iptables -P INPUT DROP

네트워크 방화벽을 구성할 때 서버에 필요한 일반 트래픽을 고려하고 실제 상황에 따라 적절하게 구성해야 합니다.

2. 소프트웨어 방화벽 구성

네트워크 방화벽 외에도 소프트웨어 방화벽을 사용하여 서버 보안을 강화할 수도 있습니다. 일반적인 소프트웨어 방화벽에는 Fail2Ban 및 ModSecurity가 포함됩니다. Fail2Ban은 무차별 크래킹이나 악의적인 공격을 방지하기 위해 구성된 규칙에 따라 특정 기간 내에 특정 IP 주소의 액세스를 일시적으로 금지할 수 있습니다. ModSecurity는 규칙을 정의하여 잠재적인 공격을 차단할 수 있는 웹 애플리케이션 방화벽입니다. 다음은 Fail2Ban의 샘플 구성입니다.

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log

위의 샘플 구성에서 Fail2Ban은 sshd 서비스의 로그 파일을 모니터링하고 10분 이내에 5회 이상의 로그인 실패 후 해당 IP 주소에서의 액세스를 일시적으로 금지합니다.

3. DoS 보호 시스템 구성

서비스 거부 공격에 대처하기 위해 특수 DoS 보호 시스템을 구성하여 서버 트래픽을 모니터링하고 비정상적이거나 악의적인 요청을 필터링할 수 있습니다. 일반적인 DoS 보호 시스템에는 ModEvasive 및 DOSarrest가 포함됩니다. 다음은 ModEvasive의 샘플 구성입니다.

<IfModule mod_evasive24.c>
    DOSHashTableSize    3097
    DOSPageCount        5
    DOSSiteCount        100
    DOSPageInterval     2
    DOSSiteInterval     1
    DOSBlockingPeriod   10
    DOSLogDir           "/var/log/httpd/modevasive"

    <IfModule mod_ssl.c>
        DOSBlockingList     "/var/log/httpd/mod_evasive/blocked_ips_ssl.db"
    </IfModule>
    <IfModule !mod_ssl.c>
        DOSBlockingList     "/var/log/httpd/mod_evasive/blocked_ips_nonssl.db"
    </IfModule>
</IfModule>

위의 샘플 구성에서 ModEvasive는 2초 이내에 5개 이상의 액세스 요청이 발생하거나 1초 이내에 동일한 IP 주소에서 100개 이상의 액세스 요청이 발생하는 경우 자동으로 차단합니다. 이 IP 주소는 10초 동안 지속됩니다.

요약

서비스 거부 공격으로부터 Linux 서버를 보호하려면 네트워크 방화벽, 소프트웨어 방화벽, DoS 보호 시스템 등 다양한 수단을 사용해야 합니다. 이러한 보호 메커니즘을 적절하게 구성하고 사용하면 서비스 거부 공격으로부터 서버를 효과적으로 보호할 수 있습니다.

위는 Linux 서버에 대한 서비스 거부 공격을 처리하는 방법을 소개하고 몇 가지 구성 예를 제공합니다. 서버 보안에 도움이 되기를 바랍니다.

위 내용은 Linux 서버에 대한 서비스 거부 공격을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.