ip6tables управляет, чтобы позволить порту 80 и порту 443 трафика только к нескольким определенным IP-адресам

Я использую человечность 18.04 и успешно устанавливаю nginx и uwsgi для хостинга нескольких веб-сайтов.

Мне отобразили запись AAAA на адрес IPv6 через моего поставщика DNS, и у меня есть свой nginx файл конфигурации, слушающий на портах 80 и 443 для того адреса IPv6.

Эта установка работает просто великолепно.

Однако я хотел бы ограничить трафик IPv6 портами 80 и 443 к ТОЛЬКО нескольким определенным IP-адресам.

Когда я перечисляю текущие правила ip6table с помощью ip6tables-S, существует строка к нижней части как это.

-A ufw6-user-input -p tcp -m multiport --dports 80,443 -m comment --comment "\'dapp_Nginx%20Full\'" -j ACCEPT

Я плохо знаком с iptables в целом, но от всего чтения и учебных руководств я сделал его, походит:

  1. Необходимо удостовериться, что правила в правильном порядке.
  2. Вы хотите сохранить правила в файл прежде, чем внести изменения в случае, если Вы завинчиваете что-то.
  3. После того, как у Вас есть свои правила путем, Вы хотите их, Вы хотите использовать что-то как персистентный флаг, таким образом, правила сохраняются в событии перезагрузки.

Мой вопрос - то, какие правила мне придется достигнуть установленной цели выше, и в том, какой порядок, и это будет только относиться к ipv6 трафику в 80/443 портах?

foo@example:~# sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere
80,443/tcp (Nginx Full)    ALLOW IN    Anywhere
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)
80,443/tcp (Nginx Full (v6)) ALLOW IN    Anywhere (v6)
1
задан 16 April 2019 в 02:18

1 ответ

Вы уже используете ufw. Так что установите правила с ufw .

Для IPv4 Allow In для 80,443, попробуйте:

ufw allow proto tcp from 0.0.0.0/0 to port 80,443

Для IPv6 нам нужно использовать еще несколько правил:

ufw allow proto tcp from IPV6ADDRESS/128 to port 80,443
# Do the above more than once for more than one IPv6 address
ufw deny proto tcp from ::0/0 to port 80,443

На основе man-страницы для ufw, это позволит достичь того, что вы хотите - разрешить IPv4 для TCP-портов 80 и 443, разрешить IPV6ADDRESS для TCP-портов 80 и 443 и запретить всем остальным IPv6-адресам достигать TCP-портов 80 и 443.

Обратите внимание, что вы не можете получить доступ к адресам IPv6 без возможности подключения по протоколу IPv6, поэтому, если у вас нет доступа к IPv6 в рассматриваемых полях (это IPv4), вы не сможете легко получить доступ к адресу v6.


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

0
ответ дан 16 April 2019 в 02:18

Другие вопросы по тегам:

Похожие вопросы: