По умолчанию принимать или отвергать?


Один из важнейших вопросов в любой системе защиты — принимать ли все пакеты по умолчанию или же отвергать их. Принятие по умолчанию означает разрешение соединений любого типа, за исключением тех, которые запрещены явным образом. Отвергать по умолчанию значит разрешать соединения лишь с указанных адресов Интернета, а все другие соединения запретить. Действие по умолчанию выполняется всегда, если явно не определено правило, диктующее иную реакцию. Выбрав стратегию по умолчанию, можно регулировать доступ к системе, ограждая или открывая те или иные сервисы. На самом деле выбор между принятием или запрещением по умолчанию — это выбор между предоставлением сервисов всему миру или же немногим избранным.

Например, политика компании может диктовать условия, при которых корпоративный веб-сервер должен быть доступен только для пользователей корпоративной сети. Такая стратегия означает запрет по умолчанию и явное указание тех, кто может устанавливать соединение с системой. Альтернативный подход — открыть систему для всех, за исключением некоторых сегментов Интернета. Такая стратегия означает принятие по умолчанию. Я всегда рекомендую использовать политику запрещения доступа по умолчанию. Если вы еще не определились в выборе — выбирайте политику разрешения доступа по умолчанию.

Следует отметить, что выбор той или иной стратегии не означает, что все сервисы в системе должны следовать установке по умолчанию. Для своих общедоступных веб-серверов я выбираю политику запрета по умолчанию и явным образом разрешаю всеобщий доступ к веб-сайтам. Запросы на установление соединения с другими программами, расположенными на этой машине, отклоняются, если они не исходят с нескольких специально указанных IP-адресов. Это совершенно приемлемая стратегия запрета по умолчанию.

Различные средства обеспечения безопасности реализуют эти политики различными способами. Например, при использовании программы TCP Wrappers применяется первое совпавшее правило. Если последнее правило отвергает все попытки соединения, то тем самым вы применили политику, которая гласит: «Запретить любые соединения, если выше отсутствует правило, которое разрешает прохождение этого трафика». С другой стороны, в пакетном фильтре используется логика последнего совпавшего правила. Если первое правило блокирует все виды трафика, то тем самым вы применили политику, которая гласит: «Запретить любые соединения, если ниже отсутствует правило, которое разрешает прохождение этого трафика».

Обе эти политики осложняют жизнь системного администратора. Если по умолчанию вы разрешаете все соединения, то вам постоянно придется тратить время на затыкание дыр. Если по умолчанию вы запрещаете все соединения, то вам придется тратить время на разрешение доступа тем, кому это необходимо. При использовании политики запрета по умолчанию вам постоянно придется говорить фразу: «Я только что открыл вам доступ к службе. Приношу свои извинения за доставленные неудобства». При использовании политики разрешения по умолчанию вам постоянно придется говорить: «…именно поэтому злоумышленники смогли проникнуть в нашу базу данных, из-за чего компания потеряла миллионы долларов». В последнем случае вам едва ли удастся отделаться фразой: «Приношу свои извинения за доставленные неудобства».

Комментарии запрещены.