Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 49
Текст из файла (страница 49)
Данную опцию можноиспользовать, только если вы используете протокол SSH версии 1Режим отладки (DEBUG). В этом режиме сервер не переходит в фоновый режим иподробно протоколирует свои действия в системном журнале. Использование даннойопции особенно полезно при изучении работы сервераЕсли указана это опция, демон sshd отправляет отладочные сообщения не в системныйжурнал, а на стандартный поток ошибокЗадает альтернативный файл конфигурации. По умолчанию используется/etc/ssh/sshd_configПредоставляет клиенту, не прошедшему аутентификацию, дополнительное время,чтобы аутентифицировать себя.
По умолчанию время равно 600 секундам. Если заэто время клиент не смог аутентифицировать себя, соединение будет прекращено.Значение 0 интерпретируется как бесконечное ожиданиеЗадает альтернативный файл открытого ключа (ключ узла). По умолчанию используетсяфайл /etc/ssh/ssh_host_key. Эта опция может понадобиться, чтобы sshd мог выполняться не только от имени суперпользователя root. Кроме этого, частым использованиемэтой опции является запуск sshd из сценариев, задающих различные настройки в зависимости от времени суток.
Например, в дневное (рабочее) время устанавливаютсяодни опции, а в вечернее(иерабочее) время — другиеГ 99Конфигурирование сервераПродолжение табл. 8.6ОпцияОписание-iИспользуется, если нужно запускать sshd через суперсервер xinetd (inetd). Обычнодемон sshd не запускается суперсервером xinetd (inetd), а запускается при загрузкесистемы, потому что демону sshd требуется некоторое время (10 секунд) для генерирования ключа сервера, прежде чем он сможет ответить на запросы клиентов-k времяЗадает время, спустя которое ключ сервера будет создан заново.
По умолчаниювремя составляет 3600 секунд (1 час). Данную опцию можно использовать, толькоесли вы используете протокол SSH версии 1-р портУказывает альтернативный порт, который демон sshd будет прослушивать.По умолчанию используется порт 22-q-t«Тихий режим».
В данном режиме протоколирование сессии производиться не будет.Обычно протоколируется начало аутентификации, результат аутентификации и времяокончания сессииТестовый режим. Данный режим применяется для проверки корректности файлаконфигурации-DПри использовании этой опции демон не будет переходить в фоновый режим-4Разрешается использовать IP-адреса только в формате IPv4-6Разрешается использовать IP-адреса только в формате IPv6Файл конфигурации демона / e t c / s s h / s s h d _ c o n f ig выглядит примерно так, как это покзано в листинге 8.7Листинг 8.7 Файл конфигурации /etc/ssh/sshd_config##f#$OpenBSD: sshd_config,v 1.38 2001/04/15 21:41:29 deraadt Exp $This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbinThis is the sshd server system-wide configuration file.
See sshd(8)for more information.Port 22iProtocol 2,1#ListenAddress 0.0.0.0#ListenAddress ::HostKey /etc/ssh/ssh_host_keyHostKey /etc/ssh/ssh_host_rsa_keyHostKey /etc/ssh/ssh_host_dsa_keyServerKeyBits 768LoginGraceTime 600KeyRegenerationlnterval 3600PermitRootLogin yes## Don't read ~/.rhosts and -/.shosts filesIgnoreRhosts yes# Uncomment if you don't trust ~/.ssh/known_hosts forRhostsRSAAuthentication#IgnoreUserKnownHosts yesStrictModes yesXllForwarding yesXllDisplayOffset 10200Конфигурирование сервераPrintMotd yes#PrintLastLog noKeepAlive yes# LoggingSyslogFacility AUTHPRIVLogLevel INFOtobsoletes QuietMode and FascistLoggingRhostsAuthentication no## For this to work you will also need host keys in /etc/ssh/ssh_known_hostsRhostsRSAAuthentication noI similar for protocol version 2HostbasedAuthentication noiRSAAuthentication yes# To disable tunneled clear text passwords, change to no here!PasswordAuthentication yesPermitEmptyPasswords no# Uncomment to disable s/key passwords#ChallengeResponseAuthentication no# Uncomment to enable РАМ keyboard-interactive authentication# Warning: enabling this may bypass the setting of 'PasswordAuthentication'#PAMAuthenticationViaKbdInt yes# To change Kerberos options#KerberosAuthentication no#KerberosOrLocalPasswd yes#AFSTokenPassing no#KerberosTicketCleanup no# Kerberos TGT Passing does only work with the AFS kaserverfKerberosTgtPassing yes#CheckMail yes#UseLogin noiMaxStartups 10:30:60#Banner /etc/issue.nettReverseMappingCheck yesSubsystem sftp/usr/libexec/openssh/sftp-serverВ большинстве случаев вас должны устроить опции по умолчанию,однако сейчас мы все же рассмотрим некоторые из них.201Конфигурирование сервераДиректива Port предназначена для указания порта, которые демон будетпрослушивать (данная директива аналогична опции -р.):Port 22Следующая директива — это директива Protocol.
С помощью этой директивы можно указать в порядке предпочтения номера поддерживаемых протоколов SSH:Protocol 2,1Такое определение директивы означает, что сначала сервер будет пытаться установить соединение с клиентом по протоколу SSH версии 2, апотом — по протоколу SSH версии 1.
Можно указать использование толькоодной версии протокола, например, Protocol 1.Директива ListenAddress указывает локальный адрес, который долженпрослушивать демон.Директива определяет файлы ключей. Файлами по умолчанию являются:/etc/ssh/ssh_host_key/etc/ssh/ssh_host_rsa_key/etc/ssh/ssh_host_dsa_keyДиректива ServerKeyBits определяет разрядность ключа сервера для протокола SSH первой версии. По умолчанию используется 768-разрядныйключ (768 бит).Директива LoginGraceTime аналогична опции -g: предоставляет клиентудополнительное время, чтобы аутентифицировать себя. По умолчанию время равно 600 секундам.
Если за это время клиент не смог аутентифицировать себя, соединение будет прекращено.Директива KeyRegenerationlnterval аналогична опции -k. Она определяетвремя, спустя которое ключ сервера будет создан заново. По умолчаниювремя составляет 3600 секунд (1 час).Директива PermitRootLogin определяет, разрешено ли пользователю rootрегистрироваться по ssh. Значение по умолчанию:PermitRootLogin yesЕще две директивы, имеющие непосредственное отношение к аутентификации — это PasswordAuthentication и PermitEmptyPasswords.
Первая разрешает (при значении yes) аутентификацию с помощью пароля, а вторая разрешает (при значении yes) использовать пустые пароли. Значения поумолчанию:PasswordAuthentication yesPermitEmptyPasswords noОписание остальных опций вы найдете в справочной системе, введякоманду man sshd.8.3. МаршрутизацияМаршрутизацию между сетями можно организовать с помощью командыroute или с помощью IpChains.
Сейчас рассмотрим более или менее подробно первый случай, а о втором поговорим в гл. 14.202Конфигурирование сервераПримечание.IPChains — это средство фильтрации пакетов. Фильтр просматривает заголовок пакета и решает, что делать со всем пакетом. Например, можно указать фильтру, чтоопределенные пакеты должны быть удалены, а некоторые перенаправлены, то естьобеспечить маршрутизацию.Пусть, у вас есть две сетевые платы ethO и ethl:i f c o n f i g ethO 192.168.1.1 upi f c o n f i g ethO 1 9 2 . 1 6 8 . 2 .
1 upи вам нужно обеспечить маршрутизацию между подсетями 192.168.1.0 и192.168.2.0. С этой целью объявляем, что машины, которые находятся ввашем локальном сегменте 192.168.1.*, «сидят» на первом интерфейсе иобщаться с ними нужно напрямую:route add net 1 9 2 . 1 6 8 . 1 . 0 192.168.1.1 netmask 2 5 5 . 2 5 5 . 2 5 5 . 0 ОА с машинами с адресами 192.168.2.* будем разговаривать через ethl:route add net 1 9 2 . 1 6 8 .
2 . 0 192.168.2.1 netmask 2 5 5 . 2 5 5 . 2 5 5 . 0 0Последний параметр — это метрика. Ее можно понимать как «расстояние до шлюза-назначения» или «сколько пересадок между шлюзами придется сделать пакету по пути и обратно». Т.к. адреса 192.168.1.1 и 192.168.2.1являются нашими собственными адресами, то метрика равна 0.Сетевые пакеты для IP-адресов, которые не лежат в нашей локальнойсети, будем отправлять на машину 192.168.1.11, а она сама будет разбираться, что с ними делать:route add default 192.168.1.11 1Другими словами, сейчас мы объявили маршрут по умолчанию. Обратите внимание на значение метрики = 1. Как видите, мы все сделали безвсяких конфигураторов — все просто и логично.Сейчас постараемся, как говорится, рассмотреть второй вариант в трехстрочках.
Допустим, у вас есть те же две подсети — 192.169.1.0 и 192.168.2.0.Постараемся организовать маршрутизацию средствами IpChains:ipchains -P forward DENYipchains -A f o r w a r d -s 1 9 2 . 1 6 8 . 1 . 0 / 2 4 -d 1 9 2 . 1 6 8 . 2 . 0 / 2 4 -j ACCEPTipchains -A forward -s 1 9 2 . 1 6 8 . 2 . 0 / 2 4 -d 1 9 2 . 1 6 8 .
1 . 0 / 2 4 -jACCEPTО том, что означают данные три строчки, вы узнаете в гл. 14.8.4. Настройка DHCP (Dynamic Host Configuration Protocol)Для чего нужен протокол DHCP? DHCP — это протокол настройки узла,который автоматически назначает IP-адреса компьютерам. По сути, протокол DHCP — это дальнейшее развитие протокола ВООТР. Последний разрешает бездисковым клиентам запускать и автоматически конфигурироватьпротокол TCP/IP. Протокол DHCP централизовано назначает IP-адреса ввашей сети и автоматически конфигурирует рабочие станции. Возможно,вы подумали, что в одной сети должен быть только один сервер DHCP,203Конфигурирование серверапотому что в противном случае между серверами возникнет конфликт, апострадавшим опять окажется клиент, который зависнет при загрузке.
А воти не так — в одной сети может быть несколько серверов DHCP. И это нетолько не отразится на производительности сети, но даже повысит надежность сети, если, например, один из серверов выйдет из строя.Итак, установите пакет dhcp и включите поддержку динамических IPадресов командой echo "I" > /proc/sys/net/ipv4/ip_dynaddr. DHCP в Linuxреализован в виде демона сервера (dhcpd) и демона клиента (dhcpcd).
Демонсервера непосредственно отвечает за назначение IP-адресов клиентам, привходе и выходе их из сети. Клиентский демон, как явствует из названия,запускается на стороне клиента.Конфигурационным файлом для dhcpd является / e t c / d h c p . c o n f . Призапуске DHCP-сервера происходит выделение IP-адресов согласно содержащимся в файле / e t c / d h c p .