Войтов Η. М. Администрирование ос red Hat Enterprise Linux Учебный курс І р п souline a c a d e m y a L l I a n c e м о с к в а, 2011




страница8/13
Дата19.11.2016
Размер5.62 Mb.
Просмотров317
Скачиваний0
1   ...   5   6   7   8   9   10   11   12   13
ServerRoot, Listen, ServerName и Docum entRoot. В приведенном примере видно, что конфигурационные файлы веб сервера Apache находятся в каталоге /etc/h ttp d ; веб сервер будет доступен по 80 порту имя сервера, которое будет отображаться в ответах на клиентские запросы, будет example.com, а корневым каталогом, в котором содержатся данные, является /var/w w w /h tm l.
Директивы виртуальных хостов
В данной секции конфигурационного файла настраиваются вирт уальны е
хосты. Виртуальные хосты используются в тех случаях, когда на сервере Apache необходимо содержать несколько сайтов на одном IP -адресе. Существует два типа виртуальных хостов: основанные на имении основанные на IP -адресе. В первом случае подразумевается, что на одном IP -адресе функционируют несколько различных сайтов во втором случае каждый сайт функционирует на определенном
1Р-адресе.
Директивы, относящиеся ко всем трем секциям рассматриваемого конфигурационного файла, описаны в табл. 2.4.

