NIX-ПРЕДОХРАНИЛОВО

вся правда об ipchains

Спецвыпуск Xakep, номер #024, стр. 024-022-2


Так подожди-ка, я уже запутался, а как файрволл определяет, по какой цепочке проверять пакет? Все очень просто, как апельсин... Если пакет приходит из внешнего мира (скажем, по Ethernet карте или по момеду) и предназначен драндулету, на котором работает firewall (а вернее - локальным процессам), то он проверяется по входной цепочке. Если же, наоборот, пакет был создан локальным процессом и предназначен для внешнего мира, то он проверяется по выходной цепочке. Если же пакет приходит из внешнего мира, но предназначен другим компам, тогда он проверяется по пересылочной цепочке. Правда, тут есть одна хитрость - этот механизм (пересылочный) не будет работать в том случае, если в ядре запрещена маршрутизация (т.е. передача пакета с одного компа на другой - фактически с одного сетевого интерфейса на другой), в этом случае пакет будет разрушен.

КОЛБАСИМСЯ С ЦЕПОЧКАМИ

Сначала научимся создавать новые цепочки, это делается при помощи команды «ipchains -N имя_цепочки». При этом имя цепочки не должно превышать восьми символов, а также не должно совпадать со стандартными именами цепочек и операций (input, output, forward, ACCEPT, DENY, REJECT, MASQ, REDIRECT, RETURN). Кроме того, рекомендуется задавать имена цепочек в нижнем регистре.

Даже в том случае, если ты безвылазно проводишь свою жизнь в танке, ты должен понимать, что, кроме создания цепочки, у тебя должна быть и возможность пристукнуть ее в темном уголке твоей (или чужой :)) операционки. Тут тебе на помощь приходит заветная буква X (прикинь, насколько она многолика, эта великая буква русского и латинского шрифта!). Соответственно команда, которая позволяет тебе выполнить это магическое деяние, выглядит так: «ipchains -X имя_цепочки». Удаление цепочки произойдет в том случае, если она существует, она пустая (т.е. в ней нет ни одного правила), а также если в других цепочках нет правил, ссылающихся на нее.

А как я удалю цепочку, если она не пустая? Очень просто - ее надо пропылесосить от правил, а вернее отправососить :). Это делается с помощью команды «ipchains -F имя_цепочки». И будь осторожен, если ты не укажешь имя цепочки, то ко всем правилам во всех цепочках придет в гости безоговорочный звездец.

Просматриваются цепочки по команде «ipchains -L имя_цепочки». Если имя не указано, то будут показаны все цепочки. Вместе с флагом -L можно также указывать следующие флаги: -n (не преобразовывать IP-адреса в символьные), -v (дополнительная инфа по правилам, счетчики пакетов и байт), -x (получить точные численные значения, например, вместо 2K bytes будет написано 2048 bytes).

Обнуление счетчиков происходит по команде «ipchains -Z имя_цепочки». Как можно догадаться, если имя цепочки не задано, то обнуляться будут счетчики всех цепочек. Наконец, политику цепочки можно определить с помощью команды «ipchains -P имя_цепочки политика». Политика бывает ACCEPT (принять), DENY (грохнуть) и REJECT (злобно грохнуть, т.е. грохнуть и отправить уведомление отправителю). Политика может задаваться только для встроенных (built-in) цепочек - входной, выходной и пересылочной. Для пересылочной цепочки также возможно значение политики MASQ, но я тебе рекомендую забыть об этом значении, если ты хочешь нормальной безопасности.

Назад на стр. 024-022-1  Содержание  Вперед на стр. 024-022-3