Firewall на дриме - защитим любимый ресивер от Интернет- атак (iptables, ipchains, netfilter)

  • Цитата

    Со слов пользователя djpeter
    У тебя 500й дрим?


    нет


    у меня два:


    7000s - там telnet + ftp
    7020s - там ssh + telnet + ftp


    в принципе имидж от 500 = имиджу от 7000


    разницы большой нет


    самое плохое , что имидж использует для запуска сетевых
    служб старый супер демон inetd , если бы был xinetd то там
    проблем нет вписать строку :


    service telnet
    {
    ......
    only_from 192.168.0.*
    }


    и все гуд


    а тут?....

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Andr ().

  • Цитата

    Со слов пользователя djpeter
    Дак нафига тебе телнет? Оставь только ссх!


    на 7000 нет ssh
    главный вопрос не телнет , а заставить сетевые сервисы
    слушать туда куда мне надо - только по локалке
    просто интересно настроить сначала телнет , чтобы
    найти суть вопроса


    ssh слушает по порту 22 во все стороны (lan <--> ssh <--> wan)
    конфиг файлов настройки нет (или я не нашел)...
    а сколько любопытных желающих стучится в день
    по всем извесному 22 порту я уже знаю
    (просматриваю log сервака в офисе)
    и просто грохнуть дрим без firewall им как два пальца...
    со всеми сервисами открытыми наружу и готовыми
    запутится в любой момент


    смена пароля - вариант но ненадолго
    к примеру сидим смотрим шару через gprs
    один час ...два часа ... столько же времени и у хакеров
    подобрать пароль.....через открытый порт

  • Цитата

    Со слов пользователя djpeter
    поставь рутинг только на свой адрес, остальные убери
    делов то:)


    подскажи как это сделать на дриме

  • вот немного поэкспериментировал


    внутренняя flash - satdream имидж с поддержкой ppp0
    на usb - pli-Flubber-The Sequel-dm7000-20060818-1502.img
    тут есть поддержка ip-tables


    поставил вручную addons gprs_addons_20051008
    правда некоторых директорий нет , пришлось создать...
    и немного в другие директории некоторые файлы сунуть...
    вообщем запустился из коммандной строки


    ВОТ ЗАКАЧАЛ НЕМНОГО:


    Connect time 6.3 minutes.
    Sent 843 bytes, received 2006 bytes.


    потом в файле /var/etc/firewall.users
    прописал какие хосты имеют доступ
    192.168.0.1 # вход только с lan компа


    запускаю firewall вручную


    дает ошибку


    ВОТ КУСОК ЛОГА


    ~ > /var/bin/firewall.sh start
    insmod: cannot insert `/lib/modules/2.6.9/kernel/net/ipv4/netfilter/ip_tables.ko': Unknown symbol in module (-1): No such file or directory
    insmod: cannot insert `/lib/modules/2.6.9/kernel/net/ipv4/netfilter/ip_conntrack.ko': Unknown symbol in module (-1): No such file or directory
    insmod: cannot insert `/lib/modules/2.6.9/kernel/net/ipv4/netfilter/ip_conntrack.ko': Unknown symbol in module (-1): No such file or directory
    insmod: cannot insert
    ........
    iptables v1.3.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.
    iptables v1.3.1: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
    Firewall is active!.


    КОНЕЧНО ВСЕ ПРАВИЛЬНО В ИМИДЖЕ НА ВНУТРЕННЕЙ ФЛЕШ
    (SATDREAM) НЕТ ПОДДЕРЖКИ IPTABLES В ЯДРЕ.....


    БУДЕМ ЖДАТЬ ВЫХОДА ИМИДЖА SATDREAM УБИВ ДВУХ ЗАЙЦЕВ
    GPRS + FIREWALL

  • Вышел от садрима с поддержкой firewall iptables
    gprs on demand
    Пока лежит для 500 , но на форуме написано , что и скоро для остальных.


    Там же на форуме , какие опции и настройки.
    _ttp://www.satdream.ru/forum/index.php?topic=78.msg367;topicseen#new

  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


  • Цитата

    Со слов пользователя Goga777
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.




    на 7025 gemini 2.00 решил проверить. То же самое. Но как ни странно несколько раз позадавал пароль (passwd root) и этот глюк пропал. Теперь как ни стараюсь заходит только под заданным паролем и никак иначе.

  • Всем привет.
    Прошу протестировать на имидже SatDream по GPRS:


    В аттаче три файла:


    ipfw из /var/bin -- в нем убраны правила iptables и загружаются только
    модули если конечно включена опция
    (firewall в plugin)
    открыты все сервисы только для LAN запросов


    ip-up из /var/etc/ppp -- тут вот и лежат правила iptables
    они устанавливаюься только при подключении
    gprs ip-down из /var/etc/ppp -- тут отмена
    правил - все по умолчанию проходит
    запускаются при обрыве связи gprs
    все открыто
    Файлы в аттаче копируем в свом места и даем обязательно атрибуты 755,а то не будут запускаться....
    надо подправить под себя файл ip-up прописать в начале значения
    переменных IP dream Lan , Ip-shara-server, порт-шара-сервер ....etc


    вот и все
    при gprs подьеме продолжают работать ftp , telnet , ping - запросы - ответы , flashwizard .....но только слушают запросы из LAN сети , интернет - закрыт!


    все это актуально только при прямом gprs подключении , если дрим
    подключен к компу (шлюз) по лану , то нет необходимости....


    удачи

    Файлы

    • modified files.zip

      (5.67 kB, скачали 8 раз, последнее скачивание: )
  • IMHO, закрывать внутреннюю сетку ни к чему ...
    Вы и так потом почти все порты открыли обратно.
    Посмотреть, какие порты слушаем , можно - netstat -a


    Все это можно слегка упростить используя "-m multiport" (insmod ipt_multiport).


    Пример -
    ALLOW_TCP_INT=ftp,telnet,ssh,http
    $IPTABLES -A INPUT -m multiport -i $IF_LAN -p tcp -s $NET_LAN --sport 1024:65535 -d $IP_LAN --dport $ALLOW_TCP_INT -j ACCEPT


    Почитайте здесь - h__p://www.knowplace.org/pages/howtos/firewalling_with_netfilter_iptables.php


    Разберитесь с NARC - h__p://www.knowplace.org/pages/howtos/firewalling_with_netfilter_iptables/netfilter_automatic_rule_configurator.php


    В общем, с помощью IPTABLES можно многое, например сделать защиту от каскадинга кардсервера ... 8)


  • согласен , что LAN перекрывать не стоит , просто изучал правила
    iptables и смотерл , как , что работает ....использовал хорошую
    прогу Wireshark ...очень нравится и полезная ...видно все пакеты
    куда и откуда идут....
    вообщем LAN сделана на всякий случай....


    применить multiport конечно можно , но просто мне удобно
    смотреть какая строка неравилно работает по отдельности
    если где-то ошибка и ftp нужно включить passive mode data
    для flashwizard , а то так не идет....
    да и лишний модуль в память грузить ...


    вот тестировал на выходных и столкнулся с небольшой
    проблемой по dns иногда работает нормально , а иногда
    тормозит....пробовал и Megafone и MTS .....
    закачка обновлений не всегда идет....вроде бы правила
    по udp 53 порту прописаны правилно и dns сервера провайдера
    вбиты в файл /var/etc/ppp/resolve.conf
    только после перезагрузки вроде все начинает идти
    где ошибка?
    уже добавил и разрешение обмена по tcp протоколу
    в случае если ответ сервера dns не помещается в одной udp-дейтограмме


    $IPTABLES -A OUTPUT -o $IF_WAN -p tcp -d $NAMESERVER --dport 53 -j ACCEPT
    $IPTABLES -A INPUT -i $IF_WAN -p tcp !--syn -s $NAMESERVER --sport 53 -j ACCEPT


    все равно где-то косит
    оключаешь firewall -- идет , включаешь раз на раз...
    такое впечатление , что firewall тормозит трафик и так
    медленный ....и запросы к dns серверу где-то теряются

    Сообщение было отредактировано 1 раз, последнее редактирование пользователем Andr ().

  • Цитата

    $IPTABLES -A OUTPUT -o $IF_WAN -p tcp -d $NAMESERVER --dport 53 -j ACCEPT
    $IPTABLES -A INPUT -i $IF_WAN -p tcp !--syn -s $NAMESERVER --sport 53 -j ACCEPT


    Обычный DNS трафик идет UDP ! TCP - только обмен зонами между серверами ...


    Цитата

    dns сервера провайдера
    вбиты в файл /var/etc/ppp/resolve.conf


    /var/etc/resolv.conf --- стандартный файл
    /var/etc/ppp/resolv.conf --- фрагмент, который pppd сохраняет в надежде, что потом
    ip-up или ppp будут его использовать для модификации /var/etc/resolv.conf
    Если не изменяет память, управляет эти процессом опция usepeerdns в файле /var/etc/ppp/options


    Так что после того, как поднялся ppp0, смотри содержимое /var/etc/resolv.conf !

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем zuriuslev ().

  • Цитата

    Со слов пользователя Goga777
    а если вообще отказаться от днс - использовать ИП адреса вместо доменных имен ?


    да на шаринг это верно , если конечно они не меняют ip-шники
    но на закачку plugins забиты буквы....можно конечно найти
    где они сидят....и переписать на цифры....вообще мне не нравятся
    их dns серверы ...у меня иногда получалось , что mts работал
    с вбитым dns от megafone ...и не хуже чем с родным
    да и время тратится для обращения к dns серваку
    и лишние порты открывать для dns думаю не очень гуд?


  • да вчера долго мурыжил как раз с этими двумя файлами


    /var/etc/resolv.conf --- модифицируется энигмой , но только
    после ввода вручную с пульта dns в меню:
    дополнительные настройки - сетевые настройки....dns
    тогда они сразу идут в этот файл,


    второй /var/etc/ppp/resolv.conf - даже после поднятия ppp0
    не изменяется , у меня были вбиты dns по умолчанию от bi-line
    (стандартный имидж от satdream)
    так они там и остались после многих соединений как по mts
    так и по megafone...
    была идея брать ip-dns из одного из них после поднятия ppp0
    чтобы не влезать для смены ip-dns в firewall ....


    это мне нужно для:
    сделал соединения в меню плагинов: gprs-connect
    для двух провайдеров по выбору mts или megafone
    как на сайте спектра пояснили....так вот чтобы руками
    не вбивать dns-ip в меню-сетевые настройки и в файле firewall ,
    а подключил телефон и вперед - типа plug & play как в форточках


    сейчас с помощью твоей команды :
    NAMESERVER=`cat /var/etc/resolv.conf | awk '/nameserver/ {print $2}' | awk -F: '{print $1}'`


    беру ip-dns с файла , модифицируемого энигмой , но он
    изменяется только ввода вручную с пульта....


  • Давно дело с ppp не имел ... :rolleyes:


    Короче ... в ip-up, надо добавить типа -
    if [ -n "$USEPEERDNS" -a -f /var/etc/ppp/resolv.conf ]; then
    rm -f /var/etc/ppp/resolv.prev
    if [ -f /var/etc/resolv.conf ]; then
    cp /var/etc/resolv.conf /var/etc/ppp/resolv.prev
    grep domain /var/etc/ppp/resolv.prev > /var/etc/resolv.conf
    grep search /var/etc/ppp/resolv.prev >> /var/etc/resolv.conf
    cat /var/etc/ppp/resolv.conf >> /var/etc/resolv.conf
    else
    cp /var/etc/ppp/resolv.conf /etc
    fi
    fi


    В ip-down -
    if [ -n "$USEPEERDNS" -a -f /var/etc/ppp/resolv.conf ]; then
    if [ -f /var/etc/ppp/resolv.prev ]; then
    cp -f /var/etc/ppp/resolv.prev /var/etc/resolv.conf
    else
    rm -f /var/etc/resolv.conf
    fi
    fi