Home  >  Article  >  Operation and Maintenance  >  How to deal with denial of service attacks on Linux servers

How to deal with denial of service attacks on Linux servers

王林
王林Original
2023-09-09 15:21:33617browse

How to deal with denial of service attacks on Linux servers

How to deal with denial of service attacks on Linux servers

A denial of service attack (Denial of Service, DoS) is a type of attack that involves sending a large number of requests to the target server or exploiting vulnerabilities, etc. An attack method that prevents the server from providing normal services. As one of the most commonly used server systems in the network environment, Linux servers are also one of the frequent targets of hackers. This article will explain how to deal with denial of service attacks on Linux servers and provide some code examples.

1. Configure the network firewall

The first line of defense of the Linux server is the network firewall, which can be configured using tools such as iptables. By configuring a network firewall, you can restrict access to certain IP addresses or IP address segments, or restrict access to certain specific network protocols. The following sample code shows how to configure iptables to restrict access to a certain IP address segment:

# 允许所有流量通过
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

When configuring the network firewall, you need to consider the normal traffic required by the server and configure it accordingly based on the actual situation.

2. Configure software firewall

In addition to network firewalls, software firewalls can also be used to increase server security. Common software firewalls include Fail2Ban and ModSecurity. Fail2Ban can temporarily prohibit access from a certain IP address within a certain period of time based on configured rules to prevent brute force cracking or malicious attacks. ModSecurity is a web application firewall that can block potential attacks by defining rules. The following is a sample configuration for Fail2Ban:

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

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

In the above sample configuration, Fail2Ban will monitor the log file of the sshd service and temporarily ban the IP address from the IP address after more than 5 failed logins within 10 minutes. Access.

3. Configure DoS protection system

In order to deal with denial of service attacks, you can configure a special DoS protection system to monitor server traffic and filter out abnormal or malicious requests. Common DoS protection systems include ModEvasive and DOSarrest. The following is a sample configuration of 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>

In the above sample configuration, ModEvasive will have more than 5 access requests within 2 seconds or more than 100 access requests from the same IP address within 1 second. Next, access to the IP address will be automatically blocked for 10 seconds.

Summary

To protect Linux servers from denial-of-service attacks, it is necessary to comprehensively use multiple means such as network firewalls, software firewalls, and DoS protection systems. Proper configuration and use of these protection mechanisms can effectively protect servers from denial of service attacks.

The above is an introduction to how to deal with denial of service attacks on Linux servers, and provides some configuration examples. Hope this helps with your server security.

The above is the detailed content of How to deal with denial of service attacks on Linux servers. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn