Урезаный доступ к ssh

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Урезаный доступ к ssh

Сообщение DialSoft »

В общем имеем такую ситуацию. Есть старенькая машинка с 2 сетевухами. Она раздает интернет всем остальным. За натом, по мимо моего компьютера и ноутбука, есть ряд серверов. На самом деле это очень удобно. Финансов чтобы набить стойку 19" серверами у меня нет, а так крутятся за натом 3 машинки с пробросом соответствующих портов и все. Один игровой сервер, второ нечто типа хостинга для своих, трений - всякая мелочь (ирк бансер, прокся, файлопомойка).
Теперь вы примерно представляете как у меня все устроено и какой я извращенец (хотя я считаю это самым экономически выгодным вариантом). Со своих машин я без проблем могу получить доступ к любому серверу, приконнектившись на 192.168.х.х. За пределами своего ната я, естественно, могу приконнектица только к серваку, который раздает нат. Ну или к любой одной машине на выбор, куда проброшу порт. Сейчас я хочу дать доступ к игровому серверу одному товарищу. Естественно, если я проброшу 22 порт на игровой сервер, не смогу зайти даже на роутер. Ну если только сперва коннектиться к игровому серваку, а потом к роутеру. Это изврат полнейший.

Ну вот мы и плавно добрались до "что надо". Надо сделать на роутере логин пользователя, который там (на ройтере) не мог бы делать вообще ничего. Даже создавать/удалять/загружать файлы в/из/возле домашней директории. И даже комманду who выполнить. Чтобы у него работала ТОЛЬКО комманда ssh. При чем чтобы коннектиться можно было только к адресам вида 192.168.х.х. При вводе любой комманды, кроме ssh должно выдаваться нечто типа "Акстись, тебе тут не рады".
В общем жду помощи, надеюсь кто нибудь подскажет, как такое реализовать. :)

З.Ы. Я не употребляю наркотики. В данный момент я даже трезвый.
Спасибо сказали:
ford1813
Сообщения: 383
ОС: Slackware

Re: Урезаный доступ к ssh

Сообщение ford1813 »

DialSoft писал(а):
07.01.2009 23:04
В общем имеем такую ситуацию. Есть старенькая машинка с 2 сетевухами. Она раздает интернет всем остальным. За натом, по мимо моего компьютера и ноутбука, есть ряд серверов. На самом деле это очень удобно. Финансов чтобы набить стойку 19" серверами у меня нет, а так крутятся за натом 3 машинки с пробросом соответствующих портов и все. Один игровой сервер, второ нечто типа хостинга для своих, трений - всякая мелочь (ирк бансер, прокся, файлопомойка).
Теперь вы примерно представляете как у меня все устроено и какой я извращенец (хотя я считаю это самым экономически выгодным вариантом). Со своих машин я без проблем могу получить доступ к любому серверу, приконнектившись на 192.168.х.х. За пределами своего ната я, естественно, могу приконнектица только к серваку, который раздает нат. Ну или к любой одной машине на выбор, куда проброшу порт. Сейчас я хочу дать доступ к игровому серверу одному товарищу. Естественно, если я проброшу 22 порт на игровой сервер, не смогу зайти даже на роутер. Ну если только сперва коннектиться к игровому серваку, а потом к роутеру. Это изврат полнейший.

Ну вот мы и плавно добрались до "что надо". Надо сделать на роутере логин пользователя, который там (на ройтере) не мог бы делать вообще ничего. Даже создавать/удалять/загружать файлы в/из/возле домашней директории. И даже комманду who выполнить. Чтобы у него работала ТОЛЬКО комманда ssh. При чем чтобы коннектиться можно было только к адресам вида 192.168.х.х. При вводе любой комманды, кроме ssh должно выдаваться нечто типа "Акстись, тебе тут не рады".
В общем жду помощи, надеюсь кто нибудь подскажет, как такое реализовать. :)

З.Ы. Я не употребляю наркотики. В данный момент я даже трезвый.

Непохоже , грамматика явно хромает ,но не об этом).
Что такое chroot конечно же трудно было найти на данном форуме , когда это тут так часто обсуждается ?
Контакты для связи:

E-mail: ford1813@gmail.com

Telegram: @ford1813
Спасибо сказали:
Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Re: Урезаный доступ к ssh

Сообщение DialSoft »

wertik писал(а):
07.01.2009 23:07
Непохоже , грамматика явно хромает ,но не об этом).
Что такое chroot конечно же трудно было найти на данном форуме , когда это тут так часто обсуждается ?

