SSH через putty и применение правил ipfw

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

SSH через putty и применение правил ipfw

Непрочитанное сообщение jeweller » 2006-11-19 19:58:48

Вообщем ситуация такая вхожу на сервер (FreeBSD 6.1) через ssh-клиента Putty.
Правлю ручками файрвольный скрипт /etc/rc.fire и кульминационый момент: если я его запускаю то теряю конект к серверу, пока руками сервер не ребутну. Если запускаю rc.fire с консоли то все нормально, правила очищаются затем применяются новые по списку в скрипте. Как мне быть и как побороть этого зверя.. :twisted: Есть подобный глюк и на версии FREEBSD 5.3. Пишет ошибку в /var/log/messages sshd[542]: fatal: write Failed: Permision denied.
А вот на более старой версии FREEBSD 4.7 этот rc.fire скрипт запускается применяет правила и сижу дальше работаю.

Помогите кто чем может.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-11-19 20:07:39

на конце имени скрипта, при запуске, добавить &
Убей их всех! Бог потом рассортирует...

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-19 20:13:02

lissyara писал(а):на конце имени скрипта, при запуске, добавить &
причем тут уход процеса в тень?
у меня файрволл пытается применить правила без перезагрузки, но так как он по умолчанию отпинывает все пакеты, он и пинает cci и уже здесь висит пока его не ребутнешь.

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-19 20:15:20

Тут народ англоязычный вообще в корне меняет правила rc.firewall.
Добовляет режимы в rc.conf firewall_quiet="YES" и пишут что все должно работать после ребута с этими правилами и файрволл не затыкает весь сервер а применяет правила и сервер работает дальше, как будто с консоли их запустили.
Но в моей ситуации почему-то все нет так. Все перепробовал, однозначно все запирается

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-11-19 20:17:57

чтобы ты достучасться мог до сервера.
========
советую перед перезагрузкой, применив правила своим методом, сделать ipfw show и понять, почему оно так, и зачем нужен &
Я обычно делаю так:

Код: Выделить всё

sh /etc/rc.firewall > /dev/null &
Убей их всех! Бог потом рассортирует...

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-19 20:22:05

lissyara писал(а):чтобы ты достучасться мог до сервера.
========
советую перед перезагрузкой, применив правила своим методом, сделать ipfw show и понять, почему оно так, и зачем нужен &
Я обычно делаю так:

Код: Выделить всё

sh /etc/rc.firewall > /dev/null &
Блин ЛИС тут в том то и дело что как бы я не запускал этот скрипт я уже теряю конект с сервером из-за того что файрволл пытается применить правила и уже старые очистил. по деволту (в ядре так настроено) фаер всех пинает. Он пишет что-то в консоль но прочитать этого мы не можем. толи он запрос задает толи еще что... если ставить флаг QUIET то файрволл должен без запросов все применять. В моем же случае поможет полный ребут.

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-19 20:23:19

Код: Выделить всё

sh /etc/rc.firewall > /dev/null &
это ты так делаешь когда удаленно сидишь или на консоли?))

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-11-19 23:14:13

удалённо...
покажи скрипт фаера. начало хотябы с переменными
Убей их всех! Бог потом рассортирует...

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-20 9:59:59

lissyara писал(а):удалённо...
покажи скрипт фаера. начало хотябы с переменными
#!/bin/sh

/sbin/ipfw -q -f flush

#### BUNN Samba External
/sbin/ipfw add deny tcp from any to me 137-139 via rl0
/sbin/ipfw add deny udp from any to me 137-139 via rl0
#################################################

/sbin/ipfw add allow icmp from any to any

/sbin/ipfw add allow ip from any to any via rl1

/sbin/ipfw add allow ip from 127.0.0.1 to 127.0.0.1

/sbin/ipfw add allow tcp from any to me 1024-65535
/sbin/ipfw add allow tcp from me 1024-65535 to any
/sbin/ipfw add allow udp from any to me 1024-65535
/sbin/ipfw add allow udp from me 1024-65535 to any

/sbin/ipfw add allow tcp from any to me 25
/sbin/ipfw add allow tcp from me 25 to any
/sbin/ipfw add allow tcp from any to me 110
/sbin/ipfw add allow tcp from me 110 to any

/sbin/ipfw add allow tcp from any to any 53
/sbin/ipfw add allow tcp from any 53 to any
/sbin/ipfw add allow udp from any to any 53
/sbin/ipfw add allow udp from any 53 to any

/sbin/ipfw add deny log ip from any to any

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2006-11-24 10:16:13

Все... дошло. сдеала в ядре по умолчанию разрешить все а потом правилами запираю.

baklan
рядовой
Сообщения: 49
Зарегистрирован: 2006-11-30 22:55:54
Откуда: Москва
Контактная информация:

Непрочитанное сообщение baklan » 2006-11-30 23:21:07

а у меня с закрытым файерволом работает

Код: Выделить всё

#!/bin/sh
fwcmd="/sbin/ipfw -q"
/sbin/ipfw -f -q flush
$fwcmd add 10 allow tcp from any to any established
..............
Все работает, удаленный сеанс не отрубает. А если файервол открытый, то вообще без всяких ухищрений можно скрипт запускать, только проверять обязательно нужно, поскольку если есть ошибка, то сервер будет открыт для всех.
На всякий случай раз в час кроном у меня запускается еще один скрипт, который открывает 22 порт.

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-12-01 11:01:58

baklan писал(а):а у меня с закрытым файерволом работает

Код: Выделить всё

#!/bin/sh
fwcmd="/sbin/ipfw -q"
/sbin/ipfw -f -q flush
$fwcmd add 10 allow tcp from any to any established
..............
Все работает, удаленный сеанс не отрубает. А если файервол открытый, то вообще без всяких ухищрений можно скрипт запускать, только проверять обязательно нужно, поскольку если есть ошибка, то сервер будет открыт для всех.
На всякий случай раз в час кроном у меня запускается еще один скрипт, который открывает 22 порт.
Я обычно создаю копию файла и с ним извращаюсь. Если что, звоню и говорю чтобы перезапустили сервак. :-)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

baklan
рядовой
Сообщения: 49
Зарегистрирован: 2006-11-30 22:55:54
Откуда: Москва
Контактная информация:

Непрочитанное сообщение baklan » 2006-12-01 11:19:07

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

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-01 11:27:36

Код: Выделить всё

sleep 60 && ipfw add 1 allow ip from твой_IP to me &
после чего делаешь экспермент...
Убей их всех! Бог потом рассортирует...

baklan
рядовой
Сообщения: 49
Зарегистрирован: 2006-11-30 22:55:54
Откуда: Москва
Контактная информация:

Непрочитанное сообщение baklan » 2006-12-01 11:39:00

lissyara писал(а):

Код: Выделить всё

sleep 60 && ipfw add 1 allow ip from твой_IP to me &
после чего делаешь экспермент...
Еще, видимо, обратное правило нужно, а то примать то будет а отправлять нет

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-12-01 12:50:39

это пример. а думать - сам думай :)))
Убей их всех! Бог потом рассортирует...

Argon
проходил мимо
Сообщения: 1
Зарегистрирован: 2006-12-12 9:35:32

Непрочитанное сообщение Argon » 2006-12-12 9:38:12

/etc/rc.d/ipfw restart
и будет вам счастье

jeweller
сержант
Сообщения: 189
Зарегистрирован: 2006-11-17 21:58:43
Откуда: Самара
Контактная информация:

Непрочитанное сообщение jeweller » 2007-03-30 16:59:28

хоть и давний пост...
если я уже потерял связь с сервером никакой мне /etc/rc.d/ipfw restart не поможет

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Непрочитанное сообщение schizoid » 2007-03-31 16:26:18

я всегда удаленно фаер правлю...ну далеко мне на антресоль с монитором лазить.
в начале просто отключаю фаер, применяю правила, потом включаю. и никто никуда мя не выкидывает.
ipfw disable firewall && sh /etc/rc.firewall && ipfw enable firewall

и все.
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35071
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2007-03-31 16:42:05

и полез на антресоль, с монитором, если ошибка :))
последнее - лучше руками, сделав листинг правил, чтоб убедиться что всё путём.
Убей их всех! Бог потом рассортирует...

baklan
рядовой
Сообщения: 49
Зарегистрирован: 2006-11-30 22:55:54
Откуда: Москва
Контактная информация:

Непрочитанное сообщение baklan » 2007-03-31 17:24:14

Вот так можно :
Это строка крона

Код: Выделить всё

0,15,30,45 * * * * /bin/sh /usr/local/etc/rc.d/ssh/fwi
где fwi содержит

Код: Выделить всё

#!/bin/sh                                                                                                                   
/sbin/ipfw delete 1                                                                                                         
/sbin/ipfw delete 2                                                                                                         
/sbin/ipfw add 1 allow tcp from any to me порт_SSH                                                                             
/sbin/ipfw add 2 allow tcp from me порт_SSH to any
Т.о. чтобы вы не правили связь по SSH не потеряется.

Аватара пользователя
schizoid
подполковник
Сообщения: 3228
Зарегистрирован: 2007-03-03 17:32:31
Откуда: Украина, Чернигов
Контактная информация:

Непрочитанное сообщение schizoid » 2007-03-31 17:39:26

lissyara, не ну в одной строке я тоже такое делаю редко ;)
ядерный взрыв...смертельно красиво...жаль, что не вечно...

Xtremist
проходил мимо

Непрочитанное сообщение Xtremist » 2007-05-19 16:58:57

Ранее тоже мучился этим вопросом делал
sh ./firewall &
в итоге нашел выход получше, baklan в тему сказал что все работает, юзайте -q, то есть тихий режим без вывода на консоль, и ниче не отваливается достаточно в начале скрипта сделать
fwcmd="/sbin/ipfw -q" и везде при добавлении правил вставлять его