Защита от spoofing, dos, неправильных пакетов и т.д.

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

fergios
Сообщения: 512
ОС: debian stable

Защита от spoofing, dos, неправильных пакетов и т.д.

Сообщение fergios »

# Параметры ядра для защиты от Dos
# "Reduce DoS'ing ability by reducing timeouts "
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1800 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 1 > /proc/sys/net/ipv4/tcp_window_scaling
echo 0 > /proc/sys/net/ipv4/tcp_sack
echo 1280 > /proc/sys/net/ipv4/tcp_max_syn_backlog

#ANTISPOOFING
for a in /proc/sys/net/ipv4/conf/*/rp_filter;
do
echo 1 > $a
done

#SYN COOKIES
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo "1" > /proc/sys/net/ipv4/conf/all/accept_redirects
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

#Блокирование неправильных пакетов
#$IPT -A INPUT -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP
#$IPT -A OUTPUT -p tcp --tcp-flags ALL ACK,RST,SYN,FIN -j DROP

#$IPT -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
#$IPT -A OUTPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

#$IPT -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
#$IPT -A OUTPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

Что ещё можно добавить?
Какие параметры изменить?
Как защититься от неправильных (нужно правильно обрабатывать флаги rsh,rst, syn,ack,fin и т.д.) для входящих пакетов?
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Защита от spoofing, dos, неправильных пакетов и т.д.

Сообщение neol »

Для начала man sysctl вместо прописывания настроек ядра в скрипте.

fergios писал(а):
17.07.2010 22:29
#ANTISPOOFING
for a in /proc/sys/net/ipv4/conf/*/rp_filter;
do
echo 1 > $a
done

net.ipv4.conf.default.rp_filter=1

fergios писал(а):
17.07.2010 22:29
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Не стоит ставить по умолчанию, бестолковое увеличение нагрузки на процессор. Выставите в 1 когда(и если) понадобится.

fergios писал(а):
17.07.2010 22:29
echo "1" > /proc/sys/net/ipv4/conf/all/log_martians

А оно вам надо?

Еще можно посмотреть

Код: Выделить всё

net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0

# Время ожидания FIN до закрытия соединения
net.ipv4.tcp_fin_timeout = 5
# Когда начинать посылать сообщения о поддержании keep alive соединения.
net.ipv4.tcp_keepalive_time = 1800
# Сколько пакетов проверки keepalive посылать, прежде чем соединение будет закрыто.
net.ipv4.tcp_keepalive_probes = 2
net.ipv4.tcp_keepalive_intvl=10
# Запрещаем TCP window scaling
net.ipv4.tcp_window_scaling = 0

net.ipv4.tcp_orphan_retries = 1

net.ipv4.tcp_fack = 0
# Запрещаем TCP timestamps, RFC1323
net.ipv4.tcp_timestamps = 0

# Решение проблемы, описываемой в RFC 1337 - TIME-WAIT Assassination Hazards in TCP.
net.ipv4.tcp_rfc1337 = 1

# Длина очереди непринятых соединений (по умолчанию 128)
net.core.somaxconn = 512

только почитайте сначала документацию, хоть это все взято с боевого сервера, но я совсем не уверен, что эти настройки универсальны.

Ну и рекомендую к прочтению Linux Performance and Tuning Guidelines (англ.)

fergios писал(а):
17.07.2010 22:29
Как защититься от неправильных (нужно правильно обрабатывать флаги rsh,rst, syn,ack,fin и т.д.) для входящих пакетов?

Забить и забыть. Особенно доставляют правила для исходящих соединений (:
Спасибо сказали: