Автор Тема: помогите поправить iptables  (Прочитано 2577 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
помогите поправить iptables
« : 10 Октября 2013, 16:51:19 »
#eth0 IPLOC - моя локальная сеть
#eth1 IPEXT1 - первый провайдер (внутренняя сеть провайдера)
#ppp0 IPEXT_PPP - первый провайдер (интернет L2TP)
#eth2 IPEXT2 - второй провайдер (интернет IPoA)

IPTABLES="/sbin/iptables"

$IPTABLES -F
$IPTABLES -F -t nat

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -A INPUT -i lo -p ALL -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPLOC -d $IPLOC -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT1 -d $IPEXT1 -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT_PPP -d $IPEXT_PPP -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT2 -d $IPEXT2 -j ACCEPT

$IPTABLES -A INPUT -i eth0        -p tcp --sport 1023: --dport 21 -j ACCEPT

$IPTABLES -A INPUT -i eth0        -p tcp --sport 1023: --dport 22 -j ACCEPT

$IPTABLES -A INPUT -i eth0        -p tcp --sport 1023: --dport 25 -j ACCEPT
$IPTABLES -A INPUT -i ppp0        -p tcp --sport 1023: -d $IPEXT_PPP --dport 25 -j ACCEPT

$IPTABLES -A INPUT -i eth0 -p tcp --sport 1023 --dport 53 -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p tcp --sport 1023 --dport 53 -j ACCEPT

$IPTABLES -A INPUT -i eth0        -p tcp --sport 1023: --dport 80 -j ACCEPT
$IPTABLES -A INPUT -i ppp0        -p tcp --sport 1023: --dport 80 -j ACCEPT

$IPTABLES -A INPUT -i eth+ -p tcp -d $IPLOC --dport 113 -j REJECT --reject-with tcp-reset

$IPTABLES -A INPUT -i eth0 -p udp --sport 1023: --dport 53 -j ACCEPT
$IPTABLES -A INPUT -i ppp0 -p udp --sport 1023: --dport 53 -j ACCEPT

$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPLOC --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPLOC --icmp-type 3 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPLOC --icmp-type 5 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPLOC --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IP --icmp-type 11 -j ACCEPT

$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT_PPP --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT_PPP --icmp-type 3 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT_PPP --icmp-type 5 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT_PPP --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT_PPP --icmp-type 11 -j ACCEPT

$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT1 --icmp-type 0 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT1 --icmp-type 3 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT1 --icmp-type 5 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT1 --icmp-type 8 -j ACCEPT
$IPTABLES -A INPUT -i eth+ -p ICMP -d $IPEXT1 --icmp-type 11 -j ACCEPT

$IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -A FORWARD -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.1/24 -o ppp0 -j SNAT --to-source $IPEXT_PPP

$IPTABLES -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$IPTABLES -A INPUT -p udp -j REJECT

$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Где я все настеж открыл через eth2?
Есть ли доступ снаружи в мою локальную сеть?



 

Оффлайн apollyon

Re: помогите поправить iptables
« Ответ #1 : 10 Октября 2013, 17:25:48 »
eth2 закрыт дефолтным правилом.
а чего все входящие соединения принимаются только с одного порта 1023?
 

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
Re: помогите поправить iptables
« Ответ #2 : 10 Октября 2013, 18:15:37 »
Я мало понимаю в том что означают эти настройки. Когда то мне это написали и все работало хорошо пока не добавил второго провайдера.
Думал что он полностью закрыт. Но по 22 порту пришли китайцы и стали подбирать пароль. Добавил строчку
$IPTABLES -A INPUT -i eth2 -p tcp --sport 1023: --dport 22 -j DROP
хотя думал, что это ничего не изменит, но подключения по 22 порту прекратились. Поскольку это помогло боюсь там все остальное открыто.

Я не знаю что задает --sport, но предполагаю, что поскольку после "1023" стоит ":" это не одно число, а диапазон, открытый вправо. (возможно я и ошибаюсь, но соенинения происходят обычно не с порта 1023, а с гораздо больших).
 

Оффлайн apollyon

Re: помогите поправить iptables
« Ответ #3 : 10 Октября 2013, 18:27:22 »
пардон, глянул мельком, двоеточие не заметил...
а чтобы разбираться, лучше доки почитать, а не сразу кричать "на помощь". отличный ман на русском, всё становится понятно
http://www.opennet.ru/docs/RUS/iptables/

и да, для борьбы с брутфорсом можно использовать fail2ban
 

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
Re: помогите поправить iptables
« Ответ #4 : 10 Октября 2013, 18:45:19 »
Там конечно хорошо все написано, но там точно не сказано где у меня дыра.

$IPTABLES -F
должен очистить все правила

$IPTABLES -P INPUT DROP
должен запретить все входящее

второй провайдер упоминается только в этой строчке
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT2 -d $IPEXT2 -j ACCEPT
Зачем она и что делает я так и не понял

(22 порт должен быть доступен только из моей локальной сети, поэтому врятли есть смысл защищаться от подбора пароля, когда проще просто закрыть доступ, а через eth2 вообще нужны только исходящие соединения)
 

Оффлайн apollyon

Re: помогите поправить iptables
« Ответ #5 : 10 Октября 2013, 19:04:18 »
непонятная запись пропускает все пакеты для всех протоколов, которые пришли на интерфейс lo с исходящим и входящим адресами $IPEXT2, смысла особо не вижу в ней.
 

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
Re: помогите поправить iptables
« Ответ #6 : 10 Октября 2013, 19:10:32 »
Таких записей несколько:
$IPTABLES -A INPUT -i lo -p ALL -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPLOC -d $IPLOC -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT1 -d $IPEXT1 -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT_PPP -d $IPEXT_PPP -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT2 -d $IPEXT2 -j ACCEPT
Они все не нужны?
 

Онлайн endru

Re: помогите поправить iptables
« Ответ #7 : 10 Октября 2013, 19:19:23 »
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT1 -d $IPEXT1 -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT_PPP -d $IPEXT_PPP -j ACCEPT
$IPTABLES -A INPUT -i lo -p ALL -s $IPEXT2 -d $IPEXT2 -j ACCEPT
попробуйте не использовать эти правила. их назначения я не представляю...

yura_n

  • Гость
Re: помогите поправить iptables
« Ответ #8 : 10 Октября 2013, 19:26:48 »
Они все не нужны?
Кто то пытался настраивать правила для локальных процессов... Попробуйте заменить все пять на эти два:
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
 

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
Re: помогите поправить iptables
« Ответ #9 : 10 Октября 2013, 20:50:53 »
И все же меня сильно волнует, эти ли строчки позволили установить соединение по 22 порту через eth2, и не будет ли такого же эффекта если я заменю те пять на эти две новые?
 

yura_n

  • Гость
Re: помогите поправить iptables
« Ответ #10 : 10 Октября 2013, 21:45:58 »
Интерфейс lo (интерфейс обратной петли) предназначен для взаимодействия локальных приложений между собой, посредством сетевых соединений. То есть, если какое-то локальное приложение захочет обратиться к другому локальному приложению, используя для этого сетевое соединение, оно использует интерфейс обратной петли, посредством которого имитируется сетевое соединение. Обычно для интерфейса lo разрешаются все соединения, что и указано в этих двух строках. Конечно можно настроить какие-то особенные правила, как в вашем случае, но единственный мотив такого действия, который мне приходит в голову, это проверка работы приложений в каких-то специфических условиях.
« Последнее редактирование: 10 Октября 2013, 21:51:42 от yura_n »
 

Оффлайн mihail_1

  • Местный житель
  • ***
  • Сообщений: 169
Re: помогите поправить iptables
« Ответ #11 : 10 Октября 2013, 23:17:51 »
При тестировании приложений я действительно использовал свой апач вместо удаленных, так что эти строчки наверно были полезны. Но они ли позволили снаружи открывать соединения, которые не должны открываться? Есть ли какой-то способ протестировать что доступно снаружи (находясь внутри), чтобы понять что это разрешает?
 

Оффлайн apollyon

Re: помогите поправить iptables
« Ответ #12 : 10 Октября 2013, 23:57:16 »
долгий вдумчиый взгляд на правила iptables. снаружи можно nmap-ом посмотреть
 

Теги:
     

    Помогите настроить почтовый сервер

    Автор diefair

    Ответов: 4
    Просмотров: 2017
    Последний ответ 24 Декабря 2015, 14:08:57
    от diefair
    Помогите запустить Net-Acct

    Автор sawka88

    Ответов: 3
    Просмотров: 2047
    Последний ответ 18 Декабря 2012, 01:17:23
    от sawka88
    Нет подключения к vnc server. Господа, помогите!

    Автор moskov199

    Ответов: 1
    Просмотров: 1924
    Последний ответ 15 Сентября 2013, 01:37:08
    от agentgoblin
    Помогите понять что это за процессы и нужны ли они на рабочем компьютере?

    Автор ksander

    Ответов: 1
    Просмотров: 3385
    Последний ответ 13 Февраля 2015, 15:36:28
    от ogost
    Помогите с настройкой имени homes

    Автор DarkX

    Ответов: 1
    Просмотров: 944
    Последний ответ 11 Июня 2017, 06:33:08
    от gardarea51