Программирование

Firewall

Что такое Firewall?

Firewall смотрит на пакет: откуда пришёл, куда идёт и какой это порт. Если правило совпало, пропускает. Если нет, отбрасывает. Это не проверка внутри программы. Это дверь сети. Он не шифрует. HTTPS — отдельная тема.

Для чего нужен Firewall?

Он нужен, чтобы на сервере был открыт только нужный порт.

  • Держать порт SSH ограниченным
  • Открыть 80 и 443 для веба
  • Не открывать порт базы наружу
  • Повторить группу безопасности облака

Что можно делать с Firewall?

Через ufw пишут короткое правило. enable до разрешения SSH может отрезать тебя от сервера. Security group в панели облака — вторая дверь. Если закрыты обе, трафик не дойдёт.

Сложно ли освоить Firewall?

Открыть один порт легко. Трудность в порядке: сначала разрешение, потом включение. Путаница входящего и исходящего трафика заставляет службу молчать. Firewall не чинит ошибку программы и слабый пароль.

Плюсы и ограничения

Плюс: открытых портов меньше, правило читается. Ограничение: внутрь зашифрованного трафика он не смотрит, неверное правило может запереть тебя. Приложение всё равно должно проверять само.

Основные понятия

Порт — это номер. 22 для SSH, 80 для HTTP, 443 для HTTPS. Default deny закрывает всё остальное.

  • ufw — простой фасад в Ubuntu
  • nftables — уровень ниже
  • security group — firewall облака
  • allow from IP может разрешить только один адрес

Короткий пример

Этот порядок сначала открывает SSH и HTTPS, потом включает firewall. Поменяй правило SSH под свой порт.

sudo ufw allow OpenSSH
sudo ufw allow 443/tcp
sudo ufw enable

Частые вопросы

  • Firewall — это антивирус? Нет. Это сетевое правило.
  • Firewall заменяет HTTPS? Нет. Один выбирает порт, другой шифрует трафик.
  • Закрыть всё — безопасно? Можно закрыть и свой вход. Сначала открой порт управления.