безопасность нут проблемы, то следует добавить отладочной информации. Заглянув в net/ipv4/netfilter/iptable_tproxy.c, найдете строку: #ifdef CONFIG_NETFILTER_DEBUG #define DEBUGP printk
То есть отладочный режим можно активировать глобально, поставив «CONFIG_ NETFILTER_DEBUG=y» либо заменив первую строку на: #if 1
В последних версиях модуль iptable_tproxy.o загружается автоматически при запуске по мере необходимости, если используете ядро версии 2.4 или более ранние 2.6, то загрузите его вручную при помощи modprobe. # modprobe iptable_tproxy.o # lsmod | grep -i tproxy iptable_tproxy ip_nat ip_conntrack ip_tables
14340 17600 45516 9624
0 1 iptable_tproxy 2 iptable_tproxy,ip_nat 1 iptable_tproxy
Если с ядром все в порядке, то следующим шагом модифицируем и пересобираем утилиты iptables, чтобы они могли работать с новой таблицей tproxy и новой целью TPROXY. В подкаталоге iptables лежат два патча. Один – для версии iptables 1.2.7a, второй – для 1.3 # tar xzvf iptables-1.3.3.tar.gz # cd iptables-1.3.X # cat ../cttproxy-2.6.15-2.0.4/iptables/ ↵ iptables-1.3-cttproxy.diff | patch -p1 # chmod +x extensions/.tproxy-test # make KERNELDIR=/usr/src/linux-2.6.15
Zorp состоит из библиотеки libzorpll и собственно zorp. Последними версиями на момент написания статьи были libzorpll_3.1.2.2 и zorp_3.0.9.tar.gz. Каких-либо особенностей по их установке нет, делаем это обычным образом.
Настраиваем Dummy-интерфейс Во избежание недоразумений dummy-адрес не должен принадлежать реально существующему сетевому адресу. В Debian добавляем следующие строки в файл /etc/networking/interfaces: auto dummy0 iface dummy0 inet static address 10.2.3.4 netmask 255.255.255.255
В RedHat и клонах, а также SuSE это будет файл ifcfg-dummy0, лежащий в /etc/sysconfig/network: BOOTPROTO='static' IPADDR='10.2.3.4' NETMASK='255.255.255.255' STARTMODE='onboot'
И затем: # ifup dummy0
№5, май 2006
Рисунок 2. Для использования Zorp необходимо пересобрать ядро
В Slackware /etc/rc.d/ создаем файл /etc/rc.d/rc.inet4 такого содержания: #!/bin/sh DEVICE='dummy0' DHCP='no' IPADDR='10.2.3.4' NETMASK='255.255.255.255' PROBE='no' . /etc/rc.d/functions-network "$@"
И запускаем: # /etc/rc.d/rc.inet4 start
Starting network dummy0 as 10.2.3.4/255.255.255.255…
Настраиваем Zorp Для настройки Zorp используются три файла, которые по умолчанию должны лежать в /etc/zorp/. Файл instances. conf содержит список примеров Zorp, с которыми нужно работать, и запускаемые сценарием zorpctl. Другой файл, zorpctl.conf, содержит глобальные настройки, связанные с работой самого zorpctl (разрешение автоматического рестарта, pid файл, дополнительные аргументы командной строки). И третий файл, policy.py, хранит правила и политики, связанные с примерами. В файле zorpctl.conf можно пока ничего не трогать, параметры по умолчанию пригодны для работы. Рекомендую снять знак комментария лишь со следующих строк: CHECK_PERMS="1" CONFIG_DIR=/etc/zorp CONFIG_DIR_OWNER=root CONFIG_DIR_GROUP=zorp CONFIG_DIR_MODE=0750
Тогда при запуске утилиты zorpctl будут проверяться соответствующие разрешения. # zorpctl start Config directory has invalid permissions, expected: dir='/etc/zorp', owner='root', group='zorp', perm='0750'
# # # #
groupadd zorp chown root:zorp /etc/zorp chmod 0750 /etc/zorp/ zorpctl start
Starting Zorp Firewall Suite
55