Денис Колисниченко - Linux-сервер своими руками
- Название:Linux-сервер своими руками
- Автор:
- Жанр:
- Издательство:Наука и Техника
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94387-063-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Денис Колисниченко - Linux-сервер своими руками краткое содержание
В книге подробно рассмотрены настройки сетевых сервисов, позволяющих создать сервер требуемой конфигурации и функциональности на основе ОС Linux. Вы сможете настроить сервер любого типа: от сервера локальной сети до Интернет-сервера и сервера удаленного доступа. Детальна описано администрирование Linux.
Изложение материала построено на основе дистрибутивов Red Hat и Mandrake. Много уникальной информации: запуск Windows-игр под Linux и создание Linux-сервера для игрового зала, настройка антивирусов Dr. Web и AVP под Linux, программа учета трафика MRTG, система защиты и обнаружения атак LIDS, а также многое другое. Особое внимание уделено безопасности Linux-серверов. Достаточно подробно описана сама ОС Linux и приведен справочник ее команд. Прочитав книгу, вы станете обладателями знаний по настройке и компилированию ядра, созданию собственных rpm-пакетов, командному интерпретатору bash, использованию массивов RAID. Вы узнаете внутренний мир Linux. Книга подойдет как для профессиональных, так и для начинающих администраторов, поскольку изложение материала начинается с установки ОС Linux, а в первой главе дано описание основных сетевых технологий и протоколов (Курс Молодого Администратора).
Все приведенные в книге листинги проверены на практике и размещены на прилагаемом CD. Помимо этого на нем содержится много справочной информации (HOWTO, RFC), a также статей, посвященных Linux. Размещен богатый набор вспомогательных утилит и программного обеспечения для сервера (Apache, MySQL, MRTG и др.).
Linux-сервер своими руками - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Вам необязательно указывать все эти атрибуты для каждого сервиса. Можно указать только необходимые:
1. socket_type
2. user
3. server
4. wait
Параметр protocol указывается только для RFC-сервисов, а также для всех сервисов, которые не описаны в /etc/services. Параметр rpc_version — только для rpc-сервисов. Параметр rpc_nuinber указывается только для RFC-сервисов, которые не указаны в файле /etc/rpc. Параметр port задается только для He-RPC-сервисов, которые не описаны в /etc/services. Следующие атрибуты поддерживают все операторы присваивания:
1. only_from
2. no_access
3. log_on_success
4. log_on_failure
5. passenv
6. env (не поддерживает оператор «-=»)
Эти атрибуты также могут принимать разные значения в разных секциях описания сервиса.
Файл конфигурации может содержать секцию default, в которой описаны атрибуты по умолчанию. Они будут одинаковы для всех сервисов. Возможные атрибуты по умолчанию:
1. log_type
2. log_on_success
3. log_on_failure
4. only_from
5. no_access
6. passenv
7. instances
8. disabled
9. enabled
8.1.6. Параметры запуска xinetd
Я надеюсь, что с настройкой более-менее все понятно. Если же мои надежды не оправдались, то в разделе 8.1.7 вы найдете пример файла /etc/xinetd.conf. Сейчас же займемся запуском только что откомпилированного и настроенного суперсервера. А запускать его можно с параметрами, указанными в табл. 8.3.
Параметры запуска xinetd Таблица 8.3
Параметр | Описание |
---|---|
-f файл | Устанавливает альтернативный файл конфигурации, который должен использоваться вместо стандартного файла /etc/xinetd.conf |
-pidfile рid_файл | Файл с ID-процесса |
-stayalive | Даже если ни один сервис не прописан, демон должен выполняться («остаться в живых») |
-loop число | Задает количество коннектов в секунду |
-d | Режим отладки (debug mode) |
-reuse | Перед тем как связать сокет сервиса с IP-адресом, суперсервер установит опцию сокета SO_REUSEADDR |
-limit число | Ограничение на количество одновременно запущенных процессов |
В табл. 8.3 я привел описание не всех параметров запуска, выбрав лишь самые нужные. Более подробную информацию вы сможете получить в документации по xinetd. Так жекак и inetd, xinetd можно контролировать с помощью сигналов (см. табл. 8.4).
Сигналы суперсервера Таблица 8.4
Сигнал | Описание |
---|---|
SIGUSR1 | Суперсервер перечитает файл конфигурации |
SIGQUIT | Остановит xinetd |
SIGTERM | Перед остановкой xinetd все процессы будут остановлены |
8.1.7. Пример файла конфигурации /etc/xinetd
Теперь, как и обещал, привожу пример файла конфигурации (см. листинг 8.5). В этом листинге перечислены наиболее часто используемые сервисы с оптимальными параметрами (атрибутами). Конечно же, вам предстоит решить: какие сервисы вы будете использовать, а какие нет. Возможно, вы также измените и их атрибуты, например, время работы сервиса.
# Параметры по умолчанию для всех возможных сервисов
defaults
{
# Число серверов, которые могут быть активны одновременно для сервиса.
instances = 25
# Параметры протоколирования
log_type = FILE /var/log/servicelog
log_on_success = HOST PID
log_on_failure = HOST RECORD
only_from = 111.11.111.0 111.111.112.0
only_from = localhost 192.168.1.0/32
disabled = tftp
}
service login
{
flags = REUSE
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/etc/in.rlogind
log_type = SYSLOG Iocal4 info
}
# Сервис telnet — эмуляция терминала удаленных систем
# (для 127.0.0.1)
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/etc/in.telnetd
bind = 127.0.0.1
logon failure += USERID
}
# Сервис telnet — эмуляция терминала удаленных систем
service telnet
{
flags = REUSE
disabled = yes
socket_type = stream
wait = no
user = root
# server = /usr/etc/in.telnetd
bind = 192.231.139.175
redirect = 128.138.202.20 23
log_on_failure += USERID
}
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/etc/in.ftpd
server_args = –1
instances = 4
log_on_success += DURATION USERID
logon failure += USERID
# Время работы сервиса
access_times = 2:00-8:59 12:00-23:59
# приоритет
nice = 10
}
service name
{
socket_type = dgram
wait = yes
user = root
server = /usr/etc/in.tnamed
}
# Поддержка протокола TFTP (Trivial FTP). Этот протокол
# используется для обмена информацией между интеллектуальными
# маршрутизаторами и, скорее всего, вы не будете его
# использовать.
service tftp {
socket_type = dgram
wait = yes
user = root
server = /usr/etc/in.tftpd
server_args = –s /tftpboot
}
# SMTP-сервис Qmail. Конфигурируется для запуска по требованию
# суперсервера xinetd
service smtp
{
socket_type = stream
protocol = tcp
wait = no
user = qmaild
id = smtp
server = /var/qmail/bin/tcp-env
server_args = /var/qmail/bin/qmail-smtpd
log_on_success –= DURATION USERID PID HOST EXIT
log_on_failure –= USERID HOST ATTEMPT RECORD
}
# Сервис finger, позволяющий узнать полезную общедоступную
# информацию о пользователях системы. Например, для того,
# чтобы узнать информацию о пользователе root системы host.com,
# введите одноименную команду: finger root@host.com
# Для работы этой команды необходим сервис finger.
#
service finger
{
socket_type = stream
disabled = yes
wait = no
user = nobody
server = /usr/etc/in.fingerd
}
service echo
{
type = INTERNAL
id = echo-stream
socket_type = stream
protocol = tcp
user = root
wait = no
}
service echo {
type = INTERNAL
id = echo-dgram
socket_type = dgram
protocol = udp
user = root
wait = yes
}
service rstatd
{
type = RFC
disabled = no
flags = INTERCEPT
rpc_version = 2-4
socket_type = dgram
protocol = udp
server = /usr/etc/rpc.rstatd
wait = yes
user = root
}
Как видно из примера, я описал лишь те сервисы, которые больше всего необходимы. Доступ к сервисам в рассматриваемом примере могут получать только из сети 111.111.111.0, 111.111.112.0 и 192.168.1.0. Можно также указывать адрес и маску подсети, например 192.168.1.0/32. Вместо sendmail я использовал qmail. Можно было бы запускать qmail в режиме standalone, но так как я не очень часто пользуюсь услугами 25-го порта, то мне удобнее запускать сервис smtp через xinetd. Из соображений безопасности я отключил некоторые сервисы: finger, telnet.
Читать дальшеИнтервал:
Закладка: