Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> iptables, невозможен доступ к 80, 22 портам 
:(
    Опции темы
russians
Дата 5.6.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



Добрый день. Поднял iptables, написал правила, но доступа к машине извне нет, (ни с ssh, ни с http (apache 80)) правила следующие:


Код

Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
2    11796 1395K DROP       all  --  !lo    *       0.0.0.0/0            0.0.0.0/0           state NEW 
3        0     0 DROP       all  --  !lo    *       127.0.0.0/8          0.0.0.0/0           
4    36259 2840K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
5        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 
6        0     0 DROP       udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:138 
7        0     0 REJECT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:113 reject-with icmp-port-unreachable 
8        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68 
9        0     0 RETURN     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           
10       0     0 DROP       icmp -f  *      *       0.0.0.0/0            0.0.0.0/0           
11       0     0 ACCEPT     icmp --  eth1   *       0.0.0.0/0            0.0.0.0/0           icmp type 4 
12       0     0 ACCEPT     icmp --  eth1   *       0.0.0.0/0            0.0.0.0/0           icmp type 0 
13       0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp multiport dports 783 
14       0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp multiport dports 3310 
15       0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp multiport dports 10000 
16       0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp spt:53 dpts:1024:65535 
17       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:53 dpts:1024:65353 
18       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:113 dpts:1024:65535 flags:!0x17/0x02 
19       0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:113 
20       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:22 dpts:1024:65535 flags:!0x17/0x02 
21       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:22 dpts:1024:65535 flags:!0x17/0x02 
22       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:21 dpts:1024:65535 flags:!0x17/0x02 
23       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 flags:!0x17/0x02 multiport sports 80,443 
24       0     0 ACCEPT     tcp  --  eth0_rename *       0.0.0.0/0            0.0.0.0/0           tcp dpts:1024:65535 flags:!0x17/0x02 multiport sports 80,443 
25       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:20 dpts:1024:65535 
26       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpts:1024:65535 flags:!0x17/0x02 
27       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:23 dpts:1024:65535 flags:!0x17/0x02 
28       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:79 dpts:1024:65535 flags:!0x17/0x02 
29       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:43 dpts:1024:65535 flags:!0x17/0x02 
30       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:70 dpts:1024:65535 flags:!0x17/0x02 
31       0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp spt:210 dpts:1024:65535 flags:!0x17/0x02 
32       0     0 ACCEPT     udp  --  eth0_rename *       0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68 
33       0     0 ACCEPT     udp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 

Chain OUTPUT (policy DROP 4336 packets, 260K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
2        0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW 
3    35353 1927K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           
4        0     0 DROP       icmp -f  *      *       0.0.0.0/0            0.0.0.0/0           
5        0     0 ACCEPT     icmp --  *      eth1    0.0.0.0/0            0.0.0.0/0           icmp type 4 
6        0     0 ACCEPT     icmp --  *      eth1    0.0.0.0/0            0.0.0.0/0           icmp type 8 
7        0     0 ACCEPT     udp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           udp spts:1024:65535 dpt:53 
8        0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:53 
9        0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:113 
10       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:22 
11       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1020:1023 dpt:22 
12       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:21 
13       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 multiport dports 80,443 
14    1107  339K ACCEPT     tcp  --  *      eth0_rename  0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 multiport dports 80,443 
15       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:20 flags:!0x17/0x02 
16       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpts:1024:65535 
17       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:23 
18       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spt:23 dpts:1024:65535 
19       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:79 
20       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:43 
21       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:70 
22       0     0 ACCEPT     tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp spts:1024:65535 dpt:210 
23       0     0 ACCEPT     udp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           udp spts:32769:65535 dpts:33434:33523 
24       0     0 ACCEPT     udp  --  *      eth0_rename  0.0.0.0/0            0.0.0.0/0           udp spt:68 dpt:67 
25       0     0 ACCEPT     udp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           udp spt:68 dpt:67 


вот что в скрипте автозапуска:

Код

#!/bin/sh

# Задаём некоторые переменные

# Исполняемый файл
IPT="/sbin/iptables"

# Сетевые интерфейсы
INET_IFACE="eth1"  #интерфейс, смотрящий в WAN (gateway 192.168.10.1)
INET_IFACE_INTERNAL="eth0_rename" #интерфейс, смотрящий в LAN (192.168.10.*)


UNPRIPORTS="1024:65535"

start_fw()
{
    # Включить перенаправление пакетов через ядро.
    echo 1 > /proc/sys/net/ipv4/ip_forward

    # Сбросить правила и удалить цепочки.
    $IPT -F
    $IPT -X

    # Политики по умолчанию.
    $IPT -P INPUT DROP
    $IPT -P FORWARD ACCEPT
    $IPT -P OUTPUT DROP

    # Разрешаем прохождение любого трафика по интерфейсу обратной петли.
    $IPT -A INPUT -i lo -j ACCEPT
    $IPT -A OUTPUT -o lo -j ACCEPT
    
    $IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
    
    # Запрещаем любые новые подключения с любых интерфейсов, кроме lo к компьютеру
    $IPT -A INPUT -m state ! -i lo --state NEW -j DROP

    # Если интерфейс не lo, то запрещаем входить в список его адресов
    $IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

    # Принимать все пакеты, которые ининциализированы из уже установленного соединения, и имеющим признак ESTABLISHED.
    # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
    $IPT -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    # Эти правила предохраняют от некоторых типов атак:
    
    # SYN наводнение.
    # Приводит к связыванию системных ресурсов, так что реальный обмен данными становится невозможным.
    $IPT -A INPUT  -p tcp ! --syn -m state --state NEW -j DROP
    $IPT -A OUTPUT    -p tcp ! --syn -m state --state NEW -j DROP

    # UDP наводненние
    # Службы, использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя.
    $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP
    $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT
    $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT
    $IPT -A INPUT -p UDP -j RETURN
    $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT

    # ICMP - перенаправление
    # ICMP - сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, чтобы направлять пакеты по более короткому маршруту. Может быть использовано взломщиком для перенаправления вашего трафика через свою машину.
    $IPT -A INPUT --fragment -p ICMP -j DROP
    $IPT -A OUTPUT --fragment -p ICMP -j DROP

    # Разрешаем ICMP соединение. Значительная часть ICMP используется для передачи сообщений о том, что происходит с тем или иным UDP или TCP соединением.
    $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT
    $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT


    # Разрешаем себе ping наружу
    $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT
    $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT


    # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах
    $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 783
    $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 3310
    $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports 10000

    # Разрешаем сервер имён DNS
    $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT

    # Разрешаем AUTH-запросы на удалённые сервера, на свой же компьютер - запрещаем
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP

    # Открываем некоторые порты
    # SSH клиент (22)
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 22 -j ACCEPT ! --syn


    
    # FTP клиент
    $IPT  -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 21 -j ACCEPT ! --syn
    
    # HTTP/HTTPS клиент
    $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $UNPRIPORTS -j ACCEPT --dports 80,443
    $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn
    
    # HTTP/HTTPS клиент
    $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE_INTERNAL --sport $UNPRIPORTS -j ACCEPT --dports 80,443
    $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE_INTERNAL --dport $UNPRIPORTS -j ACCEPT --sports 80,443 ! --syn

    # Разрешаем finger, whois, gorper, wais. Traceroute - разрешаем себе, к нам не проломятся - запрещено. Telnet - запретил, чтобы соблазна не было передавать пароли открытым текстом.
    $IPT -A INPUT -p tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 20 -j ACCEPT
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 20 --sport $UNPRIPORTS -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS  -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport $UNPRIPORTS -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 23 --sport $UNPRIPORTS  -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport 23 -j ACCEPT
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 79 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 79 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 43 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 43 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 70 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 70 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 210 --sport $UNPRIPORTS -j ACCEPT
    $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 210 -j ACCEPT ! --syn
    $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT


    # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический
    
    $IPT -A OUTPUT -p udp -m udp -o eth0_rename --dport 67 --sport 68 -j ACCEPT
    $IPT -A INPUT -p udp -m udp -i eth0_rename --dport 68 --sport 67 -j ACCEPT
    
    # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический
    
    $IPT -A OUTPUT -p udp -m udp -o eth1 --dport 67 --sport 68 -j ACCEPT
    $IPT -A INPUT -p udp -m udp -i eth1 --dport 68 --sport 67 -j ACCEPT
    
}

case "$1" in
start)        echo -n "Starting firewall: iptables"
        start_fw
        echo "."
        ;;
stop)        echo -n "Stopping firewall: iptables"
        iptables -F
        iptables -X
        echo "."
        ;;
save)        echo -n "Saving firewall: iptables"
        iptables-save > /etc/rules-save
        echo "."
        ;;
restart)    echo -n "Restarting firewall: iptables"
        iptables -F
        iptables -X
        cat /etc/rules-save | iptables-restore
        echo "."
        ;;
reload|force-reload)    echo -n "Reloading configuration files for firewall: iptables"
            echo "."
            ;;
*)        echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
        exit 1
        ;;
esac
exit 0

P.S.
Если сделать:
Код

iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

то всё работает, и запросы к apache, и ssh smile В чём же дело?

Это сообщение отредактировал(а) ZeeLax - 6.6.2009, 08:52
PM MAIL   Вверх
ZeeLax
Дата 6.6.2009, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88




M
ZeeLax
Пользуемся кнопкой "Код"


Цитата(russians @  5.6.2009,  14:29 Найти цитируемый пост)
В чём же дело?

В том, что вы взяли чьи-то правила, не попытались их понять, и применили их к своей системе.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.