Смоленск 1.6 Мандатные метки и iptables

Сообщения
66
#2
to artisstm
Насколько знаю, работы ведутся. Разработчиком ГОСТ был в том числе и разработчик Astra, так что ему и карты в руки (думаю, в 1.7 добавят нечто подобное). Знаю об ОКР под МО РФ, которые также пилили схему передачи мандатных меток по сети...
Можно попробовать костыль на базе mangle-цепочки в iptables и установки/чтения битов ToS:
  • снести ufw, поставить iptables (в Astra 1.6 по умолчанию отсутствует), очистить таблицы iptables;
  • сделать systemd-сервис, который отслеживает метку, выбранную пользователем при логине;
  • если нужен запрет сетевого обмена трафика с меткой >0, то сервис выполняет iptables -P OUTPUT DROP и/или iptables -P INPUT DROP (более тонкий вариант с протоколами и портами по вкусу);
  • если нужно разрешить передачу трафика с клиента (АРМ) с меткой >0, то сервис маркирует трафик через iptables -t mangle -A POSTROUTING -p протокол --dport порт -j TOS --set-tos 0xYYY, где YYY - число выше 100 (например), символизирующее ту или иную мандатную метку;
  • на приемной стороне (АРМ, сервер) аналогичный сервис выполняет чтение поля TOS и выносит решение, пропустить или запретить.
Это все, конечно, примитив, и под промышленное решение явно не тянет. Но, возможно, полезный вариант. Главное, чтобы между источником и приемником не было промежуточных маршрутизаторов. Иначе есть риск неверной обработки пакетов из-за внесения изменений в поля ToS (собственно, приоритезация трафика)...
С другой стороны, проглядев ГОСТ, так и не понял, заложена ли в нем защита от MtM-атак? Потому что маркировка мандатами ip-пакетов - это одно, а комплексность подхода - совсем другое, ага...