Настройка Iptables с нуля
sergicus 10 июня, 2005 - 21:14
У меня вот такая проблема - я хочу настроить iptables
Перечитал гору литературы, слегка запутался - сами понимаете это не outpost
Ввожу
genni root # iptables -P INPUT DROP genni root # iptables -P OUTPUT DROP genni root # iptables -P FORWARD DROP
Проверяю
genni root # iptables -L Chain INPUT (policy DROP) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination genni root #
Делаю разрешение работы с loopback
genni root # iptables -A INPUT -i lo -j ACCEPT genni root # iptables -A OUTPUT -o lo -j ACCEPT genni root # iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere
Как я понял теоретически мой комп должен быть полностью отгорожен от сети???
Я работаю в gnomе - там есть апплет МОНИТОР СЕТИ - и меня вот что волнует - когда я на него смотрю я вижу как eth0 принимает какието пакеты , и что то отссылает ( правда очень немного) - и возиникает вот такой вопрос - Я ЧТО ТО СДЕЛАЛ НИПРАВИЛЬНО?? - ведь по умолчанию ко мне ничего на этот интерфейс не должно приходить??
»
- Для комментирования войдите или зарегистрируйтесь
Попрежнему разбираюсь с iptables
В продолжение предыдущей темы - ввожу команду
iptables -L -v
Выводиться
Вот недавно вывел - и мне непонятно полностью ли меня защищают эти правила которые я установил по умолчанию. Пожалуйста посоветуйте а то я не понимаю.
Мне также непонятен вот такой вопрос - я недавно нашел такой документ iptables-tutorial-1.1.19 - в нем приведено большое количество примеров, но мне непонятно одно, там часто встречаються примеры цепочек -
IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
и вот мне не понятно, а где в gentoo надо задавать эти переменные - вот нпример -
$INET_IFACE
и прочие?????На Опен нете есть хороший мануал по настройке IPTABLES. Рекомендую ознакомиться с ним и делать по нему :)
$INET_IFACE задается в файле
/etc/rc.firewall
, туда же рекомендую прописывать команды для правил.В большинстве док по IPTABLES авторы ориентируются на шапку, а она сильно отличается от генты, как минимум структурой каталогов и местонахождением конфигов.
Еще в русском Вики есть пара мануалов по настройке всего этого хохяйства в генте. Их тоже рекомендую к прочтению.
Удачи!
Спасибо за ответ
А у меня нет такого файла - его надо просто создать или еще поставить какуюнибуть прогу??
Спасибо за ссылку - их я уже прочитал - но все это + много других доков = легкая каша в голове.
Сейчас думаю.
Моя задача настроить iptables так что бы я мог получать доступ к сайтам ( как в локальной реутовской сети так и в интернете), работать с ftp, ssh, получать почту по протокулу pop3 - щас думаю??
Проблема в том что меня смущают переменные которые есть во многих примерах - где их задавать??
поставь редхэтобразный дистр заместо Gentoo Linux, тогда появится... иначе никак =)
_________________
GNU/Wonderland -- GNU/Страна чудес, страна, в которой вы часто бываете, но, в которую, что примечательно, не надо оформлять визу.
Тогда вопрос - а как задавать эти переменные именно в gentoo.
Не обязательно ставить шапкоподобный дистриб.
Как я уже писал, на опеннете есть мануал, а в нем пример этого файла.
Я в генте его создавал, вставлял туда пример с опеннета и правил в соответствии с моими нуждами
и работало? сильно сомневаюсь... этот файл должен "считываться" инит скриптами, кои в Генту и в РедХэтообразных ооооочень сильно различаются легче самому заменить эти переменные их значениями.
_________________
GNU/Wonderland -- GNU/Страна чудес, страна, в которой вы часто бываете, но, в которую, что примечательно, не надо оформлять визу.
рц.фаерволл -- это же обычный бэш-скрипт и в принципе к этим переменным потом доступ не нужен.
Я же говорил, что все настройки фаервола храню в этом файле. В нем же и задаю переменные :)
Запускаю этот (
/etc/rc.firewall
) файл и все :)Но v12aml прав, можно и в инит-скриптах задавать их, а, ИМХО, gentoo-way -- это задать их в файле типа
/etc/env.d/01network
:)_________________
Contrary to popular belief, UNIX is user-friendly. It just happens to be very selective about who it decides to make friends with. A. Haiut.
Ребята, опомнитесь! Какой в ж. редхэтобразный дистр. Он и рядом с gentoo не валяется!
Совсем парня с этим
/etc/rc.firewall
с толку сбили.. Сейчас по делу.Пиши скрипт примерно такого содержания:
Т.е смысл в следующем. Через правило
$IPTABLES -P OUTPUT ACCEPT
ты шлёш запрос куда угодно. Ответы по udp проходят через$IPTABLES -A INPUT -p udp -j ACCEPT
а по tcp
$IPTABLES -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
далее отрываем порты (напр 139,22,80) для входящих (ещё не установленных) соединений.
Делаешь этот скрипт исполняемым (
chmod 777
скрипт) и запускаешь./скрипт
смотрим что получильсь
iptables-save
проверяем, если чтот-то надо поменять, редактируем скрипт и снова его запускаем.
Когда все заработает делаем
/etc/init.d/iptables save
эта команда запишет вывод
iptables-save
в/var/lib/iptables/rules-save
который будет подхватываться при загрузке, ессно для этого надо сделать
rc-update add iptables default
Все, теперь свой скрипт спрячь подальше до того момента, пока не захочешь че нить поменять, он уже не нужен.
все конечно хорошо...
все, конечно, хорошо и правильно... но какой смысл в этом скрипте то?
_________________
GNU/Wonderland -- GNU/Страна чудес, страна, в которой вы часто бываете, но, в которую, что примечательно, не надо оформлять визу.
Re: все конечно хорошо...
В смысле зачем он нужен? Ну можно конечно и вручную вбивать в консоль подобные правила, а потом сделать /etc/init.d/iptables save, или например сразу напрямую отредактировать /var/lib/iptables/rules-save.
Кому как нравиться. Но если что-то надо будет поменять, то IMXO проще отредактировать и выполнить этот скрипт.
спасибо, теперь и мне даже понятно, кстати на всякий случай что-б пионеры пингом трафик не нагнали где критично делаю
$IPTABLES -A OUTPUT -o $ваша_внешняя_карточка -p icmp -j DROP
$IPTABLES -A FORWARD -o $ваша_внешняя_карточка -p icmp -j DROP
ИМХО, проще будет /var/lib/iptables/rules-save редактировать... бэкап только не забыть сделать ;)
А скрипт - это просто лишный шаг
_________________
GNU/Wonderland -- GNU/Страна чудес, страна, в которой вы часто бываете, но, в которую, что примечательно, не надо оформлять визу.
Большое спасибо всем кто ответил
Я недавно поднимал такой вопрос в рассылке comp.soft.linux.discuss, мне один из читалелей прислал вот этот скрипт
Поэтому скрипту мне многое непонятно
Правильно ли я понял
1.
В этот файл записываеться местонахождение правил
FIREWALL=/etc/firewall.rules
а у сеья я должен записать в
/var/lib/iptables/rules-save
(ну где они у меня храняться)2.
Моя конфигурация на данный момент такая - есть только eth0 - ip адрес
я получаю при момощи dhcp сервера локальной реутовской сети - его адрес
10.0.0.1
(этот адрес я узнал звоня в службу поддержки) - т.е. я долженуказать его в этой графе.
3.
В будущем я собираюсь подключаться к интернету по выделенной линии
- т.е. будет интерфейс
pptp0
- нужно ли для него что нибуть резервировать?4.
IIP=10.19.2.10
Это к чему относиться?
5.
LOCAL_NETWORK=10.19.2.0/24
Что писать мне заместо этого, как определить?
6.
OIP=172.16.0.9
Что это за адрес и что писать мне заместо него?
И еще самый главный вопрос - безопасен ли сам скрипт, а то я не хочу запускать у себя на компе не очень мне понятные скрипты.
P.S.
Мне советуют guarddog - она являеться надстройкой над iptables - имеет ли ее смысл использовать.
Это действительно не очено понятный скрипт :)
Он помимо создания правил, выполняет функции, которые должен выполнять
/etc/init.d/iptables
(start
,stop
и т.д.)1. Да, в этот файл он записывает правила в формате
iptables-save
.Если будешь использовать подобный скрипт, убери из
default
уровня/etc/init.d/iptables
. А путь к этому файлу правил не суть важно. Просто отредактируй переменнуюFIREWALL=/var/lib/iptables/rules-save
2. Да, написать надо
3. А вот тут надо будет весь скрипт редактировать, удалять/добавлять правила, в общем без знания что в нём как работает будет трудно :)
4. input ip. Наверное этот скрипт работал на шлюзе, и имелось в виду ну может быть input ip - ip, присвоенный сетевой, которая смотрит во внутреннюю сеть, а
OIP
- соответственно во внешнюю...5. У, как всё запущено...
Наверное это указывается адрес локальной сети :)
Эта запись равносильна
10.19.2.0/255.255.255.0
у тебя видимо будет
10.0.0.0/8
если не ошибаюсь, к какому классу сети относится этот диапазон адресов, по моему к А. В общем маску подсети узнай.6. У тебя же одна сетевая :)
И последний ответ на вопрос.
Этот скрипт очень опасен, в первую очередь для мозгов :). Кроме того он тебе совершенно не подходит. Зато в нем есть много чего интересного :)
PS. На счет guarddog ничего сказать не могу, но я наверное не ошибусь, если посоветую поставить webmin, там ты точно разберёшся как что настроить, к тому же я считаю, что разработчикам удалось сохранить гибкость конфигурации firewall. Webmin - это web интерфейс ко многим настройкам системы. Хотя я не сторонник такого подхода к изучению и настройке unix-подобных систем.
Гораздо полезнее будет распечатать и прочитать хотябы пару раз вот это -
http://www.opennet.ru/docs/RUS/iptables/
Очень толковая штука. Я правда с первого раза не всё переварил, пришлось второй раз перечитывать, но зато потом всё стало на свои места.
IPTABLES
Не знаю как там у тебя но я мутил все по - вот этой ссылки ))
http://www.posix.ru/network/iptables/
есть много вариаций, но вроде тут должно быть все понятно.
У меня шлюз на RH9 - так что обезопасить машинку мне удалось.
а система
а система обнаружения вторжений стоит???
Re:
Приведу цитату из "толковой штуки"
"Данное руководство предполагает наличие у читателя начальных сведений о Linux/Unix, языке сценариев командной оболочки. Кроме того, вы должны знать - как пересобрать ядро операционной системы и иметь некоторое представление о его внутреннем устройстве."
А где можно почитать чайнику толковую инструкцию написанную кухонным языком, да еще с примерами, которые были бы понятны даже домохозяйке, а не только продвинутому юзеру?
Это типа
Это типа "нажмите такую-то кнопку и всё будет хорошо"?
проблема в том
проблема в том что если расчитывать на уровень ниже, то тогда нужно будет включить курс по ведру/скриптам/и т.п. в эту статью, а таках много и захламлять ненужно
Добавить
В последней строке скрипта от Rinus'a (Rinus в 19 Июнь, 2005 - 11:42) нужно добавить еще "-j ACCEPT".
Подключение к mysql
Пытаюсь подключится к mysql удалённо но видима iptables не даёт, как это исправить?
Заранее спасибо.