Настройка Incoming Connections в Linux::Журнал СА 4.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9934
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8144
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8251
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5225
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5909
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 Настройка Incoming Connections в Linux

Архив номеров / 2003 / Выпуск №4 (5) / Настройка Incoming Connections в Linux

Рубрика: Администрирование /  Продукты и решения

СЕРГЕЙ РОПЧАН

Настройка Incoming Connections в Linux

В любой фирме наверняка найдётся один-два человека, которым жизненно необходимо получать почту за пределами «офисной сети». Хорошо, если ваш шеф человек с понятием и свято чтит КЗОТ, тогда он просто скажет: «Ребята, в воскресенье нужно отдыхать!». А если нет? Тогда не остается ничего другого, кроме как отвлечься на пару минут от раскладывания пасьянса и сделать это. Для тех, кто еще не понял – в статье пойдет речь о том, как настроить удаленный доступ к серверу.

Во избежание всевозможных вопросов, в том числе и системных (и да не нарветесь вы на kernel panic), на всякий случай уточняю:

  • В качестве модема использовалась покрытая пылью коробочка с надписью «ZyXEL 228S».
  • Подключалось это к серийному порту почтового сервера.
  • В качестве операционной системы стоял, стоит и будет стоять ASPLinux версии 7.2.

Что ж, приступим.

Шаг 1

После того, как модем должным образом подключен и сконфигурирован, например, утилитой kudzu, попробуем его для начала протестировать на предмет поднятия трубки. Для этого запускаем программу /sbin/mgetty (не путать с mingetty!) следующим образом:

mgetty -D -s 38400 -n 4 ttyS1

То есть указываем mgetty работать с модемом на линии /dev/ttyS1 только в режиме DATA (-D) со скоростью 38400 (-s), а трубку поднимать только после четвертого гудка (-n). Если модем действительно подключен к этой линии (а не к ttyS0, например), то при попытке дозвона вы услышите ровно четыре длинных гудка, прежде чем модем «поднимет трубку».

Шаг 2

Все устройства, с помощью которых можно получить доступ на линуксовый сервер, должны быть должным образом прописаны в файле /etc/inittab. Программа init считывает этот файл и «принуждает» определенные программы отслеживать попытки регистрации в системе через эти устройства. Чтобы каждый раз не запускать mgetty руками, переложим это занятие на широкие плечи init.

Открываем файл inittab и дописываем туда вышеуказанную командную строку следующим образом:

s1:2345:respawn:/sbin/mgetty -D -s 38400 -n 4 ttyS1

То есть даем init ценное указание под кодовым названием s1: активизировать mgetty на четырех уровнях запуска (2345) и «держать его постоянно» (respawn).

Даем команду ps fax|less, чтобы узнать PID процесса init (а вдруг он не равен 1?) и PID mgetty (а вдруг он остался висеть после «ручного» запуска?). Процесс mgetty, если он подгружен, убиваем обычным образом (kill ), а вот init ненавязчиво просим перечитать свой конфигурационный файл при помощи сигнала «SIGHUP»: kill -SIGHUP . После этого можно попробовать тестирования ради убить несколько раз mgetty – он все равно будет появляться автоматически под новыми PID’ами. Именно подобное поведение процесса, кстати говоря, и подразумевается под параметром respawn в inittab.

Шаг 3

Теперь необходимо сконфигурировать mgetty так, чтобы при успешном коннекте инициировалось PPP-соединение. Для этого открываем конфигурационный файл /etc/mgetty+sendfax/login.conf и пишем там следующее (остальные строчки конфига лично я удалил):

/AutoPPP/ --ppp /usr/sbin/pppd auth -chap +pap login modem crtscts lock proxyarp

