Снижение количества жалоб на злоупотребления при работе VPN-сервиса
Запуск VPN или прокси-сервиса несёт ряд рисков. Как
владелец IP-адреса, вы несёте ответственность за любые злоупотребления или противоправные
действия, совершённые через ваш сервис. Чтобы защитить себя от этого,
необходимо заблаговременно принять меры по защите своей
репутации.
Строгий режим:
Белый список
Один из способов предотвратить злоупотребления — разрешить на сервере только
определённые виды активности. Этот подход, известный как белый список, не
исключает злоупотребления полностью: пользователи всё равно могут атаковать третьих лиц, что
может привести к блокировке вашего сервера. Тем не менее он значительно
усложняет злоупотребления и, скорее всего, отпугнёт нарушителей от
вашего сервиса (и, к сожалению, возможно, некоторых добросовестных пользователей тоже).
Предлагаемый подход: блокировать весь входящий и исходящий
трафик сервера, кроме строго необходимого.
Вот как это сделать.
Прежде чем следовать руководству, убедитесь,
что на вашем сервере не включены другие фаерволы.
Хотя руководство написано для Ubuntu, необязательно использовать именно эту ОС. Логика
процесса одинакова для других операционных систем.
well.
1. Установка UFW
Сначала установите UFW.
sudo apt install ufw
2.
Блокировка всех входящих и исходящих соединений
Отключите UFW перед выполнением следующих команд, так как они могут
прервать соединение с вашим сервером:
sudo ufw disable
приведённые ниже команды заблокируют все пакеты, которые пытаются
войти на ваш сервер или выйти с него. позже мы разрешим только те соединения, которые
нужны нашим пользователям:
sudo ufw default deny incoming
sudo ufw default deny outgoing
3. Разрешение
собственного подключения к серверу
Теперь разрешим входящие соединения на порт 22 — порт,
используемый для установки SSH-соединений. Хотя всегда рекомендуется
сменить порт SSH на другой:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Исходящие соединения уже заблокированы, но мы дополнительно
заблокируем все исходящие пакеты с портом 22 в качестве назначения (на
случай если вы измените политику по умолчанию в будущем). Это лишит
вас и ваших пользователей возможности подключаться к другим серверам через SSH на порту
22. Несмотря на кажущееся неудобство, это устраняет одну из наиболее
частых причин блокировки сервера. С помощью этой
команды ни один пользователь не сможет выполнять SSH брутфорс-атаки с
вашего сервера:
sudo ufw deny out 22/tcp comment “Stops SSH brute force”
После того как входящие соединения на порт 22 разрешены, можно включить
фаервол, не теряя соединение с сервером:
sudo ufw enable
Если вы всё же потеряете соединение с сервером, воспользуйтесь
VNC для повторного доступа к серверу и отключения фаервола.
4.
Разрешение пользователям подключаться к серверу для работы с прокси/VPN
сервисы
Вашим пользователям нужно подключаться к серверу и использовать его прокси-
сервисы. Блокировка всех входящих соединений делает это невозможным для
них. Поэтому нужно открыть порты прокси/VPN, которые используют пользователи для
Например, допустим, мы хотим разрешить пользователям подключаться к порту 1194, который
обычно используется для OpenVPN. Для этого введите следующую команду:
sudo ufw allow in 1194/tcp comment “OpenVPN port for users”
Или, если вы запускаете OpenVPN через UDP:
sudo ufw allow in 1194/udp comment “OpenVPN port for users”
Та же логика применима к другим VPN и прокси-серверам —
просто узнайте, к какому порту должны подключаться ваши пользователи, и разрешите входящие
подключения к нему.
Теперь пользователи могут подключаться к вашему серверу и к VPN, однако
они не смогут устанавливать соединения с внешними ресурсами. В этом и заключается
смысл белого списка: пользователи не смогут подключиться ни к каким
портам, пока мы явно это не разрешим. Такой подход снижает вероятность
получения жалоб на злоупотребления.
5.
Разрешаем пользователям посещать сайты и использовать
приложения
Теперь разрешим исходящий трафик на порты, которые используются для просмотра
веб-страниц и выполнения API-запросов к веб-серверам. Для этого нужно разрешить
TCP порт 80 и TCP порт 443. Разрешение UDP порта 443 также
позволит пользователям устанавливать HTTP3-соединения:
sudo ufw allow out 80/tcp comment “HTTP connections”
sudo ufw allow out 443 comment “HTTPS and HTTP3 connections”
6. Разрешение
различные сервисы по мере необходимости
Как правило, достаточно открыть порты 80 и 443, но для полноценной работы
отдельных приложений или программного обеспечения может потребоваться разрешить
пользователям использовать и другие порты.
Рекомендуется самостоятельно изучить вопрос и открывать только те
порты, которые действительно необходимы. У большинства популярных приложений есть
документация по сети с информацией для сетевых администраторов,
таких как вы. В этих документах можно найти порты, которые использует
приложений, используйте их и также добавьте в белый список. Ниже приведём несколько популярных
в качестве примеров.
WhatsApp
(Без видео и голосовых звонков):
sudo ufw allow out 443/tcp comment “WhatsApp”
sudo ufw allow out 5222/tcp comment “WhatsApp”
Git:
sudo ufw allow out 9418/tcp comment “Git”
Некоторые сервисы, например Discord,
Zoom,
или голосовые и видеозвонки WhatsApp требуют широкого диапазона портов UDP, вам
можете открывать их по своему усмотрению.
Мягкий режим:
Блокировка
В белом списке вы блокируете всё и разрешаете только определённые порты. В
при использовании чёрного списка вы разрешаете всё, но блокируете конкретные порты.
1. Установка UFW
Сначала установите UFW
sudo apt install ufw
2. Блокировка
входящие подключения
Отключите UFW перед выполнением следующих команд, так как они могут
прервать соединение с вашим сервером:
sudo ufw disable
Входящие соединения стоит блокировать все, кроме тех, которые нужны для работы сервисов
определённых сервисов. Поэтому заблокируем весь входящий трафик:
sudo ufw default deny incoming
Обратите внимание: на этот раз вы не блокируете все исходящие соединения.
Это позволяет вашим пользователям подключаться к любому порту. Данная функция не
рекомендуется только в том случае, если вы полностью доверяете своим пользователям.
3.
Подключайтесь к своему серверу
Теперь разрешим входящие подключения на порт 22 — это порт
используется для установки SSH-соединений с вашим сервером. Хотя это
всегда хорошая идея — сменить порт SSH на другой:
sudo ufw allow in 22/tcp comment “Allows me to SSH to my server”
Если вы хотите заблокировать порт SSH, чтобы предотвратить злоупотребления, связанные с брутфорс-атаками через SSH,
воспользуйтесь следующей командой:
sudo ufw allow out 22/tcp comment “Block Outgoing SSH ”
4. Блокировка BitTorrent
По той же логике необходимо заблокировать порты, используемые для
BitTorrent. Поскольку таких портов несколько, потребуется провести исследование и заблокировать публичные IP-адреса трекеров, а также порты,
которые обычно используются для BitTorrent.
которые обычно используются для BitTorrent.
Если у вас остались вопросы, не стесняйтесь обращаться к нам через отправив заявку
тикет.
Также в разделе «Безопасность»
Похожие руководства.
Нужна помощь с чем-то другим?
Среднее время ответа — менее 1 часа. Живые специалисты, не боты.