Грамматика хромает из-за того, что третий час ночи, а я с 6 утра работаю... :) Сейчас накидался энергетицами и приобрел чувство ускорения всего вокруг меня. Но мы сейчас не об этом.
Про чрут я знаю. Ни раз его настраивал. Но вот как в нем разрешить запуск только одной комманды - не знаю. Гуглить... Ну если бы был вопрос типа "как настроит апач в убунте?", то хватило бы ввода в гугл "apache ubuntu", сразу бы была целая куча ссылок. Тут даже не могу додумать по какому запросу искать. Читать про чрут не предлагать, тему чрута я для себя открыл, как это реализовать не нашел. :)
Жду конкретных указаний, желательно не на дверь...
Спасибо сказали:
Аватара пользователя
k01
Сообщения: 104
ОС: Archlinux

Re: Урезаный доступ к ssh

Сообщение k01 »

Естественно, если я проброшу 22 порт на игровой сервер, не смогу зайти даже на роутер.

а что мешает запустить ssh сервер роутера на другом порту ?
Рациональное программирование — наш ответ MicroSoft!
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Урезаный доступ к ssh

Сообщение nesk »

Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
ford1813
Сообщения: 383
ОС: Slackware

Re: Урезаный доступ к ssh

Сообщение ford1813 »

DialSoft писал(а):
07.01.2009 23:24
wertik писал(а):
07.01.2009 23:07
Непохоже , грамматика явно хромает ,но не об этом).
Что такое chroot конечно же трудно было найти на данном форуме , когда это тут так часто обсуждается ?

Грамматика хромает из-за того, что третий час ночи, а я с 6 утра работаю... :) Сейчас накидался энергетицами и приобрел чувство ускорения всего вокруг меня. Но мы сейчас не об этом.
Про чрут я знаю. Ни раз его настраивал. Но вот как в нем разрешить запуск только одной комманды - не знаю. Гуглить... Ну если бы был вопрос типа "как настроит апач в убунте?", то хватило бы ввода в гугл "apache ubuntu", сразу бы была целая куча ссылок. Тут даже не могу додумать по какому запросу искать. Читать про чрут не предлагать, тему чрута я для себя открыл, как это реализовать не нашел. :)
Жду конкретных указаний, желательно не на дверь...

По поводу того каике команды можно будет запускать тут я думаю все достаточно просто .
Нужно скопировать только те бинарники , которые вы считаете нужными .
А вот все что касается замены сообщения о несуществующей команде ,
bash: sdsd: command not found
Вы это имели в виду?
Тут придется поггулить.
Пойду сам поковыряю , даже интересно стало .

k01 писал(а):
07.01.2009 23:32
Естественно, если я проброшу 22 порт на игровой сервер, не смогу зайти даже на роутер.

а что мешает запустить ssh сервер роутера на другом порту ?

+1 )
Контакты для связи:

E-mail: ford1813@gmail.com

Telegram: @ford1813
Спасибо сказали:
Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Re: Урезаный доступ к ssh

Сообщение DialSoft »

rbash и rbash начинаю курить. Может подойдет.
По другому порту пустить не выйдет... Обязательно надо по стандартному (в тех. подробности вникать не будем).

А еще мне вот тут подсказали сделать выполнение баш скрипта при запуске. Он выводит текст типа:

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

Куда коннектимся, болезный?
1. Игровой сервак.
2. Веб сервак.
3. Вообще странный сервак.
4. Домашняя машина одмина.
5. Я пьян (бан по IP на 12 часов).

Введите # машины, к которой хотите коннектиться...

Вариант на самом деле шикарнейший просто... Но вот только ctrl+c проходить юудет и скрипт можно убить легким взмахом руки... Как сделать расконнект при попытке завершить скрипт - пока не придумали. Время пол четвертого ночи, уже немного хочется спать... :)
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Урезаный доступ к ssh

Сообщение KiWi »

Поставьте юзеру скрипт в качестве шелла.
Спасибо сказали:
Mazdader
Сообщения: 155
ОС: Debian Squeeze

Re: Урезаный доступ к ssh

Сообщение Mazdader »

А почему бы не сделать проброс порта на другой порт. Поясню: при коннекте на порт (предположим) 1234, машина-шлюз будет знать, что соединение нужно направить на сервер1 на порт 22. На iptables реализуется в одну строку: iptables -t nat -A PREROUTING -i $WAN_IF -p tcp --dport 1234 -j DNAT --to-destination server1:22
Спасибо сказали:
Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Re: Урезаный доступ к ssh

Сообщение DialSoft »

Mazdader писал(а):
08.01.2009 09:45
А почему бы не сделать проброс порта на другой порт. Поясню: при коннекте на порт (предположим) 1234, машина-шлюз будет знать, что соединение нужно направить на сервер1 на порт 22. На iptables реализуется в одну строку: iptables -t nat -A PREROUTING -i $WAN_IF -p tcp --dport 1234 -j DNAT --to-destination server1:22

Выше уже отписывался, что по левому порту не вопрет пустить. В общем сейчас все додумываю, в принципе проблема почти решена. Особое спасибо за совет прописать скрипт как шелл. :)
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: Урезаный доступ к ssh

Сообщение strah »

А почему бы автору не поступить так:
1)создаете на роутере псевдоюзверя с шеллом - /bin/false
2)Указываете вашему клиенту запускать ssh-клиента так: ssh -L 22:$GAME_IP:22 -Nf $PSEUDO_USER@$ROUT_IP && ssh $GAME_USER@localhost

Таким образом ssh соединение будет проброшено через ssh сервер вашего роутера на игровой сервер.
/earth: file system full
Спасибо сказали:
TiFFolk
Сообщения: 12
ОС: много разных

Re: Урезаный доступ к ssh

Сообщение TiFFolk »

Я сам не пробовал,но хотел предложить тоже самое,что и strah .

Смысл в том,что имея несуществующий шелл /bin/false юзер не сможет выполнить ни одной команды. Вот только другой вопрос- сможет ли сработать тунеллинг в этом случае.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Урезаный доступ к ssh

Сообщение sash-kan »

TiFFolk писал(а):
09.01.2009 19:18
имея несуществующий шелл /bin/false юзер не сможет выполнить ни одной команды
даже
remote.host$ ssh host.bez.shella sh
?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Урезаный доступ к ssh

Сообщение pelmen »

Увидел новость на опеннете:
В статье описано как установить и настроить сервер ssh в среде chroot с ограничением определенных пользователей при помощи утилиты makejail.

Взято отсюда
Спасибо сказали:
TiFFolk
Сообщения: 12
ОС: много разных

Re: Урезаный доступ к ssh

Сообщение TiFFolk »

sash-kan писал(а):
10.01.2009 14:49
TiFFolk писал(а):
09.01.2009 19:18
имея несуществующий шелл /bin/false юзер не сможет выполнить ни одной команды
даже
remote.host$ ssh host.bez.shella sh
?


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

Хотя можно написать небольшой скрипт,и его подать в качестве шелла, как было показано выше,с выбором варианта сервера.
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Урезаный доступ к ssh

Сообщение rm_ »

В общем имеем такую ситуацию. Есть старенькая машинка с 2 сетевухами. Она раздает интернет всем остальным. За натом, по мимо моего компьютера и ноутбука, есть ряд серверов. На самом деле это очень удобно. Финансов чтобы набить стойку 19" серверами у меня нет, а так крутятся за натом 3 машинки с пробросом соответствующих портов и все. Один игровой сервер, второ нечто типа хостинга для своих, трений - всякая мелочь (ирк бансер, прокся, файлопомойка).
Теперь вы примерно представляете как у меня все устроено и какой я извращенец (хотя я считаю это самым экономически выгодным вариантом). Со своих машин я без проблем могу получить доступ к любому серверу, приконнектившись на 192.168.х.х. За пределами своего ната я, естественно, могу приконнектица только к серваку, который раздает нат. Ну или к любой одной машине на выбор, куда проброшу порт.

Зачем Вы себя так жестоко самобичуете за абсолютно нормальную (ладно, пусть продиктованную реалиями IPv4) конфигурацию? :)

По другому порту пустить не выйдет... Обязательно надо по стандартному (в тех. подробности вникать не будем).

Сделайте себе по другому порту, а ему - проброс портов со стандартного прямиком на SSH игрового сервера.

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

роутер:22 => игровойсервер:22
роутер:1022 = роутер.ssh

И вообще, такие от фонаря возникающие "не выйдет" - это несерьёзно. "Надо сделать вот это, наиболее прямым способом сделать нельзя (в тех. подробности вникать не будем), помогите придумать извратно-обходные варианты".
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Урезаный доступ к ssh

Сообщение pelmen »

Хочу дополнить последний пост, что одним из самых главных (первых) способов безопасности я для себя считаю именно изменить стандартный порт на ssh на любой другой свободный (думаю, коллеги меня поддержат в этом подходе). Так что оставлять на стандартном порту в любом случае не есть лучший вариант. Ну а если уж менять, то ставьте себе на один, а юзеров прокидывайте через другой.
Спасибо сказали: