ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[inet-admins] Dialup on unix boxes



Добрый день, джентльмены.

Недавно возникал вопрос об организации dialup доступа посредством unix
boxes,  в  частности,  интересовал  вопрос "проброса" соединений через
ssh.   Попробую  с  несущественными  упрощениями  расписать  на  своем
извращенном  примере.  У  нас  небольшой пул из 15 номеров, в качестве
"модемных  стоек"  выступают FreeBSDшные четверки с четырьмя нутряными
модемами,   в   качестве   сервера  AAA  используется  tac+ia  (особая
благодарность  всем  авторам  за  прекрасный  продукт).  Сами четверки
совершенно  пустые,  ибо  вся их задача - ответить на звонок с помощью
mgetty  и,  в  случае необходимости, пробросить clear соединение через
ssh  на  центральный  сервер.  В login.conf mgetty прописаны следующие
строчки:

/AutoPPP/ - a_ppp /usr/local/bin/ssh -q -e none -l ppppap server
pp* - a_ppp /usr/local/bin/ssh -q -t -e none -l ppplog server @

На  сервере  заведены  пользователи  ppppap  и ppplog без паролей (для
повышения  секурности  можно использовать .shosts and/or RSA, хотя мне
кажется  это  избыточным,  ибо аутентификация после проброса все равно
проводится  pppd  или  tlogin'ом), в качестве шелла этим пользователям
прописаны   соответственно:

/usr/local/bin/rpppd  (с помощью sudo запускает pppd, который проводит
PAP-аутентификацию через такакс) и

/usr/bin/tlogin  (slightly modified скрипт Дениса Шапошникова, который
опять  же производит аутентификацию через такакс и дает авторизацию на
выполнение pppd, опять же через sudo).

В такаксе все очевидно.

Нюансы.

1.  Один  из  вопросов  был  связан  с тем, что ssh не аллокейтит tty,
поэтому pppd не к чему подцепиться.

Армянское радио отвечает: RFTM.
=== man ssh
       -t     Force  pseudo-tty  allocation.  This can be used to
              execute arbitary screen-based programs on a  remote
              machine,  which can be very useful e.g. when imple-
              menting menu services.
===

В  моем случае это необходимо только при запуске tlogin'а, поскольку в
качестве  запускаемой  команды ему передается имя пользователя, а pppd
запускается  как  обычный  shell без параметров, при этом замечательно
аллокейтит tty.

2.  Sudo  необходим для того, чтобы pppd подцепился к псевдотерминалу,
что он хочет делать только от суперюзера.

3.   Модификация  tlogin  элементарная  -  игнорировать  command  line
parameters,  ибо  "ssh  ... -l ppplog server @" запускает на удаленной
машине tlogin -c USERNAME, что и понятно, а оригинальный tlogin просто
берет  первый  аргумент  в  качестве  USERNAME,  который, как нетрудно
догадаться, получается "-с" :).

4.  Можно  было бы, конечно, пойти по правильному пути: pppd запускать
на  самих  unix  boxes;  аутентификацию, авторизацию, раздачу слонов и
адресов  проводить  через  централизованный такакс, etc., а интерфейсы
поднимать  на  самих  unix  boxes.  Но  мне  это  показалось  излишним
усложнением   конструкции,   которое   может   привести  к  уменьшению
надежности функционирования системы в целом; возможно, к потребности в
более  навороченной  технике. Кроме того, у меня на сервере при каждом
заходе  включаются  счетчики ipfw, в результате, параллельно с учетом,
ведущимся  acctd, считается трафик на каждого пользователя, статистика
по  выдаче  псевдостатических адресов, и т.п. Это позволяет, например,
выделять  пользователю  не  время,  а  объем  информации, сверяя его в
постаутентификационном  скрипте. И еще... _как минимум_, одним хопом у
клиентов меньше :)

Очевидно, что система легко расширяема как добавлением очередного unix
box,  полученного  клонированием  ;),  так  и  любого access server'а,
любящего такакс.

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

Чувствую,  что  где-то  в  этой  конструкции  могут  быть  дыры      в
безопасности,  но  придумать  никак  не  могу;  если  кто укажет, буду
благодарен,   ибо  я  еще  не  настоящий  сварщик.  Любые  комментарии
приветствуются. На возможные вопросы постараюсь ответить. Да, работает
это  уже  около  двух лет, правда аутентификацию через tlogin я сделал
только  на  днях,  до  этого была только PAP - собственно, поэтому я и
ответил с задержкой, хотел сначала довести все до ума.

Вроде ничего не забыл. Feci quod potui, feciant meliora potentes.

Best regards,
 Nicolas                            mailto:nicolas@avmgroup.ru


=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html



 




Copyright © Lexa Software, 1996-2009.