Ε Μ Ι Ι Ι Ι Ι Ι Модуль 2. Сетевое администрирование
Таблица 2.4.
Директивы конфигурационного файла httpd.conf.
Директива
Описание
Первая секция
ServerRoot
Определяет каталог, в котором хранятся конфигурационные файлы, сообщения об ошибках и журнальные файлы. По умолчанию данной директиве соответствует значение /etc/
httpd.
Listen
Указывает порт, на котором веб-сервер ожидает входящих соединений. Возможно указание на определенный интерфейс, например 172.16.0.2:80.
Timeout
Определяет количество времени в секундах, в течение которого сервер ожидает завершения событий, связанных с получением запроса или получением пакетов при запросах PUT и POST. По умолчанию данное значение составляет 120 с.
KeepAlive
Если значение данной директивы соответствует «ОҐІ», то каждый запрос обрабатывается только одним соединением.
LoadModule
Определяет использование дополнительных модулей
Apache, например, mod_alias (предназначен для перенаправления запросов н адругой адрес. Общая запись определения модуля имеет следующий вид:
LoadM odule <имф_модуля> тогіиІе5/<название_фай-
ла_модуля>.зо
При использовании модуля alias данная директива будет иметь следующий вид:
LoadM odule alias_module m odules/m od_alias.so
User и Задает идентификаторы пользователя и группы, которые используются для запуска демона httpd. По умолчанию значению данной директиве соответствует пользователь и группа apache.
Вторая секция
ServerAdmin
Содержит контактные данные администратора - URL и почтовый адрес.
ServerName
Имя хоста и порт, который используется сервером для собственной идентификации перед клиентами.
DocumentRoot
Определяет корневой каталог, в котором хранится все веб­
содержимое сайтов, к которым предоставляет доступ данный веб-сервер.
Directorylndex
Содержит индексные файлы, которые могут использоваться для формирования корректных адресов, в случае использования запросов вида http://www.example.com/. Обычно данная директива включает такие значения как index.html, index.php, index.txt. С учетом данных значений окончательный адрес будет иметь вид http://www.example. com/index. Ihtm.
Администрирование веб-сервера Ap ach e
M ill··
99
Директива
Описание
Directory
Определяются независимые каталоги, на основе которых можно управлять доступом к веб-содержимому.
Третья секция
VirtualHost
Описывает виртуальные хосты, для которых возможно настроить разные политики доступа к веб-содержимому.
NameVirtualHost
Указывает адрес, который будет использоваться для нескольких виртуальных хостов.
ServerAdmin
Присваивает почтовый ящик администратора указанного виртуального хоста.
DocumentRoot
Определяет корневой каталог веб-содержимого, используемый для вирутального хоста.
ServerName
Содержит название или URL виртуального хоста.
ErrorLog
Содержит файл с сообщениями об ошибках путь указывается относительно каталога DocumentRoot.
Custom Содержит файл с общими ошибками путь указывается относительно каталога Описывает виртуальные хосты, для которых возможно настроить разные политики доступа к веб-содержимому каталогов.
В нижеследующем листинге приведен пример использования директивы
Directory для указания различных опций каталогов, к которым осуществляется веб-доступ. Директива
используется для указания опций, которые доступны для определенного каталога Опции используемые для всех каталогов

Options FollowSymLinks

# Опции используемые для каталога DocumentRoot

Options Indexes MultiViews

# Опции используемые для каталога Как видно из листинга, имеются опции общие для всех подкаталогов, находящихся в корневом каталоге, которые определены в директиве
var/w w w /h tm l”> ...< /D ir ecto ry > . Если необходимо для определенного каталога настроить персональные опции, отличные от опций каталога Docum entR oot, то надо добавить еще одну директиву Directory и указать в ней необходимые опции. В табл. 2.5 указаны основные опции, используемые в директивах Directory, File или VirtualHost.
Таблица 2.5.
Основные опции управления каталогами Apache
Опция
Описание
None
Не использовать никаких опций

100
■■■■Illi
Модуль 2. Сетевое администрирование
Опция
Описание
АН
Использовать все опции Apache, кроме Разрешено выполнение CG I-скриптов
FollowSymLinks
Следовать символическим ссылкам внутри каталога
Includes
Разрешено использовать директиву include, используя модуль m Использовать указанные индексы для каталогов
MultiViews
Позволяет клиенту отображать содержимое каталога, исходя из веб-браузера клиента, языка, предпочтительной кодировки и т.д.
Часто возникает необходимость иметь на одном веб-сервере Apache несколько независимых сайтов, используемых разными организациями. Для этого существует поддержка вирт уальны х хост ов (virtual hosts). Виртуальные хосты делятся на два типа именованные (nam e-based) и адресные (IP-based). Адресные виртуальные хосты используют ІР-адрес сервера, при запросе соединения клиентом и на его основе определяют необходимый виртуальный хост, который следует отдать клиенту. Таким образом, у каждого сайта должен быть независимый Рад- рес. При использовании именованных виртуальных хостов с помощью директивы
Nam eVirtualHost выделяется один ІР-адрес для всех виртуальных хостов,. Затем для каждого виртуального хоста директивой VirtualHost определяется каталог на веб-сервере. В данной директиве обязательно должна присутствовать директива
ServerName, в которой указывается D N имя ресурса, отдаваемого клиенту
В следующем листинге приведен пример использования виртуального хос­
тинга на основе адресных виртуальных хостов. В директиве VirtualHost опреде­
ляю тся персональные настройки доступа к каталогу yum:
80>
ServerAdmin root@localhost
ServerName main.linux.lab
Options Indexes FollowSymLinks
DocumentRoot "/var/www/html/yum/"
ErrorLog logs/main.linux.lab-error_log
CustomLog logs/main.linux.lab-access log common

И з листинга видно, что в случае использования виртуальных хостов возможен более гибкий контроль доступа к содержимому каталога, к которому осуществляется веб-доступ. В частности, существует возможность выбора интерфейса и порта, на который необходимо принимать входящие H T T P -соединений, и указывать персональные журнальные файлы, содержащие информацию об ошибках.
В следующем листинге приведен пример использования виртуального хос­
тинга на основе именованных виртуальных хостов. В директиве Nam eVirtualHost определяется ІР-адрес, используемый для всех виртуальных хостов. В двух директивах VirtualHost указываю тся каталоги site l и site2, для которых необходимо настроить индивидуальный хостинг:
Администрирование прокси-сервера Squid
M ill··
101
NameVirtualHost 192.168.0.1

ServerName www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/sitel
ErrorLog logs/error log
TransferLog logs/access_log


ServerName company.com
ServerAdmin webmaster@company.com
DocumentRoot /var/www/html/site2
ErrorLog logs/error_log
TransferLog logs/access_log

После того как в конфигурационные файлы демона httpd внесены все необходимые изменения , необходимо проверить их синтаксис, выполнив команду
httpd -t. Если в выводе данной команды отобразится сообщение “Syntax OK”, можно приступать к запуску демона httpd. Д ля этого можно использовать команду service httpd start или же использовать команду apachectl, входящую в состав пакета httpd.
2.5. Администрирование прокси-
сервера Squid
При большой нагрузке на веб-сервер целесообразно использовать механизмы кэш ирования данных, при которых одни и те же данные будут доставляться клиенту не напрямую с веб-сервера, а из некоторого кэшированного хранилища данных. Одним из решений подобной проблемы является использование кэш иру­
ющего прокси-сервера Squid.
Прокси-сервер непросто кэширует данные, получаемые в результате выполнения клиентских запросов, но и позволяет формировать иерархию прокси-сер- веров, которые могут обмениваться информацией о кэшированных данных между собой через прокол IC P, тем самым максимально оптимизируя процесс выборки кэшированных данных.
Помимо кэш ирования информации, прокси-сервер Squid может использоваться как ретранслятор (прозрачный или фильтрующий) запросов корпоративных пользователей в сеть Интернет. Это может быть выгодно сточки зрения учета интернет-трафика, контроля передаваемых данных и информационной безопасности внутреннего периметра организации.
В ОС Linux прокси-сервер Squid входит в состав группы пакетов Web Server. Его также можно установить отдельно из пакета squid.
После установки пакета squid в системе будут присутствовать следующие конфигурационные и бинарные файлы, которые используются прокси-сервером
Squid:

/e tc /in it.d /sq u id - in скрипт запуска прокси-сервера Squid;
/e tc /s q u id - каталог, в котором содержатся все конфигурационный файлы прокси-сервера Squid;
/etc /sy sc o n fig /sq u id - файл, в котором содержатся опции запуска прокси- сервера Squid при помощи in it-скрипта;
• /usr/share/doc/squid-
- каталог с документацией в формате
HTML;

/usr/lib/squid/
- каталог, содержащий специальные программы
(helpers) используемые прокси-сервером Squid для аутентификации пользовате­
лей;
/u sr/sb in /sq u id - демон прокси-сервера Squid;
/u sr/sh are/sq u id - каталог, содержащий шаблоны сообщений об ошибках;
/v a r/lo g /sq u id - каталог, в котором выполняется журналирование системных событий прокси-сервера Squid;
/v a r/sp o o l/sq u id - каталог, используемый для хранения кэшированных данных.
Общая последовательность действий для развертывания прокси-сервера
Squid следующая. Установка пакета squid и всех его зависимостей. Настройка конфигурационного файла
squid.conf.
3. Создание базы кэшированных данных. Запуск демона squid и настройка его автозапуска.
Конфигурирование прокси-сервера Squid сводится в основном к настройке его конфигурационного файла /etc/sq u id /sq u id .con f, который вместе с комментариями содержит более 4000 строк. В каждой строке основного текста указывается определенная директива, имеющая несколько параметров. Остановимся на некоторых из директив.
Д ля того чтобы указать порт, который будет обрабатывать клиентские запросы, используется директива http_port <номер_порта>, в которой необходимо указать номер порта (он должен быть более 1024, поскольку демон squid запуска­
ется от непривилегированного пользователя).
Директива
hierarchy stoplist
определяет условия, при которых запросы будет направляться напрямую веб-серверу, минуя кэш. Типовая директива
hierarchy_
stoplist
имеет вид stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny Данная директива помогает прокси-серверу Squid определить время хранения данных в кэше. Если время хранения данных превышено, то запрос будет сделан напрямую к веб-серверу для получения объекта. Данные, которые удовлетворяют заданным в данной директиве параметрам, отдаются клиенту из кэша. В следу­
КШ ИІІІІІІ Модуль 2. Сетевое администрирование
Администрирование прокси-сервера Squid
M ill··
103
ющем примере указывается время актуальности данных протокола FTP, которое составляет 1440 минут (один день).
refresh_pattern Aftp:
1440
20%
10080
Если изначально исходным веб-сервером для данных FT P не было установлено максимальное время актуальности в заголовках E xpires или C ache-C ontrol: m ax-age и файл данных был помещен в кэш 10 часов назад, то коэффициент означает, что данные будут считаться актуальными в течение следующих 2 часов. Максимальное время актуальности данных FT P в кэше прокси-сервера Squid в данном примере составляет 10080 минут (7 дней. После истечения максимального времени актуальности последующие запросы клиентов к этим данным будут направлены на веб-сервер.
Основной механизм фильтрации данных, проходящих через прокси-сервер, заключается в использовании правил, оперирующих списками доступа, заданными в директивах асі. В конфигурационном файле sq u id .co n f изначально определены следующие списки доступа all src 0 .
ООО О .
О acl manager proto cache_object acl localhost src
127.0.0.1/255.255.255.255 acl to_localhost dst Впервой строке указан список all, в состав которого входят все IP -адреса всех подсетей, во второй строке указан список доступа m anager, которому удовлетворяет протокол cache_object. Далее идет определение списка доступа localhost, которому соответствует 1Р-адрес 127.0.0.1 с маской подсети 255.255.255.0. В последней строке представлен список доступа to _ lo calh o st, которому удовлетворяют все запросы с заголовком получателя, равным Следующие списки доступа определяют порты, через которые поступает трафик, который необходимо кэшировать:
acl SSLjports ;
port 443 563
acl Safe ports port 80
acl Safe ports port 21
acl Safe ports port 443
acl Safe ports port 70
acl Safe ports port 210
acl Safe ports port После того, как в конфигурационном файле sq u id .co n f были определены все необходимые списки доступа, можно определить правила, которые будут использоваться для фильтрации проходящего веб-трафика. Одним из таких правил является доступ по протоколу h ttp , которое указывается в директиве h ttp _ a ccess. В следующем примере первые две директивы разрешают доступ для списков local­
h o st и m anager. В последней директиве запрещается доступ по всем неуказанным портам (Safe_ports).
http_access allow manager localhost http access deny manager http_access deny !Safe_ports
Для того, чтобы запустить прокси-сервер Squid, в его конфигурационном файле должны обязательно быть определены следующие директивы e <им я_хоста> (задается имя прокси-сервера);
• асі <список> <образец> (определяется список доступа, соответствующий указанному образцу allow <список_доступа> (для указанного списка доступа разрешается доступ к данным по протоколу H T T P После того как конфигурационный файл squid.conf будет сформирован, его необходимо проверить на наличие ошибок при помощи команды squid -k parse. Если вывод данной команды окажется пустым, ошибки отсутствуют. В случае наличия ошибок будет указана соответствующая строка и выведено описание ошиб-
Перед запуском демона squid необходимо создать базу данных кеша, с помощью команды squid -z. После выполнения данной команды в каталоге /v a r /c a c h e /
squid будут созданы все необходимые файлы базы данных кеша.
Наконец, когда база данных кеша будет создана, можно запустить демон squid при помощи команды service squid start и добавить его в автозапуск, используя команду chkconfig.
Если в ОС Linux активизирован механизм SELinux, то для того, чтобы прокси- сервер Squid мог обмениваться данными посети, необходимо установить значение параметра squid_connect_any равное 1:
setsebool -Р squid_connect_any 1
КШ ИІІІІІІ Модуль 2. Сетевое администрирование
2.6. Защищенное
администрирование. Пакет OpenSSH
Интерпретатор ssh (secure shell) является заменой небезопасному интерпретатору telnet. Он использует защищенную аутентификацию для подтверждения личности пользователя и шифрует любые соединения между двумя хостами. Интерпретатор входит в состав пакета openssh-clients, который также содержит команду безопасного копирования файлов scp и команду защищенного копирования файлов по протолку F T P - sftp.
В ОС Linux версия защищенного командного интерпретатора ssh называется
OpenSSH. Принцип работы O penSSH основывается на архитектуре «клиент-сер­
вер». Система, к которой необходимо подключиться, выступает в качестве сервера. В данной системе функционирует демон sshd, который обслуживает удаленные подключения. Система, которая подключается к демону sshd, выступает в качестве клиента. Помимо базовых возможностей, таких как работа в командной строке, интерпретатор ssh позволяет организовывать безопасную трансляцию сеансов X
W indow с удаленного хоста на хост администратора, позволяя тем самым работать в графической среде удаленной системы при помощи локального терминала. Еще одной замечательной возможностью, которой обладает данный интерпретатор, яв ­
Защищенное администрирование. Пакет O p e n S S H
IIIIIII
ляется перенаправление портов (port forwarding), при помощи которого возможно перенаправлять соединения к серверу, на котором настроено перенаправление, на удаленный сервер, который используется для конечной обработки запроса.
Д ля организации сервера O penSSH в ОС Linux необходимо установить пакет
openssh-server. В процессе его инсталляции будет создана пара ключей - закрытый и открытый. Открытый ключ используется клиентами для подтверждения подлинности данного сервера. Все сообщения между клиентом и сервером шифруются открытым ключом сервера. Закрытый ключ используется для расш иф ро­
вания сообщений на сервере. После переустановки ОС или смены IP -адреса на сервере O penSSH клиенту будет выведено уведомление о несоответствии открытого ключа сервера тому ключу, который был передан клиенту изначально. Информация об открытых ключах содержится в файле
/.ssh /k n ow n _h osts.

В состав клиентской части O penSSH входят следующие утилиты:
ssh-agent - предназначена для хранения закрытых ключей, используемых для аутентификации RSA. Вначале каждого графического или консольного сеанса утилита запускается, и все остальные окна или консольные утилиты работают как клиенты по отношению к ней;
ssh-add - используется для передачи идентификационных данных RSA утилите ssh-agent;
• ssh-keygen - используется для генерации закрытого и открытого ключей. Например, для создания ключей типа RS А необходимо выполнить команду
ssh-keygen -t rsa;
• scp -используется для защищенного копирования данных, подобного команде ср;
sftp - используется для защищенной передачи файлов;
ssh - защищенный интерпретатор команд.
Н астройка серверной части O penSSH достаточно проста и заключается в редактировании конфигурационного файла демона sshd - /etc /ssh /ssh d _ c o n fig . В данном файле следует обратить внимание наследующие директивы.
SyslogFacility AUTHPRIV, в которой директиве задается уровень детализации сообщений, направляемых в файл /v a r/lo g /sec u r e. В процессе тестирования соединений SSH полезно использовать данный файл для просмотра системных событий;
PasswordAuthentication = yes|no - в ней указывается, что сервер поддерживает аутентификацию в интерактивном режиме при помощи паролей;
X llForw arding yes|no, позволяю щ ая перенаправлять сеансы X сданного хоста на хост клиента. Для подключения к сенсу удаленного хоста необходимо использовать команду ssh -X <пользователь>@<удаленный_хост>,
в которой указывается имя пользователя удаленного хоста, а также имя или IP -адрес самого хоста;
Perm itRootLogin yes|no, которая определяет возможность подключения к

106
■■■ιιιιι
Модуль 2. Сетевое администрирование серверу, используя учетную запись пользователя
root;
• RSAAuthentication yes|no,
определяющая поддержку аутентификации с использованием алгоритма RSA;
• PubkeyAuthentication yes|no,
в которой определяется поддержка сервером аутентификации на основе открытого ключа клиента. Данный механизм аутентификации более надежен, чем аутентификация по паролю. Она позволяет использовать ssh для написания всевозможных административных сценариев, где необходимо выполнять вход на удаленный хост без ввода пароля;
• AuthorizedKeysFile.ssh/authorized_keys,
определяющая файл, в котором содержатся открытые ключи клиентов. Определяемый файл и его родительский каталог должны иметь код доступа 700 для того, чтобы было возможным использовать аутентификацию по открытому ключу После того как серверная часть настроена, необходимо запустить демон
sshd, используя команду
service.
Настройки клиентской части O penSSH содержатся в конфигурационном файле,

который содержит директиву
Host,
определяющую применимость всех директив данного файла к указанному хосту, а также некоторые директивы, присутствующие в файле
sshd_config.
К основным операциям относятся следующие.
• Подключение к удаленному хосту с использованием следующей коман­
ды:
ssh <имя_пользователя>6<имя_хоста>,
где в качестве аргумента <имя_пользователя> необходимо ввести соответствующее регистрационное имя удаленного пользователя, а в аргументе
<имя_хоста> указать DNS имя или IP -адрес удаленного хоста.
• Выполнение команды на удаленном хосте. Д ля ее запуска используется следующая команда:
ssh <имя_пользователя>0<имя_хоста> <команда>,
где в качестве аргумента <команда> необходимо указать нужную команду. Следует отметить, что бинарный файл, указанной в данной команде, должен существовать на удаленном сервере.
• Передача файлов на удаленный хост. Данная команда имеет следующий синтаксис:
ssh <локальный_файл> <имя_пользователя>6<имя_хоста>:<удаленный_файл>
Вместо аргумента <локальный_файл> и <удаленный_файл> необходимо, соответственно, указать локальный и удаленный файл.
• Перенаправление портов позволяет шифровать данные, передаваемые по незащищенным портам. Например, клиент, находящийся в сети Интернет, может забирать свои почтовые сообщения по протоколу PO P 3 с почтового сервера, находящегося в локальной сети организации и при этом быть уве­

Конфигурирование Sendmail


Поделитесь с Вашими друзьями:
1   ...   5   6   7   8   9   10   11   12   13


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал