У меня есть Debian VPS, который мне нужно защитить. Я хотел бы, чтобы сервер имел доступ только через ssh и openvpn. после подключения никакие ограничения не применяются. Также блокируйте сканеры и пингуйте до сервера. Так как я застрял с набором команд iptables, мне нужна помощь, пожалуйста. На данный момент iptables:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
iptables -P INPUT DROP
iptables -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 1194 -j ACCEPT
iptables -P OUTPUT DROP

подключившись, вы сможете просматривать Интернет. Также я хотел бы, чтобы система могла отправлять электронные письма, DNS-запросы.

1 ответ1

2

Большинство ваших требований ясны, например:

  • Debian VPS должен иметь возможность отправлять электронные письма
  • Debian VPS должен иметь возможность запрашивать DNS-серверы
  • блочные сканеры от Debian VPS
  • ваш компьютер должен иметь возможность устанавливать сеансы SSH на VPS
  • ваш компьютер должен иметь возможность устанавливать сеансы openVPN на VPS

Для меня непонятно, «как только подключишься, то сможешь просматривать Интернет». У меня есть предположение, хотя. ;)

отправлять электронную почту

В зависимости от того, какой протокол вы хотите использовать для отправки электронной почты, откройте соответствующий порт (например, TCP-порт 25 или TCP-порт 587; Я буду использовать 25 в следующем примере):

iptables -I OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT

Затем вам нужно разрешить входящий обратный трафик с удаленного почтового сервера:

iptables -I INPUT -p tcp -m tcp --sport 25 -j ACCEPT

или лучше:

iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED --sport 25 -j ACCEPT

(разрешить весь tcp возвращать трафик с порта 25 в соединении, установленном вашим Debian VPS).

DNS-запросы

Это очень похоже на отправку писем:

iptables -I OUTPUT -p udp --dport 53 -j ACCEPT
iptables -I INPUT -p udp -m state --state ESTABLISHED,RELATED --sport 53 -j ACCEPT

SSH и openVPN

это то, что вы уже настроили сами

просматривать интернет

Я предполагаю, что вы хотите

  • подключиться к Debian VPS через openVPN
  • просматривать Интернет через Debian VPS
  • так что ваш компьютер дома выглядит как Debian VPS (с точки зрения общедоступного IP-адреса)

Итак, вы хотите

включить переадресацию ядра на Debian VPS:

$ sudo sysctl -w net.ipv4.ip_forward=1

и дополнительно

$ sudo nano /etc/sysctl.conf

и убедитесь, что есть некомментированная (без # в начале) строка, которая читает

net.ipv4.ip_forward=1

включить пересылку iptables

Кроме того, вы хотите включить переадресацию в iptables: я предполагаю, что вы используете openVPN в режиме маршрутизации с использованием устройства tun (в отличие от режима мостового соединения с tap устройства с отводом и что вы используете 10.8.0.0/24 (по умолчанию openVPN) в качестве IP-адреса) спектр.

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A OUTPUT -o tun+ -j ACCEPT
iptables -A FORWARD -o eth0 -i tun+ -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

блокирующие сканеры

Ну, сканеры обычно смотрят на часто используемые порты, такие как 80, 22, 1194. Так что я лично люблю использовать разные порты. Я писал об использовании различных методов в этом посте суперпользователя здесь, используя atd чтобы помочь вам не заблокировать себя из удаленного Debian VPS. Короче говоря, вы могли бы

  • использовать SSH и openVPN каждый на свой порт
  • использовать порт стук, чтобы открыть порты по запросу

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .