Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Сетевые технологии » Proxy/NAT - Поднятие прокси на Lunix

Ответить
Настройки темы
Proxy/NAT - Поднятие прокси на Lunix

Новый участник


Сообщения: 43
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте уважаемые гуру
Опыта работы системным администратором мало
После универа зеленый еще )
На работе возникла потребность поднять проксю на линукс
До этого стоял керио но со временем стал ужасно глючить
Сеть состоит из 40 машин + 4 сервера (терминалка 1с, Актив директори, файловая помойка ну и сама прокся
провайдер дает интернеты через dhcp авторизация через MAC
подскажите с чего начать? и что мне понадобиться

Отправлено: 21:22, 02-11-2012

 

Аватара для Rezor666

Ветеран


Сообщения: 2738
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


Lunix -http://en.wikipedia.org/wiki/LUnix

-------
"Средства у нас есть. У нас ума не хватает..."

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:32, 03-11-2012 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

exo exo вне форума

Аватара для exo

Ветеран


Сообщения: 12417
Благодарности: 1442

Профиль | Отправить PM | Цитировать


Rezor666, так не честно...

barasin, автор, исправьте заголовок темы.

-------
Вежливый клиент всегда прав!


Отправлено: 22:34, 03-11-2012 | #22


Аватара для Rezor666

Ветеран


Сообщения: 2738
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


exo,
Буду ждать статью под LUnix а то может я и не прав

-------
"Средства у нас есть. У нас ума не хватает..."


Отправлено: 22:48, 03-11-2012 | #23

exo exo вне форума

Аватара для exo

Ветеран


Сообщения: 12417
Благодарности: 1442

Профиль | Отправить PM | Цитировать


Rezor666, не дождётесь. я умею признавать свои ошибки. Прошу меня извинить )

-------
Вежливый клиент всегда прав!


Отправлено: 22:57, 03-11-2012 | #24


Аватара для Rezor666

Ветеран


Сообщения: 2738
Благодарности: 336

Профиль | Сайт | Отправить PM | Цитировать


exo, да лан Зато Вон какую статью написал AMDBulldozer

-------
"Средства у нас есть. У нас ума не хватает..."


Отправлено: 23:02, 03-11-2012 | #25


Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Приношу извинения, в тексте допущено несколько опечаток (быстро печатал и не вычитал перед отправкой - слишком уж он длинный и нудный получился).
Основная из них, в слове "MASQUERADE" (не в том, которое в начале текста, а в том, которое используется в качестве цели команды iptables) пропущена буква "E".

Примечание: Прописные буквы используются не для выделения текста. Это требование синтаксиса команды iptables.

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.


Отправлено: 23:05, 03-11-2012 | #26

exo exo вне форума

Аватара для exo

Ветеран


Сообщения: 12417
Благодарности: 1442

Профиль | Отправить PM | Цитировать


Да это полезно будет. Только это для Linux, вряд ли для Lunix подойдёт.
Цитата AMDBulldozer:
Для начала, не будем указывать в сценарии ни явных имен программ, ни наименований интерфейсов.
Заменим их на переменные, которые установим в самом начале сценария:
IPTABLES=/sbin/iptables
IF_LAN=eth0
IF_INT=eth1 »
что за сценарий? это какой-то файл, куда надо это всё записать, или команды дать?

-------
Вежливый клиент всегда прав!


Отправлено: 23:08, 03-11-2012 | #27


Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Цитата exo:
что за сценарий? это какой-то файл, куда надо это всё записать, или команды дать? »
Сначала позволю себе отметить банальный факт (не для Вас, конечно, а для автора темы и других уважаемых участников форума не имеющих достаточного опыта работы в Linux): в этой операционной системе функции трансляции адресов и межсетевого экрана настраиваются одной и той же утилитой - iptables.
Естественно, фактически эти функции выполняются модулями ядра, которые неплохо было бы либо загрузить, либо встроить непосредственно в ядро. Поэтому может получиться так, что для исполнения указанных ранее команд понадобится одна или несколько команд "modprobe". Но это отдельный аспект вопроса и в данной теме я его не касаюсь.

Понятно, что для настройки межсетевого экрана должен быть создан достаточно сложный набор команд.
Который обеспечивал бы защиту от проникновения пакетов адресованных компьютерам локальной сети в сеть провайдера.
И наоборот, защиту от подмены адресов (spoofing) - экран не должен пропускать через внешний интерфейс пакеты с адресами локальной сети.
Должны быть закрыты для доступа извне все привилегированные порты и порты известные как используемые вредоносным ПО. Должен быть закрыт доступ наружу с тех же самых портов.
Блокирован входящий icmp echo request. Блокирован весь исходящий icmp трафик кроме icmp echo request.

$IPTABLES -A FORWARD -i $IF_INT -p icmp --icmp-type echo-request -j DROP
$IPTABLES -A FORWARD -o $IF_INT -p icmp ! --icmp-type echo-request -j DROP

(примечание - восклицательный знак в данном случае не нуждается в экранировании)

Ну и т.д. - запрещены широковещательные сообщения, блокирован диапазон ip из RFC 3927 (т.н. "locallink"), в явном виде запрещена попытка установления новых соединений извне и прочая, и прочая... ("и прочая" является устойчивым выражением, употребляемым вместо "и прочее")

Понятно, что сесть за монитор и набрать с хода сотню-другую правил физически невозможно.
(часть из которых, к тому же зависят друг от друга или друг друга дублируют и должны вводиться в определенном порядке).
Поэтому мы сначала готовим сценарий (исполняемый файл команд оболочки) и сохраняем его.

К примеру, сначала мы пишем правило "пробрасывающее" входящие на определенные порты пакеты на внутренние серверы сети (с использованием цели -j DNAT), потом регистрируем и запрещаем все попытки установить новые соединения

$IPTABLES -A INPUT -i $IF_INT -m state --state NEW -j LOG
$IPTABLES -A INPUT -i $IF_INT -m state --state NEW -j DROP
$IPTABLES -A FORWARD -i $IF_INT -m state --state NEW -j DROP

а потом явно разрешаем входящие пакеты только относящиеся к уже установленным соединениям:

$IPTABLES -A FORWARD -i $IF_INT -o $IF_LAN -m state --state ESTABLISED,RELATED -j ACCEPT

Сразу видно, что в наборе правил есть явная избыточность. По крайней мере половина из них лишние. (запрет на установление новых соединений - это всего лишь иначе сформулированное разрешение на прохождение пакетов по уже установленным соединениям).
А некоторые содержат условия, которые вообще никогда не будут удовлетворены (если соединение новое, каким образом пакет попадет в цепочку FORWARD?).

Зачем нужны "лишние" команды?
Да по очень простой причине! Это не более, чем защита от дурака (ну, или от ошибок, если вам так больше нравится).
Когда вы пишете с нуля набор правил для межсетевого экрана, очень вероятно, что первым делом там понаделают кучу ошибок и сеть вообще не сможет нормально работать (забыли разрешить получать ответы с DNS-серверов? Какая досада... Придется пользователям ip вручную вбивать).
Вы заглядываете в /etc/services, находите там для сервиса "domain" порт 53 c протоколами tcp и udp и начинаете править свой сценарий, добавляя в него что-то вроде

$IPTABLES -A INPUT -p tcp --source-port 53 -j ACCEPT
$IPTABLES -A INPUT -p udp --source-port 53 -j ACCEPT

Естественно, вышеприведенные правила являются ошибочными!!! Ни в коем случае не записывайте их в таком виде.
Почему? Да потому, что любой злоумышленник, который использует порт 53 в качестве исходящего порта прошел бы через Вашу защиту и смог бы, к примеру, соединиться с запущенным на шлюзе HTTP-сервером.
Одна ошибка и в защите появляется дырка? К счастью, нет. Ведь Вы подстраховались, запретив новые соединения, тем самым "ненужным" правилом.
Злоумышленник не сможет воспользоваться Вашим любезным разрешением принимать все соединения исходящие с 53-го порта, потому что еще раньше Вы запретили вообще все новые соединения.

Рекомендация: для отбрасываемых исходящих пакетов мы используем цель REJECT, в то время как для входящих -j DROP.
Причина проста. Наши собственные пользователи должны иметь возможность сразу узнать, что сайты "одноклассники" и "в контакте" для них закрыты. А сетевой сканер злоумышленника пусть дожидается окончания таймаута.

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.


Отправлено: 00:31, 04-11-2012 | #28

exo exo вне форума

Аватара для exo

Ветеран


Сообщения: 12417
Благодарности: 1442

Профиль | Отправить PM | Цитировать


Цитата AMDBulldozer:
Зачем нужны "лишние" команды? »
значит это команды, а я думал их нужно в файл писать, например rc.local ну или свой firewall.local и помещать в /etc/init.d/...

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

-------
Вежливый клиент всегда прав!


Отправлено: 00:53, 04-11-2012 | #29


Ветеран


Сообщения: 2029
Благодарности: 704

Профиль | Отправить PM | Цитировать


Цитата exo:
значит это команды, а я думал их нужно в файл писать »
Да, именно сохранять в файле.
Но ведь в rc.local Вы тоже сохраняете команды.
Правда в rc.local Вы сохраняете их с другой целью - чтобы они исполнялись каждый раз при запуске.
Исполнять файл с правилами межсетевого экрана (и NAT) каждый раз не требуется.
Рассматривайте этот файл как исходный текст программы (простите мне такую грубую аналогию). Их один раз "транслируют" и записывают командой iptables-save в файл, который будет считываться при каждом запуске системы.
А исходный файл с набором команд iptables Вам нужен для того, чтобы можно было его править, устраняя ошибки и добавляя новые правила по мере необходимости.
Поскольку это именно "исходный текст" он может иметь любое имя и храниться в любой директории. Всё равно операционной системой он никак не используется.

-------
Господа! Убедительная просьба не обращаться за консультациями в ЛС. Поверьте, создать ветку в соответствующем разделе форума гораздо эффективнее.


Отправлено: 01:19, 04-11-2012 | #30



Компьютерный форум OSzone.net » Компьютеры + Интернет » Сетевые технологии » Proxy/NAT - Поднятие прокси на Lunix

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Нужна помощь в настройке роутера DIR300/NRU на Lunix по. Valeant Общий по Linux 0 06-12-2010 12:20
Proxy/NAT - Много прокси... и сразу... Рядок прокси :) ManHack Сетевые технологии 1 26-02-2008 08:59
Дрова для Lunix EXTRIMIST Железо в Linux 8 08-10-2006 15:10
Выбор Lunix'са sorry Общий по Linux 12 02-02-2005 16:13
Стоит ли ставить прокси на Хипи? И какую прокси... warezhka84 Сетевые технологии 2 18-11-2004 20:49




 
Переход