Инструменты безопасности с открытым исходным кодом

         

Использование Iptables


Идея, лежащая в основе Iptables и Ipchains, состоит в создании каналов входных данных и их обработке в соответствии с набором правил (конфигурацией вашего межсетевого экрана) с последующей передачей в выходные каналы. В Iptables правила располагаются в таблицах, а внутри таблиц - в цепочках. Основными цепочками, используемыми в Iptables, служат:

  • Input.
  • Forward.
  • Prerouting.
  • Postrouting.
  • Output.

Общий формат инструкций Iptables таков:

Iptables команда спецификация_правил расширения,

где команда, спецификация_правил и расширения - это одна или несколько допустимых опций. В табл. 3.3 перечислены команды Iptables, а табл. 3.4 содержит спецификации правил Iptables.

Таблица 3.3. Команды Iptables

КомандаОписание
-A цепочкаДобавляет в конец указанной цепочки одно или несколько правил, заданных в инструкции вслед за командой
-I цепочка номер_правилаВставляет правила в позицию с заданным номером в указанной цепочке. Это полезно, если вы хотите перекрыть правила, заданные ранее
-D цепочка спецификация_правилУдаляет из указанной цепочки специфицированные номером или текстом правила
-R цепочка номер_правилаЗаменяет правило в позиции с заданным номером в указанной цепочке
-L цепочкаВыдает все правила в цепочке. Если цепочка не задана, выдаются все цепочки
-F цепочкаСбрасывает все правила в цепочке, по сути ликвидируя конфигурацию вашего межсетевого экрана. Это полезно в начале конфигурирования, чтобы гарантировать отсутствие существующих правил, способных конфликтовать с вашими новыми правилами
-Z цепочкаОбнуляет все счетчики пакетов и байтов в указанной цепочке
-N цепочкаСоздает новую цепочку с заданным именем
-X цепочкаУдаляет указанную цепочку. По умолчанию удаляются все цепочки
-P цепочка политикаЗадает политику для указанной цепочки

Таблица 3.4. Спецификации правил Iptables

Спецификация правилаОписание
-p протоколЗадает протокол, которому соответствует правило. Допустимыми типами протоколов являются icmp, tcp, udp и all
-s адрес/маскаЗадает определенный адрес или сеть для соответствия. Используется стандартная нотация с косой чертой для указания диапазона IP-адресов
-j цельУказывает, что делать с пакетом, если он соответствует спецификациям. Допустимыми опциями для цели являются:
DROPОтбрасывает пакет без всяких дальнейших действий.
REJECTОтбрасывает пакет и посылает в ответ пакет с уведомлением об ошибке.
LOGПротоколирует пакет в файле.
MARKПомечает пакет для дальнейших действий.
TOSИзменяет поле TOS (тип обслуживания).
MIRRORМеняет местами исходный и целевой адреса и посылает пакеты обратно, по сути "отражая" их назад отправителю.
SNATТрансляция исходных сетевых адресов. Эта опция применяется при выполнении трансляции сетевых адресов. Исходный адрес преобразуется в другое статическое значение, определенное с помощью ключа - to-source.
DNATТрансляция целевых сетевых адресов. Данная опция аналогична предыдущей, но применяется к целевым адресам.
MASQМаскарад с помощью общедоступного IP-адреса.
REDIRECTПеренаправляет пакет.

Существуют и другие команды и опции, но мы перечислили самые распространенные операции. Весь список команд можно найти в оперативной справке Iptables, набрав man iptables в командной строке.



Содержание раздела