Настройка Firewall
В панели управления Robot есть весьма интеллектуально понятный Firewall для выделенных серверов. В данной статье мы разберем его возможности.
Last updated
В панели управления Robot есть весьма интеллектуально понятный Firewall для выделенных серверов. В данной статье мы разберем его возможности.
Last updated
При переходе во вкладку Firewall мы видим примерно такой интерфейс:
Firewall template — включает в себя набор готовых правил для сервисов: SSH, Webserver, Mailserver, FTP.
Status — отвечает за состояние Firewall. По умолчанию установлено значение Active.
Hetzner Services — при установке галочки Вы добавите в исключения Firewall все сервисы Hetzner, такие как Hetzner Rescue-System, DNS, Backup-Server/StorageBoxes, System Monitor (SysMon).
Максимум возможно установить 10 правил для Firewall.
При попытке добавления правила мы видим следующие строки:
Name — имя правила (можно указать любое на Ваше усмотрение).
Source IP — исходный IP-адрес, с которого идет подключение к нашему серверу.
Destination IP — конечный адрес (то есть нашего сервера, поскольку Firewall позволяет фильтровать только входящий трафик).
Source Port — порт источника, можно указать несколько значений через запятую (принадлежит указанному ранее Source IP)
Destination port — порты на нашем выделенном сервере, также можно указать несколько портов через запятую.
Протоколы:
«*» — все протоколы.
TCP — является одним из главных протоколов передачи данных. Его преимуществами являются такие функции как получение данных при предварительной установке соединения, отсечение дублирующихся пакетов, а также повторная их отправка в случае ошибки. В отличие от UDP, является более высоким гарантом передачи пакета(-ов).
UDP — это скоростной протокол, предназначенный для передачи наборов данных большого объёма на высокой скорости. Как правило, в этом и является его большое преимущество по отношении к TCP. Но при этом UDP подразумевает то, что проверка каких-либо ошибок и подобные исправления пакетов не требуются, поскольку настраиваются на уровне самого приложения.
GRE — является протоколом для осуществления туннелирования пакетов.
ICMP — используется разными устройствами для передачи информации о действиях и ошибках в сети.
IPIP — производит инкапсуляцию одного IP-пакета в другой IP-пакет. Добавляет дополнительные заголовки для Source и Destination IP.
AH — необходим для обеспечения безопасности передаваемых пакетов. Также его функцией является отсечение дублированных пакетов.
ESP — является инструментом для обеспечения безопасности путем шифрования пакетов. Также включает в себя возможности протокола AH.
Следом рассмотрим то, что доступны для установки флаги TCP, а именно syn, fin, rst, psh, urg.
Их можно указывать по отдельности или в виде логической комбинации.
«|» — представляет собой логическое «ИЛИ», когда должен быть исполнен хотя бы один из указанных флагов.
«&» — представляет собой логическое «И», когда должны быть исполнены все указанные флаги.
Примером такой комбинации могут послужить:
syn|fin
rst&psh
Действия:
Accept — разрешить.
Discard — отклонить.
Правила выполняются по счету. Сверху вниз.
Если правило #1 не применяется, будет проверено правило #2. И если правило #2 также не применяется, то будет проверено правило #3 и так далее до тех пор, пока не будет применено одно из правил, и пакет либо отбрасывается, либо принимается в соответствии с определенным действием. Если применяется, например, второе правило, то все последующие правила проверяться не будут. Если ни одно из правил не применимо, пакет будет отброшен.
Попробуем, к примеру, запретить любые SSH-соединения с нашим сервером (по порту 22).
Для этого создаем вот такое правило, которое будет превосходить указанное ниже (принимающее все пакеты по всем протоколам).
Ожидаем завершения применения нового листа правил.
По завершении пробуем подключиться к нашему серверу и получаем ошибку, поскольку наше соединение было отклонено в связи с созданным правилом.
Для отката изменений достаточно просто удалить новое правило и сохранить список.
С правилами можно всячески экспериментировать и даже создать какую-то небольшую систему собственной защиты от DDoS, которая не так сильно, но все же отчасти будет эффективна.