Доброе время суток!
Захожу через Putty, вношу изменения в /etc/rc.firewall - сохраняю и пытаюсь применить #sh /etc/rc.firewall - это приводит к зависанию putty.
Захожу локально на сервак и читаю в messages-ах:
sshd[1029]: fatal: Write failed: Permission denied
Можно ли что-то подправить, чтобы получить право на применение правил ipfw через Putty? Или это запрещено из соображений безопасности?
Заранее благодарен!
-> su
>-> su# sh /rc.firewall &
>>-> su
>
># sh /rc.firewall &
Пробовал и su и чистым рутом, - результат один ЗАВИСЮК!
/usr/share/examples/ipfw/change_rules.sh
>Доброе время суток!
>Захожу через Putty, вношу изменения в /etc/rc.firewall - сохраняю и пытаюсь применить
>#sh /etc/rc.firewall - это приводит к зависанию putty.
>Захожу локально на сервак и читаю в messages-ах:
>sshd[1029]: fatal: Write failed: Permission denied
>Можно ли что-то подправить, чтобы получить право на применение правил ipfw через
>Putty? Или это запрещено из соображений безопасности?
>Заранее благодарен!подправить можно, но "отвал коннекта" таки произойдёт и комманда до конца не выполнится... это надо делать по крону...
#sh /etc/rc.firewall ; sleep2
>#sh /etc/rc.firewall ; sleep2это выходит начинаем выполнять комманду и после этого засыпаем на 2 сек? :) и что получится?
>>#sh /etc/rc.firewall ; sleep2
>
>это выходит начинаем выполнять комманду и после этого засыпаем на 2 сек?
>:) и что получится?Попробуй так #nohup sh /etc/rc.firewall &
>Доброе время суток!
>Захожу через Putty, вношу изменения в /etc/rc.firewall - сохраняю и пытаюсь применить
>#sh /etc/rc.firewall - это приводит к зависанию putty.
>Захожу локально на сервак и читаю в messages-ах:
>sshd[1029]: fatal: Write failed: Permission denied
>Можно ли что-то подправить, чтобы получить право на применение правил ipfw через
>Putty? Или это запрещено из соображений безопасности?
>Заранее благодарен!
ИМХО думаю стоит ipfw default deny
и когда запускаете скрипт - все правила удаляются
и конечно коннект пропадет...
соответственно скрипт из-под root'a
>ИМХО думаю стоит ipfw default deny
> и когда запускаете скрипт - все правила удаляются
>и конечно коннект пропадет...
>соответственно скрипт из-под root'a
Доброе время суток! Спасибо всем за советы!
Если подразумевается "ipfw default deny" как опция в ядре IPFIREWALL_DEFAULT_TO_ACCEPT, то она у меня действительно не установлена.
А следовательно: deny any to any.
Но вопрос то в "sshd[1029]: fatal: Write failed: Permission denied" И правила не перезаписываются вообще! Пока локально на машине не сделаю sh /etc/rc.firewall
>>ИМХО думаю стоит ipfw default deny
>> и когда запускаете скрипт - все правила удаляются
>>и конечно коннект пропадет...
>>соответственно скрипт из-под root'a
>Доброе время суток! Спасибо всем за советы!
>Если подразумевается "ipfw default deny" как опция в ядре IPFIREWALL_DEFAULT_TO_ACCEPT, то она
>у меня действительно не установлена.
>А следовательно: deny any to any.
>Но вопрос то в "sshd[1029]: fatal: Write failed: Permission denied" И правила
>не перезаписываются вообще! Пока локально на машине не сделаю sh /etc/rc.firewall
>Дело в том, что у обычных пользователей нет прав на изменение правил фаервола. Есть два способа решения проблемы. Первый - логиниться под рутом (что не рекомендуется с точки зрения безопасности). Второй - использовать специальные утилиты, которые дают рутовские права обычным пользователям. Одна из таких утилит называется sudo. К сожалению я ею не пользовался, поэтому знаю только название.
>Дело в том, что у обычных пользователей нет прав на изменение правил
>фаервола. Есть два способа решения проблемы. Первый - логиниться под рутом
>(что не рекомендуется с точки зрения безопасности). Второй - использовать специальные
>утилиты, которые дают рутовские права обычным пользователям. Одна из таких утилит
>называется sudo. К сожалению я ею не пользовался, поэтому знаю только
>название.
Да, но пардоньте, я уже и "плявал" на точку зрения безопасности (т.е. дал руту право на ssh) и просто su делал, результат один и тот же!
>Но вопрос то в "sshd[1029]: fatal: Write failed: Permission denied" И правила
>не перезаписываются вообще! Пока локально на машине не сделаю sh /etc/rc.firewall
>
Так все правильно тебе говорят. Ты когда применяеш новые правила, тебя ipfw отбивает. У меня тоже так. Я как то эксперементировал. По ssh тоже перегружал ipfw. Таже ситуация...конект зависал. Подойдя к консоли по ipfw -a list посмотрел правила. Список содержал не все правила которые должны были принятся.
> Список содержал не все правила которые должны были принятся.
1. То есть примененить правила по ssh нельзя?
2. У меня не то что не все правила были, у меня после sh /etc/rc.firewall через ssh просто блокируется машина! И ни почты ни Инета нет! Пока из консоли не перегрузишь правила! А ребут делать нельзя, т.к. ISDN некорректно поднимается (несогласование по питанию или еще что-то, кароч дрова под фрей кривые для ISDN!).
>> Список содержал не все правила которые должны были принятся.
>1. То есть примененить правила по ssh нельзя?
>2. У меня не то что не все правила были, у меня
>после sh /etc/rc.firewall через ssh просто блокируется машина! И ни
>почты ни Инета нет! Пока из консоли не перегрузишь правила! А
>ребут делать нельзя, т.к. ISDN некорректно поднимается (несогласование по питанию или
>еще что-то, кароч дрова под фрей кривые для ISDN!).Ну ведь уже сказали! выполнив свою команду ты просто убиваешь все правила и остаётся одно, которое всем deny делает, вот у тебя и не пашет ничего... такое надо делать или с консоли (т.е. филизески на роутере) или зарядить свою команду в крон на минут 5 позже текущего времени... и подождать...
Неужели этот вопрос стоит столько мусолить?! :)
>Неужели этот вопрос стоит столько мусолить?! :)
Я человек простой, скажите: "Я уже с этим боролся и ничего не помогло"
Как в 12 сообщении. Вот после него больше вопросов не возникло, а 13 - это просто описание того как у меня машинка себя ведет.*****СПАСИБО ВСЕМ ЗА УЧАСТИЕ!******
Придется кронить!
>>Неужели этот вопрос стоит столько мусолить?! :)
>Я человек простой, скажите: "Я уже с этим боролся и ничего не
>помогло"это ты обо мне? :) я с этим не боролся... просто один раз обжёгся и потом подумав всё понял... :)
а тут флейм развели... можно, не можно....
>а тут флейм развели... можно, не можно....
А кстати рано, "...все понял", только что по тлф. общался со знакомым, у него через ssh (Putyy) все работает!? При этом ядро собрано deny (по умолчанию), и sshd конфиг оставлен по умолчанию, т.е. через su все делается.
Вот и сижу чешу репу, как енто? :-)
>>а тут флейм развели... можно, не можно....
>А кстати рано, "...все понял", только что по тлф. общался со знакомым,
>у него через ssh (Putyy) все работает!? При этом ядро собрано
>deny (по умолчанию), и sshd конфиг оставлен по умолчанию, т.е. через
>su все делается.
>Вот и сижу чешу репу, как енто? :-)Именно так... захожу по ssh под юзером.. потом su root, потом движения с фаерволом и обрыв коннекта... а вот если правим крон... ждём и проверяем ipfw show - всё в ажуре... если я в чём то не прав, поясните мне ситуацию...
>Именно так... захожу по ssh под юзером.. потом su root, потом движения
>с фаерволом и обрыв коннекта... а вот если правим крон... ждём
>и проверяем ipfw show - всё в ажуре... если я в
>чём то не прав, поясните мне ситуацию...И первым правилом в файрволе ipfw -f flush ? ;)
Используй /usr/bin/nohup - утилиту, держащую коннект с сервером на время махинаций с фарволом
nohup /etc/rc.firewall
>Именно так... захожу по ssh под юзером.. потом su root, потом движения
>с фаерволом и коннект не обрывается и ядро с deny.
Повторяю, делаю nohup sh /etc/rc.firewall &
Попробуй и дай знать!
>>Именно так... захожу по ssh под юзером.. потом su root, потом движения
>>с фаерволом и коннект не обрывается и ядро с deny.
>Повторяю, делаю nohup sh /etc/rc.firewall &
>Попробуй и дай знать!
Попробовал, - даю знать! Спасибо! По крайней мере правила фыревола применяются: вставляю всяку лабуду под номером 65200 сохраняю, делаю nohup sh /etc/rc.firewall получаю дисконнект, захожу еще раз ipfw show... и вот оно миленькое всяка лабуда под номером 65200! Да, но в messages все равно вижу:
Dec 7 09:59:56 rc77 sshd[388]: fatal: Write failed: Permission denied
Dec 7 10:01:08 rc77 sshd[549]: fatal: Write failed: Permission denied
Dec 7 10:05:56 rc77 sshd[633]: fatal: Write failed: Permission denied
В точности как я все делал 3 раза!
Если вызывать как
sh /etc/rc.firewall,
то, действительно, вначале фаерволлом все коннекты запрещены и коннект из PUTTY тоже закрывается.
Но у меня правила формируются из перлового скрипта и вот когда я его из PUTTY запускаю - все ok.
В чем причина - пока разобраться не успел. Скажу только, что вначале из перла все равно выполняется команда
sh /etc/rc.firewall
ище раз повторяюпри нормально прописанных правилах в /etc/rc.firewall (т.е. есть понимание как они в итоге работают)
даже при default - deny# sh /etc/rc.firewall &
все чудненько отрабатывает !
>ище раз повторяю
>
>при нормально прописанных правилах в /etc/rc.firewall (т.е. есть понимание как они в итоге работают)
>даже при default - deny
А можно с этого места поподробнее плз.!
# SSH
${fwcmd} add pass tcp from 192.168.43.0/24 to 192.168.43.78 22 via ${iif}
${fwcmd} add pass tcp from 192.168.43.78 22 to 192.168.43.0/24 via ${iif}
Этого достаточно?
>Попробовал, - даю знать! Спасибо! По крайней мере правила фыревола применяются: вставляю
>всяку лабуду под номером 65200 сохраняю, делаю nohup sh /etc/rc.firewall получаю
>дисконнект, захожу еще раз ipfw show... и вот оно миленькое всяка
>лабуда под номером 65200! Да, но в messages все равно вижу:
>
>Dec 7 09:59:56 rc77 sshd[388]: fatal: Write failed: Permission denied
>Dec 7 10:01:08 rc77 sshd[549]: fatal: Write failed: Permission denied
>Dec 7 10:05:56 rc77 sshd[633]: fatal: Write failed: Permission denied
>В точности как я все делал 3 раза!Ты nohup sh /etc/rc.firewall - с флагом & запускал ???
^
>Ты nohup sh /etc/rc.firewall - с флагом & запускал ???
Да! И все равно - дисконнект, но правила применяются.
я делаю обычно так: nohup sh /etc/rc.firewall &
nohup /etc/rc.firewallв etc/rc.firewall путь к ipfw должен быть полностью прописан
к примеру
#!/bin/sh -
fwcmd="/sbin/ipfw"
${fwcmd} -f flush
# SSH - разрешить в самом начале SSH , при этом если далее встретится где нить ошибка то SSH всеравно не отвалится
# что то вроде этого
mynet=192.168.0.0/24
${fwcmd} add allow tcp from ${mynet} to ${mynet} ssh via rl0
${fwcmd} add allow tcp from ${mynet} ssh to ${mynet} via rl0зависание применения новых правил встречалось только при условии внесения новых или изменения старых правил DUMMYNET, PIPE или QUEUE....
############
# Set quiet mode if requested
#
case ${firewall_quiet} in
[Yy][Ee][Ss])
fwcmd="/sbin/ipfw -q"
;;
*)
fwcmd="/sbin/ipfw"
;;
esac############
# Flush out the list before we begin.
#
${fwcmd} -f flush
А потом моя секция:
[Mm][Yy][Cc][Ll][Oo][Ss][Ee])
iif="rl0"
inet="192.168.43.0"
imask="255.255.255.0"
iip="192.168.43.78"
.... и т.д.
Что тут не так?
>############
># Set quiet mode if requested
>#
>case ${firewall_quiet} in
>[Yy][Ee][Ss])
> fwcmd="/sbin/ipfw -q"
> ;;
>*)
> fwcmd="/sbin/ipfw"
> ;;
>esac
>
>############
># Flush out the list before we begin.
>#
>${fwcmd} -f flush
>А потом моя секция:
>[Mm][Yy][Cc][Ll][Oo][Ss][Ee])
> iif="rl0"
> inet="192.168.43.0"
> imask="255.255.255.0"
> iip="192.168.43.78"
>.... и т.д.
>Что тут не так?попробуй в начало вставить #!/bin/sh -
и сделать его выполняемым chmod +x /etc/rc.firewall если он конечно невыполняемый.И правила DUMMYNET есть (queue, pipe) ?
>попробуй в начало вставить #!/bin/sh -
>и сделать его выполняемым chmod +x /etc/rc.firewall если он конечно
>невыполняемый.
>
>И правила DUMMYNET есть (queue, pipe) ?
DUMMYNET пока нет (это ограничение трафика? если да то планирую)
Файл не выплняемый, и еще информация - при открытом фиреволе вроде все работает, вероятнее всего я ПАРАНОИДАЛЬНО ЗАКРЫЛ все высокие порты ПОРТЫ, вот из-за этого и все траблы.
Но без этой паранои у меня на внешнем интерфейсе частенько появлялись пакеты типа:
TCP 69.44.59.39:1580 на 213.186.107.190:17866 in via tun0
TCP 69.44.62.25:1765 на 213.186.107.190:17866 in via tun0
TCP 69.44.59.39:3588 на 213.186.107.190:17866 in via tun0
TCP 69.44.59.39:3722 на 213.186.107.190:17866 in via tun0
Которые держали коннект, а ведь у меня диал-ап ISDN и все это денажки. Вот и пришлось прописывать deny from any 1025-65535 to any 1025-65535.
Попробую более тонко переписать стенку - результатом поделюсь.
Спасибо всем за участие!
Проблема связана с установками фаервола default to deny, и только с этим. Я эту проблему решаю так: открываю screen, в нем sudo или su (sudo предпочтительнее) и тогда уже пишу sh /etc/firewall.sh. После этой команды putty, конечно, закрывается. Но после повторного захода на сервак я восстанавливаю свои закрытые скрины (screen -r) - и вуа-ля! на экране результат применения всех правил (если правила добавлялись без quiet).
блин. ну сделай ты так, чтобы во время выполнения rc.firewall НИЧЕГО не выводилось на экран.
-q или там nohup или еще что... /dev/null еще есть... в файлик какой.
тогда (если все правильно в правилах) к тому моменту, когда sshd захочет что-то вывести, писАть (посылать пакеты) ему будет можно.Однако такой способ должен применяться ТОЛЬКО на не слишком удаленных машинах. В случае, когда доступ к машине затруднен, необходимо обеспечивать восстановление первоначального (рабочего) rc.firewall и его запуск по крону через 5-10 минут.
Чтобы, если напортачил через 5-10 минут опять получить доступ. Делать это нужно по крону (не через sleep).
>восстанавливаю свои закрытые скрины (screen -r) - и вуа-ля! на экране
>результат применения всех правил (если правила добавлялись без quiet).
попробуйте скрипт: /usr/share/examples/ipfw/change_rules.sh