Книга: Linux глазами хакера

4.13.1. Внимательное конфигурирование

4.13.1. Внимательное конфигурирование

Как я уже сказал, только предельная внимательность может обеспечить относительно спокойный сон администратора и специалиста по безопасности. Давайте разберем наиболее типичные промахи администраторов, это поможет избежать появления подобных ошибок в вашей практике.

Как вы помните, теперь у нас по три записи для цепочек input и output. А что, если вам уже не нужен больше FTP-доступ, и вы хотите его убрать. Отключив FTP-сервер, не забудьте удалить разрешающие правила из chains-цепочек.

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

Очень тяжело, если IP-адреса распределяются динамически и могут регулярно меняться. Если в вашей сети используется сервер DHCP (Dynamic Host Configuration Protocol, протокол динамической конфигурации хоста), то нужно позаботиться о том, чтобы компьютеры, которым необходим особый доступ и правила, имели жестко закрепленный адрес (например, основного шлюза). Это предотвратит случайное попадание IP-адреса в недобросовестные руки и потерю привилегий теми, кто в них нуждается.

Представьте себе, что если в нашем примере, который мы рассматривали при создании chains-цепочек (см. разд. 4.11.2), IP-адрес 192.168.8.10 случайно окажется у другого компьютера? Возникнут очень большие проблемы, потому что реальный владелец адреса потеряет доступ, а новый хозяин его получит.

Чтобы четко контролировать IP-адреса, желательно использовать DHCP-сервер и жестко фиксировать адреса тем, кто нуждается в привилегированном доступе и имеет фильтры в цепочках.

При формировании правил будьте очень внимательны. Некоторые сервисы (такие как FTP) могут требовать для своей работы более одного порта. Если вы не откроете/закроете все порты, то можете не получить необходимого результата.

При настройке сетевого экрана из графической оболочки будьте особенно осторожны. При запрете всего XWindow может зависнуть, если не найдет сетевого соединения с ядром Linux.

Я конфигурирую свой сервер через удаленное соединение по протоколу SSH. Тут тоже нужно быть аккуратным, потому что одно неверное действие может оборвать подключение и SSH-клиент теряет связь. После этого приходится идти в серверную комнату и настраивать сетевой экран прямо там.

Тестируйте все используемые соединения после каждого изменения конфигурации сетевого экрана. Внеся несколько модификаций очень тяжело найти ошибку.

Для поиска конфликтных цепочек я сохраняю конфигурацию во временный файл (любой, кроме системного /etc/sysconfig/ipchains) и распечатываю ее. На бумаге намного проще, чем на экране монитора, видеть всю картину в целом. Обращайте внимание на правильность указания параметров (адрес и порт) источника и получателя пакета. Очень часто администраторы путают, где и что прописывать.

Мысленно пройдите по каждой записи, анализируя, какие пакеты пропускаются, а какие нет. Удобней начинать обследование с цепочки input (когда пакет входит в систему). Затем проверяйте перенаправление и, наконец, выход, т.е. цепочку output. Таким образом, нужно проследить полный цикл прохождения пакета. Помните, что после первой найденной записи, соответствующей параметрам пакета, дальнейшие проверки не производятся.

При контроле записей, относящихся к TCP, помните, что этот протокол устанавливает соединение, а значит, необходимо, чтобы пакеты проходили в обе стороны. Протокол UDP не требует подключения, и пакеты можно пропускать в одну сторону — input или output. Но бывают исключения, некоторым программам нужен двусторонний обмен даже по протоколу UDP.

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

Никогда не открывайте доступ к определенному порту на всех компьютерах. Например, если просто добавить фильтр разрешения для входящих на 80 порт пакетов, то в результате этого канал будет открыт на всех компьютерах сети. Но далеко не всем он необходим. При формировании правила указывайте не только порт, но и конкретные IP-адреса, а не целые сети.

Регулярно делайте резервную копию цепочек. Для этого можно сохранять их содержимое в отдельном файле с помощью команды ipchain-save или копировать файл /etc/sysconfig/ipchains (желательно, на другой компьютер). Тогда в случае возникновения проблем можно быстро восстановить хорошие цепочки, а тестирование сетевого экрана с новыми параметрами перенести на внерабочее время.

Оглавление книги


Генерация: 0.037. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз