Mini-HOWTO настройка вашего нового домена. |
---|
Пред. | | След. |
Настройка поддерживаемых вами служб
Настройка разрешения имен
Вам необходимо будет выбрать способ обращения компьютеров в сети друг к другу по имени, а также способ обращения людей со всего мира к вашим незащищенным хостам по имени. Для этого существует несколько путей.
DNS во внутренней сети, домен поддерживается провайдером
римечание: если вы решили не создавать внутреннюю (частную) сеть, то переходите к разделу
Разд. Полностью незащищенная сеть, поддерживаемая провайдером.
>
В этом случае, первичный DNS сервер для вашего домена
поддерживается провайдером. Тем не менее, вы используете DNS в
вашей внутренней сети при общении компьютеров в ней между собой.
Имена незащищенных хостов и их IP адреса передаются провайдеру.
Если вы хотите, к примеру, чтобы хост betty.example.com был WWW и
FTP сервером, то вам нужно попросить провайдера проставить записи
CNAME для www.example.com и ftp.example.com, указывающие на
betty.example.com.
Настройте DNS на шлюзе в вашу внутренню сеть. Это нормально, с
точки зрения безопасности, кроме того, упрощает перенастройку,
если вы решите в дальнейшем перенести первичный DNS сервер на
одну из своих машин.
Я предполагаю, что машина, на которой установлен сервер
имен, имеет имя dns.example.com, является шлюзом во внутреннюю
сеть, псевдонимом для fred.example.com и ее IP адрес 192.168.1.1.
Если в вашем случае это не так, то нужно просто внести небольшие
изменения в конфигурацию. Я не буду рассматривать их в этом
HOWTO, за исключением особо интересных случаев.
Вам нужно будет скачать и скомпилировать последнюю версию BIND,
the Berkeley Internet Name Domain. Ее можно найти на сайте BIND.
Далее нужно настроить демон. Создайте файл /etc/named.conf со следующим содержимым:
options {
directory "/var/named";
listen-on { 192.168.1.1 };
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "pz/1.168.192";
};
zone "example.com" {
type master;
notify no;
file "pz/example.com";
}; |
Обратите внимание, что мы объявляем себя администратором (master)
домена example.com. Между тем, наш провайдер также объявляет себя
администратором для того же домена. Проблем не возникнет, если
быть внимательным с настройкой. Все машины из внутренней сети
должны для разрешения имен обращаться к dns.example.com. Они
не должны обращаться к серверу провайдера,
так как он считает себя администратором всего домена, но не знает
IP адресов или имен машин из вашей внутренней сети. Аналогично,
незащищенные хосты должны обращаться к
серверу провайдера, а не к внутреннему серверу dns.example.com.
Теперь нужно создать различные файлы в подкаталоге /var/named.
Файл root.hints в точности соответствует описанному в документации по BIND и DNS HOWTO. К моменту создания этого документа следующие записи файла root.hints соответствовали действительности:
H.ROOT-SERVERS.NET. 6d15h26m24s IN A 128.63.2.53
C.ROOT-SERVERS.NET. 6d15h26m24s IN A 192.33.4.12
G.ROOT-SERVERS.NET. 6d15h26m24s IN A 192.112.36.4
F.ROOT-SERVERS.NET. 6d15h26m24s IN A 192.5.5.241
B.ROOT-SERVERS.NET. 6d15h26m24s IN A 128.9.0.107
J.ROOT-SERVERS.NET. 6d15h26m24s IN A 198.41.0.10
K.ROOT-SERVERS.NET. 6d15h26m24s IN A 193.0.14.129
L.ROOT-SERVERS.NET. 6d15h26m24s IN A 198.32.64.12
M.ROOT-SERVERS.NET. 6d15h26m24s IN A 202.12.27.33
I.ROOT-SERVERS.NET. 6d15h26m24s IN A 192.36.148.17
E.ROOT-SERVERS.NET. 6d15h26m24s IN A 192.203.230.10
D.ROOT-SERVERS.NET. 6d15h26m24s IN A 128.8.10.90
A.ROOT-SERVERS.NET. 6d15h26m24s IN A 198.41.0.4 |
Файл pz/127.0.0 выглядит так:
$TTL 86400
@ IN SOA example.com. root.example.com. (
1 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
1D) ; Minimum TTL
NS dns.example.com.
1 PTR localhost. |
Файл pz/1.168.192 выглядит так:
$TTL 86400
@ IN SOA dns.example.com. root.dns.example.com. (
1 ; Serial
8H ; Refresh 8 hours
2H ; Retry 2 hours
1W ; Expire 1 week
1D ; Minimum 1 day
)
NS dns.example.com.
1 PTR fred.example.com.
PTR dns.example.com.
PTR mail.example.com.
2 PTR barney.example.com.
3 PTR wilma.example.com. |
и так далее, по одной PTR записи на каждую машину из внутренней сети. В этом примере fred.example.com имеет IP адрес 192.168.1.1, и на него указывают псевдонимы dns.example.com и mail.example.com. Машина barney.example.com имеет IP адрес 192.168.1.2 и так далее.
Файл pz/example.com выглядит так:
$TTL 86400
@ IN SOA example.com. root.dns.example.com. (
1 ; Serial
8H ; Refresh 8 hours
2H ; Retry 2 hours
1W ; Expire 1 week
1D ; Minimum 1 day
)
NS dns.example.com.
IN A 192.168.1.1
IN MX 10 mail.example.com.
IN MX 20 <ISP mail machine IP>.
localhost A 127.0.0.1
fred A 192.168.1.1
A 10.1.1.9
dns CNAME fred
mail CNAME fred
barney A 192.168.1.2
wilma A 192.168.1.3
betty A 10.1.1.10
www CNAME betty
ftp CNAME betty |
Заметьте, что мы создаем записи как для машин из внутренней сети, так и для машин извне, так как машины из внутренней сети не будут обращаться к серверу имен провайдера для запроса, к примеру, IP адреса машины betty.example.com. Для машины fred мы указываем оба IP адреса, внешний и внутренний.
Одна строка из раздела "options" файла
/etc/named.conf требует комментария:
listen-on { 192.168.1.1 }; |
Она указывает вашему серверу имен не отвечать на DNS запросы из внешнего мира (все такие запросы должны обслуживаться сервером провайдера, а не вашим).
Не-DNS разрешение имен во внутренней сети, домен поддерживается провайдером
римечание: если вы решили не создавать внутреннюю сеть, то переходите к разделу
Разд. Полностью незащищенная сеть, поддерживаемая провайдером.
>
Если вы решили использовать эту конфигурацию, значит вы решили,
что ваша внутренняя сеть довольно мала и не будет часто меняться.
Вы решили не использовать централизованную базу данных DNS
сервера, а вместо этого поддерживать разрешение имен отдельно для
каждой машины. Все машины должны обращаться к DNS серверу
провайдера для разрешения имен машин за пределами внутренней
сети. Для разрешения имен внутренней сети, необходимо создать
таблицу хостов. Для Linux это означает внесение имен и IP адресов
в файл /etc/hosts на каждой машине.
Каждый раз при смене IP адреса или добавлении новой машины в сеть,
этот файл должен быть обновлен на каждой машине.
Как и в разделе Разд. DNS во внутренней сети, домен поддерживается провайдером, списки имен хостов
и IP адреса внешних хостов, а также все псевдонимы (такие как
имена для ftp и www серверов) должны быть переданы провайдеру.
Вы сами полностью поддерживаете DNS для вашего домена
Я не буду рассматривать случай использования
named для разрешения имен назащищенных
хостов и отдельной, для каждой машины во внутренней сети базы
хотя это можно реализовать. Если вы собираетесь использовать
named для внешней или для внутренней сети, то почему бы не
сделать это для обеих, хотя бы для упрощения конфигурации. В этом
разделе я буду предполагать, что шлюз внутренней сети занимется
разрешением имен и для внешней и для внутренней сети.
Нам требуется по-разному реагировать в зависимости от того,
пришел ли запрос извне (в этом случае, мы не должны посылать IP
адреса машин внутренней сети), или из внутренней сети. Ко времени
написания этого документа существовал пакет BIND версии 8.2.2,
используя который это поведение можно было релизовать, лишь
запуская два демона named с различной
конфигурацией. Впрочем, ведется активное обсуждение введения
нового ключего слова "views", которое, возможно, будет добавлено
для этой цели в BIND. Пока же придется довольствоваться
предложенным решением.
В первую очередь, настройте сервер имен для внутренней сети, как описано в разделе Разд. DNS во внутренней сети, домен поддерживается провайдером.
Далее нужно настроить DNS для домена так, как он будет виден для
остального мира. Свяжитесь с вашим провайдером и выясните
делегирует ли он вам обработку запросов на реверсный поиск имен
(reverse lookup). Хотя изначально DNS стандарт не рассматривал
возможность обслуживания реверсных запросов на подсетях меньших,
чем сети класса C, позже был разработан обходной путь, работающий
со всеми, соответствующими стандарту, DNS клиентами, и закрепленный
в
RFC 2317. Если ваш провайдер собирается делегировать вам
контроль за реверсным DNS вашего диапазона IP адресов, то вам
необходимо будет выяснить точное имя in-addr псевдо-домена,
выбранного ими для делегирования (RFC не дает соглашений для
повседневнего использования). Я буду считать, что провайдер
делегировал вам контроль, и имя псевдо-домена -
8.1.1.10.in-addr.arpa. Провайдер должен будет внести записи
подобные
8.1.1.10.in-addr.arpa. 2H IN CNAME 8.8.1.1.10.in-addr.arpa.
9.1.1.10.in-addr.arpa. 2H IN CNAME 9.8.1.1.10.in-addr.arpa.
10.1.1.10.in-addr.arpa. 2H IN CNAME 10.8.1.1.10.in-addr.arpa.
и т.д. |
в свой файл зоны для домена 1.1.10.in-addr.arpa. Конфигурация вашего файла зоны 8.1.1.10.in-addr.arpa будет дана в этом разделе ниже.
Если провайдер собирается делегировать вам контроль за
реверсным DNS, то он проставит CNAME записи в свою таблицу
реверсной DNS зоны, указывающие на соответствующие записи в вашем
псевдо-домене, как показано выше. Если он не собирается
делегировать вам контроль, то вам придется просить его обновлять
записи реверсной зоны каджый раз, когда вы будете добавлять,
удалять или менять имя видимой изне машины вашего домена. Если
данные реверсной DNS таблицы не соответствует данным прямой, то
определенные услуги могут выдавать предупреждения или
отказываться работать с машинами, для которых имеет место
несоответствие.
Теперь создайте конфигурацию для второго named, который будет отвечать на запросы машин вне внутренней сети. Нужно перечислить только те хосты и IP адреса, которые видны снаружи. Ответы будут посылаться только на запросы, приходящие на внешний интерфейс шлюза.
Сперва создайте второй файл конфигурации, например
/etc/named.ext.conf. В нашем случае он будет таким:
options {
directory "/var/named";
listen-on { 10.1.1.9; };
};
zone "." {
type hint;
file "root.hints";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "pz/127.0.0";
};
zone "8.1.1.10.in-addr.arpa" {
type master;
file "ext/8.1.1.10";
};
zone "example.com" {
type master;
notify no;
file "ext/example.com";
}; |
Файлы root.hints и pz/127.0.0
, оба из каталога /var/named используются обеими демонами. Файл ext/8.1.1.10 выглядит так:
$TTL 86400
@ IN SOA fred.example.com. root.fred.example.com. (
1 ; Serial
10800 ; Refresh 3 hours
3600 ; Retry 1 hour
3600000 ; Expire 1000 hours
86400 ) ; Minimum 24 hours
NS dns.example.com.
9 IN PTR fred.example.com.
PTR dns.example.com.
PTR mail.example.com.
10 IN PTR betty.example.com.
PTR www.example.com.
PTR ftp.example.com. |
Файл ext/example.com содержит следующее:
$TTL 86400
@ IN SOA example.com. root.fred.example.com. (
10021 ; Serial
8H ; Refresh 8 hours
2H ; Retry 2 hours
1W ; Expire 1 week
1D ; Minimum 1 day
)
NS fred.example.com.
IN A 10.1.1.9
IN MX 10 mail.example.com.
IN MX 20 <ISP Mail Machine>.
localhost A 127.0.0.1
fred A 10.1.1.9
betty A 10.1.1.10
dns CNAME fred
mail CNAME fred
www CNAME betty
ftp CNAME betty |
Запустите оба демона на машине, являющейся шлюзом внутренней сети. В скрипты инициализации сетевых демонов внесите следующие строки:
/usr/sbin/named -u dnsuser -g dnsgroup /etc/named.conf
/usr/sbin/named -u dnsuser -g dnsgroup /etc/named.ext.conf |
Я предположил, что вы создали пользователя с ограниченными
правами "dnsuser" и соответствующую группу"dnsgroup". Если в bind
обнаружится ошибка, позволяющая хакеру запустить из
named свой код, то он обнаружит, что может
делать лишь то, что может непривелигированный пользователь.
Каталог
/var/named и файлы в нем
должны быть недоступны для записи пользователем "dnsuser.
Машины во внутренней сети должны быть настроены на работу с
dns.example.com (в нашем примере имеющем IP адрес IP
192.168.1.1), в то время, как видимые извне машины могут посылать
запросы как на внешний интерфейс шлюза внутренней сети (в нашем
примере IP адрес 10.1.1.9), так и на DNS сервер провайдера.
Полностью незащищенная сеть, поддерживаемая провайдером
В этой конфигурации все хосты видимы снаружи. Каждая машина
домена имеет реальный IP адрес. Вы предоставляете провайдеру
список IP адресов машин и их имена. Провайдер дает вам адрес, как
минимум, одного своего DNS сервера. Настройка разрешения имен в
Linux производится в файле /etc/resolv.conf:
search example.com
nameserver <DNS host 1>
nameserver <DNS host 2> |
Машины, работающие под Windows, настраиваются подобным же образом через диалоги настройки сети.
Подготовка DNS перед переносом домена
Если по какой-либо причине (например, смена провайдера) вы решили перенести ваш домен на новый IP адрес, то перед переносом необходимо подготовиться к нему.
Вам, наверное, хотелось бы, чтобы можно было после смены IP
мгновенно перенастроить DNS со старых адресов на новые. Увы.
Удаленные системы кэшируют ваши IP адреса, поэтому на последующие
запросы будут возвращать ваши старые адреса, вместо того, чтобы
запрашивать соответствующие сервера. В результате те, кто работал
с вашим сайтом в момент смены IP адрсесов не смогут
подсоединиться, хотя новые посетители будут нормально работать,
так как только они получат правильные некэшированные данные.
Кроме того, базовые сервера обновляются всего лишь два раза в
сутки, поэтому сложно определить точное время, в которое они
обновят ссылки на ваши первичный и вторичный сервер DNS.
Самый простой способ перейти на новые IP адреса - скопировать ваш
сайт, по крайней мере его видимую часть, на новые IP адреса, а
затем подождать, пока траффик не сместится туда полностью. Хотя
этот способ не очень практичен.
Первое, что нужно сделать - договориться с вашим новым
провайдером (или с вашим нынешним, если вы просто меняете IP
адрес), чтобы он обновил ссылки на ваши первичный и вторичный
сервер DNS. Это должно быть сделано, хотя бы за день до
перемещения. Попросите его установить время жизни (TTL) на эту
запись очень маленькое (минут 5, обычно это значение установлено
86400 сек. (1 день)).
По прошествии дня, присвойте вашей машине новый IP адрес. Синхронизируйте это с записями DNS у вашего провайдера. И верните TTL на прежнее значение.
Новый первичный и DNS серверы должны быть направлены на
настоящий IP арес вашего сайта, с маленьким TTL.
Примечательно, что вы не можете ускорить этот процесс, сокращением
значения TTL для вашего текущего домена, если вы не сделали это
по крайней мере за N часов до перемещения.
Теперь, вы готовы к перемещению. Переместите машины на новые IP адреса
Совместите это с обновлением записей DNS у провайдера.
Через 5 минут (если установлен маленький TTL, до перемещения),
траффик должен быть переключен на новый сайт.
Теперь вы можете перестроить полномочия DNS на ваш вкус,
создав первичный сервер, если вы этого хотите, и восстанавив обратно
TTL на большое значение.
Конфигурация DNS, если Вы не используете транспорт электронной почты
Конфигурация, описанная в разделе Разд. Настройка разрешения имен,
имеет МХ записи, указывающие на машину ``mail.example.com''. МХ
запись, с наиболее низким приоритетом, указывает удаленным
серверам, куда посылать электронные письма. Другие записи МХ, с
более высоким приоритетом используются как резервные приемники
электронных писем. Они будут держать электронные письма в течении
некоторого времени, пока основной приемник писем не может их
обработать по какой-либо причине. Для примера считаем, что под
псевдонимом fred.example.com mail.example.com обрабатывает
электронные письма домена. Если Вы хотите разрешить доступ ISP ко
всем работающим у Вас адресам электронной почты, Вы должны
изменить записи МХ таким образом, чтобы указать на
соответствующие ISP-машины. Спросите в службе технической
поддержки Вашего ISP о том, какие имена хостов можно использовать
в МХ записях.
Настройка электронной почты
Если Вы решили поднимать электронную почту для Вашего домена, нужно
будет проделать несколько шагов для ее настройки. Если
настройка произведена невнимательно, то вероятно, письма будут
ходить очень медленно, т.к. будут находиться на одном хосте, в то
время, как получатель зарегистрирован на другом. Из соображений
безопасности, я рекомендую, чтобы почта, приходящая с машин,
которые доступны из внешней сети, фильтровались (это поможет при
борьбе с теми, кто хочет, чтобы у его настольной машины был
реальный IP, а потом удивляется, почему его машина зависает
дважды в день). Задача использования системы пересылки
электронной почты целиком решается при помощи sendmail. Если
кто-нибудь захочет рассказать о работающем решении на другом
транспорте электронной почты, я только приветствую добавления.
Решение, основанное на использовании "sendmail"
Чтобы электронный адрес, зарегистрированный на одном хосте был
виден на всех машинах, самое простое решение - экспортировать
почтовую директорию, с правами на запись и чтение, по всей частной
сети. Шлюз Вашей частной сети будет как собиратель и
отправитель электронных писем для всей частной сети, у которой
должны быть права на запись в директорию mail у root'а. Другие
клиенты могут иметь или могут не иметь таких прав, по Вашему
усморению. Моя личная философия безопасности - не должны
предоставляться привилегии, если нет явной причины для этого.
Из-за этого в моей сети root может читать почту только с
определенной машины, но это не такое уж большое препятствие.
Обратите внимание, что каталог почты может быть каталогом в сети,
экспортируемым через NFS, или это может быть каталог на одном из
внутренних серверов, экспортируемый в частную сеть. Если почтовый
каталог резидентен на шлюзе частной сети, то не будет никаких
проблем с правами для этой машины. Если же он находится на другом
сервере, то обратите внимание, что электронные письма будут
возвращаться, если с этим сервером, шлюзом или сетевым
соединением возникнут проблемы.
Для Windows-машин в Вашей частной сети можно также установить
РОР сервер на хосте, обслуживающем почту, или использовать samba
для экспорта почты на эти машины. Windows-машины могут быть
настроены для отправки и получения почты под именем пользователя
Linux, типа joeuser@example.com так, чтобы адрес содержал имя
хоста и доменное имя, но не имя машины такое, как
barney.example.com. SMTP сервер должен быть установлен на
gateway-машине частной сети, которая будет отвечать за отправку и
любую пересылку почты.
Затем Вы должны настроить sendmail, чтобы отправлять письма от
машин частной сети, переписывая адреса, если это необходимо.
Получите исходники последней версии sendmail на sendmail.org. Соберите
его, затем зайдите в подкаталог cf/domain, в каталоге с sendmail и создайте
новый файл: example.com.m4
divert(-1)
#
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# Используя этот файл Вы соглашаетесь на все условия, перечисленные
# в файле с лицензией, который поставляется с дистрибутивом
# sendmail.
#
#
#
# Ниже идет универсальный файл настройки домена. Он должен подходить
# к вашей системе. Если хотите перенастроить его, скопировать его в файл
# для Вашего домена или сделать изменения, то скопируйте соответствующие
# .mc файлы и измените `DOMAIN(generic)' чтобы сослаться на модифицированные
# файлы.
#
divert(0)
define(`confFORWARD_PATH', `$z/.forward.$w+$h:$z/.forward+$h:$z/.forward.$w:$z/.forward')dnl
FEATURE(redirect)dnl
MASQUERADE_AS(example.com)dnl
FEATURE(masquerade_envelope)dnl |
Этот файл определяет домен ``example.com''. Далее Вы должны создать файлы
sendmail.cf, которые будут использоваться на хосте почты (шлюзе частной сети) и на других Linux-узлах частной сети.
Создайте следующий файл в поддиректории программы sendmail
cf/cf:
example.master.m4
divert(-1)
#
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# Используя этот файл, Вы соглашаетесь на все условия, перечисленные
# в файле с лицензией, который поставляется с дистрибутивом
# sendmail.
#
#
#
# Это прототип файла конфигурации, которая поддерживает только основной
# протокол SMTP через TCP.
#
# Вы должны изменить макрокоманду `OSTYPE' в зависимости от ОС, на
# которой этот файл будет работать; в данном файле Вы установите местоположение
# различных файлов поддержки Вашей ОС. Вы можете создать файл домена в
# ../domain и ссылаться на него, добавляя макрокоманду `DOMAIN' после
# макрокоманды `OSTYPE'. Я рекомендую, скопировать данный файл
# под другим именем, чтобы при обновлении версии sendmail Вам не приходилось
# заново набирать его.
#
divert(0)dnl
OSTYPE(linux)dnl
DOMAIN(example.com)dnl
FEATURE(nouucp)
FEATURE(relay_entire_domain)
FEATURE(`virtusertable', `hash /etc/sendmail/virtusertable')dnl
FEATURE(`genericstable', `hash /etc/sendmail/genericstable')dnl
define(`confPRIVACY_FLAGS', ``noexpn,novrfy'')dnl
MAILER(local)
MAILER(smtp)
Cw fred.example.com
Cw example.com |
В данном примере мы заблокировали команды ``expn'' и ``vrfy''. Т.к. используя ``expn'', нападавший мог бы писать с псевдонимов, пробуя имена подобно ``staff'', ``allstaff'', ``office'', и т.п., пока ему не откроются несколько имен пользователей, для которых он затем мог бы попробовать подобрать пароли. Как сделать, чтобы вход в вашу сеть был возможен только с машин, в нее входящих, описано в разделе
Разд. Безопасность Вашего домена.
Другой файл, который Вы должны создать, определит sendmail.cf для зависимых машин:
example.slave.m4
divert(-1)
#
# Copyright (c) 1998 Sendmail, Inc. All rights reserved.
# Copyright (c) 1983 Eric P. Allman. All rights reserved.
# Copyright (c) 1988, 1993
# The Regents of the University of California. All rights reserved.
#
# Используя этот файл, Вы соглашаетесь на все условия, перечисленные
# в файле с лицензией, который поставляется с дистрибутивом
# sendmail.
#
#
#
# Это прототип для "пустого клиента" -- т.е. клиента, который не
# делает ничего, кроме отправки всех писем в почтовый сервер. В таком
# виде данный файл не пригоден для использования!!!
#
# Для его использования Вы должны использовать свойство nullclient с
# именем почтового сервера в качестве аргумента. Также определите
# `OSTYPE', чтобы определить очередь каталогов и т.п.
# Кроме того, выберете свойство nocanonify. Это поможет
# посылать адреса через SMTP соединение; обычно они посылаются с подменой имени,
# которая по умолчанию производится сервером почты.
#
# Данный файл не должен содержать никакие другие строки, кроме вышеперечисленных.
#
divert(0)dnl
OSTYPE(linux)
FEATURE(nullclient, fred.$m)
Cm example.com |
Сформируйте соответствующие файлы sendmail.cf командой:
make example.master.cf example.slave.cf |
и затем скопируйте на соответствующие машины под именем
sendmail.cf.
Эта конфигурация преполагает помещение большинства файлов конфигурации в подкаталог /etc/sendmail/. Она заставляет sendmail анализировать и использовать два специальных файла
virtusertable.db и
genericstable.db.
Чтобы получить эти файлы, создайте их родительские прототипы. Первый -
virtusertable.src:
John.Public@example.com jpublic
Jane.Doe@example.com jdoe@somemachine.somedomain
abuse@example.com root
Pointyhaired.Boss@example.com #phb#@hotmail.com |
Это карта электронных адресов на входящую почту. Почта, посланная
на John.Public@example.com будет пересылаться на jpublic на
локальной Linux системе. Почта, посланная на Jane.Doe@example.com,
будет перенаправляться на другой адрес, возможно другого домена.
Почта, посланная на abuse@example.com, будет перенаправляться
root'у. Другой файл -
genericstable.src:
jpublic John.Public@example.com
janedoe Jane.Doe@example.com
whgiii Pointyhaired.Boss@example.com |
Этот файл отвечает за адреса отправителей почты в локальной системе. Это не может не затрагивать обратный адрес для почты, посланной непосредственно с jdoe@somemachine.somedomain, это позволит Вам переписывать адрес электронной почты отправителя на абсолютно любой. Наконец, создайте следующий
Makefile в
/etc/sendmail/:
all : genericstable.db virtusertable.db
virtusertable.db : virtusertable.src
makemap hash virtusertable < virtusertable.src
genericstable.db : genericstable.src
makemap hash genericstable < genericstable.src |
Запустите
make, чтобы создать hashed-файлы,
которые сможет использовать
sendmail , и не
забудьте повторно запускать
make, и
перезапускать
sendmail после любых изменений
в этих ``.src'' файлах.
Решение, основанное на использовании других транспортов электронной почты
Я имею опыт работы только с sendmail. Если у Вас есть опыт работы
с другими транспортами почты, такими как
Postfix, Exim, или
smail, и Вы хотели бы дописать этот раздел,
пожалуйста, свяжитесь со мной.
Настройка сервера www
Вы должны установить сервер, видимый из внешней сети на
машине, вне частной сети, а не на машине - шлюзе
частной сети, по соображениям безопасности. Если серверу
необходимо обращаться к некоторым ресурсам, находящимся внутри
частной сети, ситуация становится более сложной.
Вы не найдете описания таких случаев в данном документе.
Подробности об установке самого сервера могут быть найдены в документации к apache и в документе Linux WWW HOWTO.
Настройка сервера FTP
Еще раз, FTP-хост должен быть виден из внешней сети, не
устанавливайте FTP-сервер на шлюз частной сети. Прочитайте
руководство по установке, которое идет с FTP-сервером.
Убедитесь, что используете самую последнюю версию сервера, т.к. в
ранних версиях многих FTP серверов есть уязвимые места, с точки
зрения безопасности. Если Вам не требуется анонимный вход на
FTP-сервер, убедитесь что отключили эту функцию в Вашей
конфигурации. Я рекомендую, обязывать ваших
пользователей использовать scp, это позволит им делать резервные
копии всех изменяемых файлов. Более подробную информацию можно
найти в разделе Разд. Безопасность Вашего домена.
Настройка фильтрования пакетов
Это обсуждается в разделе Разд. Конфигурирование Вашего брендмауэра.
Пред. | Начало | След. |
Выбор услуг, которые будут поддерживаться вашим доменом | | Безопасность Вашего домена |