/AutoPPP/ расшифровывается как «обнаруживать PPP-соединение автоматически». Далее следует путь к программе, которую нужно запустить при обнаружении попытки установить PPP-соединение и её параметры:

  • auth означает, что перед тем как пустить клиента в сетку, необходимо провести авторизацию;
  • -chap – не проводить chap-авторизацию;
  • +pap – проводить pap-авторизацию;
  • login – использовать для pap-авторизации базу зарегистрированных в системе пользователей;
  • modem – «общаться с модемом» (ждать CD, подавать DTR);
  • crtscts – использовать хардварный flow control (RTS/CTS) при работе с серийным портом;
  • lock – создавать lock-файл, дабы доступ к устройству был эксклюзивным;
  • proxyarp – «добавлять» хост клиента в локальную сеть.

Шаг 4

Чтобы клиент успешно прошел авторизацию, необходимо сделать две вещи: добавить пользователя в систему (adduser , passwd ) и добавить регистрационную информацию в файл /etc/ppp/pap-secrets.

#Secrets for authentication using PAP

#client   server secret   IP addresses

dialup    *      qwerty   192.168.1.254

Под client подразумевается имя пользователя; * server говорит о том, что пользователь под этим именем может подключаться к любым сервисам; secret – это пароль (он должен быть тем же самым, что и при добавлении пользователя в систему); IP addresses – IP-адрес, под которым дозвонившийся клиент будет работать в сети.

Все, теперь можно тестировать mgetty по полной программе.

Шаг 5

Лог mgetty находится в файле mgetty.log.ttyS1 каталога /var/log и выглядит он следующим образом (я пронумеровал строки, чтобы было легче их комментировать).

00 —

01 09/23 14:34:28 yS1  mgetty: experimental test release 1.1.26-Apr16

02 09/23 14:34:28 yS1  check for lockfiles

03 09/23 14:34:28 yS1  locking the line

04 09/23 14:34:28 yS1  lowering DTR to reset Modem

05 09/23 14:34:29 yS1  send: dATQ0V1H0[0d]

06 09/23 14:34:29 yS1  waiting for «OK» ** found **

07 09/23 14:34:30 yS1  send: ATS0=0Q0&D3&C1[0d]

08 09/23 14:34:30 yS1  waiting for «OK» ** found **

09 09/23 14:34:30 yS1  waiting...

10 09/23 14:35:25 yS1  wfr: waiting for «RING»

11 09/23 14:35:25 yS1  wfr: waiting for «RING»

12 09/23 14:35:30 yS1  wfr: waiting for «RING»

13 09/23 14:35:35 yS1  wfr: waiting for «RING»

14 09/23 14:35:40 yS1  send: ATA[0d]

15 09/23 14:35:40 yS1  waiting for «CONNECT» ** found **

16 09/23 14:35:59 yS1  send:

17 09/23 14:35:59 yS1  waiting for «_» ** found **

18 09/23 14:36:01 yS1  clean_line: only 500 of 5277 bytes logged

19 09/23 14:36:11 yS1  login.config: max. 9 command line arguments possible

20 09/23 14:36:11 ##### data dev=ttyS1, pid=2307, caller=’none’, conn=’38400/V.34 28800/None’, name=’’, cmd=’/usr/sbin/pppd’, user=’/AutoPPP/’

01–03 – блокировка линии.

  • 04–08 – инициализация модема.
  • 09 – ждем-c, пока кто-нибудь позвонит.
  • 10–14 – поднятие трубки после четырех гудков.
  • 15–18 – обмен информацией.
  • 19 – считывание конфига.
  • 20 – поднятие PPP и, собственно, клиент получил доступ к серверу.

Теперь, когда поставленная задача решена, самое время подумать о «наворотах».

Во-первых, давать ли пользователю доступ ко всей «офисной сети» или ограничить его коннектом с почтовым сервером?

Во-вторых, если в вашей сети есть пользователи, считающие себя хакерами, то хранение паролей в открытом виде – не очень хороший способ.

В-третьих, возможно, имеет смысл настроить mgetty таким образом, чтобы после установки соединения модем сервера прерывал его и тут же пытался дозвониться модему клиента сам...


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru