Сведения о вопросе

Martincow

19:39, 13th August, 2020

Теги

Как бы я начал писать свой собственный брандмауэр?

Просмотров: 454   Ответов: 3

В google на эту тему мало что есть, кроме людей, задающих этот самый вопрос.

Как бы я начал писать свой собственный брандмауэр?

Я ищу, чтобы написать один для платформы windows, но я также был бы заинтересован в этой информации для других операционных систем тоже.



  Сведения об ответе

PAGE

13:19, 24th August, 2020

Для Windows 2000/XP есть статья с примерами по CodeProject разработке брандмауэров для Windows 2000/XP

Для Vista, я думаю, вам нужно будет использовать платформу фильтрации Windows


  Сведения об ответе

SKY

11:34, 6th August, 2020

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

  • воплощайте в себе многолетний опыт и постоянное совершенствование,
  • вероятно, они гораздо более безопасны, чем любое доморощенное решение, и
  • учитывайте дополнительные требования, такие как эффективность.

Брандмауэр должен проверять каждый пакет эффективно и точно, и поэтому он работает в пределах OS kernel или сетевых стеков. Ошибки или неэффективность ставят под угрозу безопасность и производительность всей машины и тех, кто находится ниже по потоку.

Создание собственного низкоуровневого брандмауэра-это отличное упражнение, которое обеспечит обучение по многим технологиям. Но для любого реального приложения гораздо безопаснее и разумнее построить shell вокруг существующего брандмауэра API. Под Windows команда netsh сделает это; Linux использует netfilter и iptables . Если вы загуглите любую из них, то обнаружите множество теорий, примеров и другой полезной информации.

Итак, для начала я хотел бы освежить в памяти TCP/IP (в частности, информацию о заголовке: порты и протоколы), а затем узнать о различных типах атак и способах их обнаружения. Узнайте о каждой интересующей вас операционной системе и о том, как она взаимодействует с сетевыми стеками. Наконец, подумайте об администрировании и протоколировании: как вы настроите свой брандмауэр и пакеты trace через него, чтобы убедиться, что он делает то, что вы хотите?

Удачи вам!


  Сведения об ответе

PHPH

04:41, 9th August, 2020

Обычный подход заключается в использовании API зацепления. Google может научить вас этому. Просто зацепите все важные сетевые вещи, такие как connect 'S и listens 's, и откажитесь от того, что вы хотите.


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

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться