Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: iptables настройка.  (Прочитано 2905 раз)

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

Оффлайн I C Winner

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
iptables настройка.
« : 08 Декабря 2009, 16:36:04 »
Доброго времени суток.

Я прочитал много статей, касающихся настройки iptables под Linux, но так и не смог свести все это в одно целое и построить себе ту защиту, которая мне нужна.

У меня стоит роутер, который раздает интернет в домашнюю сеть 192.168.х.х. Один из компьютеров домашней сети - сервер. На сервере стоит linux Ubuntu с сайтом. Мне нужно открыть доступ на сервер для всех по 80ому порту с ограничением кол-ва пакетов в секунду(минуту/час), и открыть 22й порт для ssh только для внутренней сети.


То, что получилось у меня убивает любой доступ напрочь=(
@!/bin/bash

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

#Запретить всем и вся
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Разрешить прохождение любого трафика по интерфейсу обратной петли
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#открываем порт http
iptables -A  INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A  OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

Помогите мне, пожалуйста, разобраться что к чему и настроить фервол.

P.S. Код у меня забит в исполнительный файл .sh . правила фаервола должны вступать в силу после его запуска.
P.P.S. Без фаервола доступ на сервер есть. Роутер настроен верно.

Оффлайн Sam Stone

  • Старожил
  • *
  • Сообщений: 1131
    • Просмотр профиля
Re: iptables настройка.
« Ответ #1 : 08 Декабря 2009, 16:44:57 »
последними двумя правилами ты разрешаешь вход к себе по 80 порту и выход от тебя по 80. Все остальное запрещено.
Jellyfish 6.5.0-45-generic
2690v4 64Gb

Оффлайн I C Winner

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: iptables настройка.
« Ответ #2 : 08 Декабря 2009, 17:12:03 »
последними двумя правилами ты разрешаешь вход к себе по 80 порту и выход от тебя по 80. Все остальное запрещено.
однако. к сожалению, мне не пробиться к сайту.

Возможно, я открываю доступ не из глобальной сети?

Оффлайн Sam Stone

  • Старожил
  • *
  • Сообщений: 1131
    • Просмотр профиля
Re: iptables настройка.
« Ответ #3 : 08 Декабря 2009, 17:40:43 »
Во-первых, у тебя закрыт днс, во-вторых, когда браузер лезет на удаленный 80 порт, он открывает хрен знает какой локальный.
Для начала разреши исходящие соединения
iptables -P OUTPUT ACCEPTПараноить будешь потом :)
После этого добавь правило
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTКоторое разрешает входящие пакеты для установленных с твоего компа соединений. А то запрос в инет направил, а ответ на него убивается при возвращении.
И сходи почитай про правила ) Без знания будешь очень долго биться.
Jellyfish 6.5.0-45-generic
2690v4 64Gb

Оффлайн I C Winner

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: iptables настройка.
« Ответ #4 : 08 Декабря 2009, 18:02:52 »
сделал.
В результате - попасть на сайт, расположенный на сервере снова стало невозможно=(
Уже открытое ssh соединение поддерживалось, но потом снова подключиться не удалось.

Оффлайн baklan

  • Активист
  • *
  • Сообщений: 387
    • Просмотр профиля
    • backline
Re: iptables настройка.
« Ответ #5 : 08 Декабря 2009, 18:08:07 »
Роутером тоже Вы управляете? В нем порты проброшены все, которые нужны?

Оффлайн Sam Stone

  • Старожил
  • *
  • Сообщений: 1131
    • Просмотр профиля
Re: iptables настройка.
« Ответ #6 : 08 Декабря 2009, 18:25:42 »
сделал.
В результате - попасть на сайт, расположенный на сервере снова стало невозможно=(
Уже открытое ssh соединение поддерживалось, но потом снова подключиться не удалось.
А правила на вход по 80 и 22 порту оставил?
И я еще малость промахнулся ) тебе надо настроить правила для удаленного компа, а я написал для компа, скоторого ходишь ) Но если к этому добавить правило в INPUT по 80 порту, то всё должно работать как надо.

В общем случае надо:
разрешить коннект на порт снаружи (правило в таблицу INPUT)
разрешить ответный коннект на него, если исходящий трафик по дефолту запрещен (правило в таблицу OUTPUT)
Jellyfish 6.5.0-45-generic
2690v4 64Gb

 

Страница сгенерирована за 0.016 секунд. Запросов: 20.