Настройка 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, мне один из читалелей прислал вот этот скрипт
#!/sbin/runscript IPTABLES=/sbin/iptables IPTABLESSAVE=/sbin/iptables-save IPTABLESRESTORE=/sbin/iptables-restore FIREWALL=/etc/firewall.rules DNS1=195.5.39.5 DNS2=195.5.39.9 #inside IIP=10.19.2.10 IINTERFACE=eth0 LOCAL_NETWORK=10.19.2.0/24 #outside OIP=172.16.0.9 OINTERFACE=eth1 opts="${opts} showstatus panic save restore showoptions rules" depend() { need net procparam } rules() { stop ebegin "Setting internal rules" einfo "Setting default rule to drop" $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP #default rule einfo "Creating states chain" $IPTABLES -N allowed-connection $IPTABLES -F allowed-connection $IPTABLES -A allowed-connection -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed-connection -i $IINTERFACE -m limit -j LOG --log-prefix "Bad packet from ${IINTERFACE}:" $IPTABLES -A allowed-connection -j DROP #ICMP traffic einfo "Creating icmp chain" $IPTABLES -N icmp_allowed $IPTABLES -F icmp_allowed # $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type time-exceeded -j ACCEPT # $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type destination-unreachable -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 4 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 12 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 3 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 11 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 8 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp --icmp-type 0 -j ACCEPT $IPTABLES -A icmp_allowed -p icmp -j LOG --log-prefix "Bad ICMP traffic:" $IPTABLES -A icmp_allowed -p icmp -j DROP #Incoming traffic einfo "Creating incoming ssh traffic chain" $IPTABLES -N allow-ssh-traffic-in $IPTABLES -F allow-ssh-traffic-in #Flood protection $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT einfo "Creating incoming http traffic chain" $IPTABLES -N allow-www-traffic-in $IPTABLES -F allow-www-traffic-in #Flood protection $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport www -j ACCEPT $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport www -j ACCEPT $IPTABLES -A allow-www-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport www -j ACCEPT $IPTABLES -A allow-www-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport www -j ACCEPT einfo "Creating incoming ftp traffic chain" $IPTABLES -N allow-ftp-traffic-in $IPTABLES -F allow-ftp-traffic-in #Flood protection $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 10.19.2.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 10.19.2.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 10.19.2.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.2.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.2.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 172.16.0.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 172.16.0.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 172.16.0.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 172.16.0.0/24 --sport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL RST -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL FIN -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 5/second -p tcp --tcp-flags ALL SYN -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 172.16.0.0/24 --sport 1024:65365 -j ACCEPT #Music $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL RST --dport 8020 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL FIN --dport 8020 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m limit --limit 1/second -p tcp --tcp-flags ALL SYN --dport 8020 -j ACCEPT $IPTABLES -A allow-ftp-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -m tcp --dport 8020 -j ACCEPT einfo "Creating incoming smb traffic chain" $IPTABLES -N allow-smb-traffic-in $IPTABLES -F allow-smb-traffic-in $IPTABLES -A allow-smb-traffic-in -p tcp --tcp-flags ALL SYN -s 10.19.20.0/24 --dport netbios-ssn -j ACCEPT $IPTABLES -A allow-smb-traffic-in -m state --state RELATED,ESTABLISHED -p tcp -s 10.19.20.0/24 --dport netbios-ssn -j ACCEPT $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport netbios-ns -j ACCEPT $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport netbios-dgm -j ACCEPT $IPTABLES -A allow-smb-traffic-in -p udp -s 10.19.20.0/24 --dport 445 -j ACCEPT einfo "Creating incoming ntp traffic chain" $IPTABLES -N allow-time-traffic-in $IPTABLES -F allow-time-traffic-in $IPTABLES -A allow-time-traffic-in -p udp --dport ntp -j ACCEPT #Outgoing traffic einfo "Creating outgoing ssh traffic chain" $IPTABLES -N allow-ssh-traffic-out $IPTABLES -F allow-ssh-traffic-out $IPTABLES -A allow-ssh-traffic-out -p tcp --dport ssh -j ACCEPT einfo "Creating outgoing dns traffic chain" $IPTABLES -N allow-dns-traffic-out $IPTABLES -F allow-dns-traffic-out $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS1 --dport domain -j ACCEPT $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS2 --dport domain -j ACCEPT einfo "Creating outgoing http/https traffic chain" $IPTABLES -N allow-www-traffic-out $IPTABLES -F allow-www-traffic-out $IPTABLES -A allow-www-traffic-out -p tcp --dport www -j ACCEPT $IPTABLES -A allow-www-traffic-out -p tcp --dport https -j ACCEPT einfo "Creating outgoing mail traffic chain" $IPTABLES -N allow-mail-traffic-out $IPTABLES -F allow-mail-traffic-out $IPTABLES -A allow-mail-traffic-out -p tcp --dport smtp -j ACCEPT $IPTABLES -A allow-mail-traffic-out -p tcp --dport pop3 -j ACCEPT $IPTABLES -A allow-mail-traffic-out -p tcp --dport imap2 -j ACCEPT einfo "Creating outgoing ftp traffic chain" $IPTABLES -N allow-ftp-traffic-out $IPTABLES -F allow-ftp-traffic-out $IPTABLES -A allow-ftp-traffic-out -p tcp --dport 1024:65365 -j ACCEPT $IPTABLES -A allow-ftp-traffic-out -p tcp --dport ftp -j ACCEPT $IPTABLES -A allow-ftp-traffic-out -p tcp --dport ftp-data -j ACCEPT einfo "Creating outgoing smb traffic chain" $IPTABLES -N allow-smb-traffic-out $IPTABLES -F allow-smb-traffic-out $IPTABLES -A allow-smb-traffic-out -p tcp --dport netbios-ssn -j ACCEPT $IPTABLES -A allow-smb-traffic-out -p udp --dport netbios-ns -j ACCEPT $IPTABLES -A allow-smb-traffic-out -p udp --dport netbios-dgm -j ACCEPT $IPTABLES -A allow-smb-traffic-out -p tcp --dport 445 -j ACCEPT einfo "Creating outgoing krab/terminal traffic chain" $IPTABLES -N allow-krab-term-traffic-out $IPTABLES -F allow-krab-term-traffic-out $IPTABLES -A allow-krab-term-traffic-out -p tcp --dport 3050 -j ACCEPT $IPTABLES -A allow-krab-term-traffic-out -p tcp --dport 3389 -j ACCEPT einfo "Creating outgoing ntp traffic chain" $IPTABLES -N allow-time-traffic-out $IPTABLES -F allow-time-traffic-out $IPTABLES -A allow-time-traffic-out -p udp --dport ntp -j ACCEPT $IPTABLES -A allow-time-traffic-out -p udp --dport ntp -j ACCEPT #Catch portscanners einfo "Creating portscan detection chain" $IPTABLES -N check-flags $IPTABLES -F check-flags $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP-XMAS:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:" $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:" $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP # Apply and add invalid states to the chains einfo "Applying chains to INPUT" $IPTABLES -A INPUT -m state --state INVALID -j DROP $IPTABLES -A INPUT -j icmp_allowed $IPTABLES -A INPUT -j check-flags $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A INPUT -j allow-ssh-traffic-in $IPTABLES -A INPUT -j allow-www-traffic-in $IPTABLES -A INPUT -j allow-ftp-traffic-in $IPTABLES -A INPUT -j allow-smb-traffic-in $IPTABLES -A INPUT -j allow-time-traffic-in $IPTABLES -A INPUT -j allowed-connection einfo "Applying chains to FORWARD" $IPTABLES -A FORWARD -m state --state INVALID -j DROP $IPTABLES -A FORWARD -j icmp_allowed $IPTABLES -A FORWARD -j check-flags $IPTABLES -A FORWARD -o lo -j ACCEPT # $IPTABLES -A FORWARD -j allow-ssh-traffic-in # $IPTABLES -A FORWARD -j allow-time-traffic-in # $IPTABLES -A FORWARD -j allow-ftp-traffic-in # $IPTABLES -A FORWARD -j allow-www-traffic-in # $IPTABLES -A FORWARD -j allow-www-traffic-out $IPTABLES -A FORWARD -j allowed-connection einfo "Applying chains to OUTPUT" $IPTABLES -A OUTPUT -m state --state INVALID -j DROP $IPTABLES -A OUTPUT -j icmp_allowed $IPTABLES -A OUTPUT -j check-flags $IPTABLES -A OUTPUT -o lo -j ACCEPT $IPTABLES -A OUTPUT -j allow-ssh-traffic-out $IPTABLES -A OUTPUT -j allow-dns-traffic-out $IPTABLES -A OUTPUT -j allow-www-traffic-out $IPTABLES -A OUTPUT -j allow-mail-traffic-out $IPTABLES -A OUTPUT -j allow-ftp-traffic-out $IPTABLES -A OUTPUT -j allow-smb-traffic-out $IPTABLES -A OUTPUT -j allow-krab-term-traffic-out $IPTABLES -A OUTPUT -j allow-time-traffic-out $IPTABLES -A OUTPUT -j allowed-connection #Allow client to route through via NAT (Network Address Translation) $IPTABLES -t nat -A POSTROUTING -o $IINTERFACE -j MASQUERADE eend $? } start() { ebegin "Starting firewall" if [ -e "${FIREWALL}" ]; then restore else einfo "${FIREWALL} does not exists. Using default rules." rules fi eend $? } stop() { ebegin "Stopping firewall" $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -X $IPTABLES -P FORWARD ACCEPT $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT eend $? } showstatus() { ebegin "Status" $IPTABLES -L -n -v --line-numbers einfo "NAT status" $IPTABLES -L -n -v --line-numbers -t nat eend $? } panic() { ebegin "Setting panic rules" $IPTABLES -F $IPTABLES -X $IPTABLES -t nat -F $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT eend $? } save() { ebegin "Saving Firewall rules" $IPTABLESSAVE > $FIREWALL eend $? } restore() { ebegin "Restoring Firewall rules" $IPTABLESRESTORE < $FIREWALL eend $? } restart() { svc_stop; svc_start } showoptions() { echo "Usage: $0 {start|save|restore|panic|stop|restart|showstatus}" echo "start) will restore setting if exists else force rules" echo "stop) delete all rules and set all to accept" echo "rules) force settings of new rules" echo "save) will store settings in ${FIREWALL}" echo "restore) will restore settings from ${FIREWALL}" echo "showstatus) Shows the status" }Поэтому скрипту мне многое непонятно
Правильно ли я понял
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-save2. Да, написать надо
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 не даёт, как это исправить?
Заранее спасибо.