Вопрос для вводной лекции, определяющий направление всего курса
UPD: голосованием был выбран второй вариант.
(источник)
Думаю в начавшемся семестре в какой-то степени воспроизвести спецкурс по МЭ. В узкой (LecturesCMC/UnixFirewalls2009) или расширенной (LecturesCMC/Firewall2005) форме ? я пока не решил, и в этом вопрос.
Поясню: если firewall ? это (цитирую самого себя) ?ограничение, перенаправление, преобразование и отслеживание сетевого трафика?, то разумеется одними только iptables/nftables/pf/ipfw/npf дело совершенно не исчерпывается. Но в этом случае очень легко свалиться в перечисление всевозможных способов жевать трафик и соответствующих инструментов. Или жестко фильтровать темы. Вот курс 2005 года был принципиально такой кусочками, но этого не хочется.
С другой стороны, если ограничиться только объемом, скажем, PF (сетевой и транспортный уровни), то можно рассказать о том, как одна и та же задача решается разными инструментами. Это поможет слегка просветлиться народу, изначально далекому от понимания это самой задачи (на самом деле именно ее труднее всего понять, читая документацию по инструментам). Так устроен курс 2009 года. Он получился интересный.
Первый вариант можно отфильтровать так: принципиально рассказывать про именно Linux-based системы. В этом случае iptables окажется практически один в ряду ?ebtables - iptables - tc/ipsec и др - прикладные жевалки - shorewall и подобные?. Одну-две-три подсистемы из каждого уровня можно разобрать подробнее и даже реализовать на стенде (если не ограничиваться Linux, это уже будет зоосад, а не стенд). Про остальное только упомянуть. Но как объяснять файрволлы без PF? Не побоюсь этого слова, не начиная с PF?
Вот такие три пути вырисовываются:
- Систематичный, но поверхностный обзор: что можно сделать с трафиком
Задачи МЭ на примере сравнительного изучения различных реализаций TCP/TP firewall
- Межсетевые экраны в Linux, как они есть