voliuf.narod.ru

главная

друзья

помощь сайту

Администрирование почтовых серверов sendmail  

Бесплатные учебники по темам

Партнерская программа

1.Принципы организации систем электронной почты

2.Использование ОС Linux в качестве сервера электронной почты

3.Установка телекоммуникационного оборудования в ОС Linux

4.DNS и доменные имена

5.Протокол SMTP

6.Протокол POP3

7.Протокол IMAP

8.Протокол РРР

9.Протокол UUCP

10.Программа sendmail

11.Установка и конфигурирование sendmail

12.Установка и конфигурирование POP3 и IMAP

13.Подключение почтового сервера к провайдеру Internet

14.Администрирование почтового сервера

15.Конфигурирование клиентов ЛВС

16.Поддержка удаленных клиентов

17.Почтовые псевдонимы и преобразование адресов

18.Списки рассылки

19.Маршрутизация IP в ОС Linux

 

Администрирование почтовых серверов sendmail 
14.Администрирование почтового сервера
  

В лекции 13, "Подключение почтового сервера к провайдеру Internet", были рассмотрены методы подключения почтового сервера под управлением ОС Linux к провайдеру сети Internet. После подключения и настройки электронная почта сможет циркулировать между вашей сетью и Internet. И если вы решили, что на этом обязанности администратора почтовой системы заканчиваются, то вы ошиблись — все только начинается.

 

Администратор системы электронной почты должен постоянно следить за работой почтового сервера. Одной из важнейших повседневных задач является обслуживание учетных записей пользователей. Еще одна важная задача — отслеживание файлов отчетов о работе различных служб в системе. В зависимости от выбранного вами типа подключения к сети Internet, возможно, придется также отслеживать попытки несанкционированного доступа на ваш почтовый сервер со стороны хакеров и спамеров. Всегда будьте готовы столкнуться со спамерами, наводняющими почтовые ящики бесполезными сообщениями или использующими ваш почтовый сервер для их транзита. Как видите, работа для администратора почтовой системы всегда найдется. В этой лекции описываются некоторые методики и алгоритмы, которые помогут администратору почтовой системы поддерживать сервер в рабочем состоянии.

 

Обслуживание учетных записей пользователей

Все пользователи, принимающие почту через ваш почтовый сервер, должны иметь зарегистрированные в системе идентификатор пользователя и пароль. В обязанности администратора системы электронной почты входит удаление и добавление новых идентификаторов пользователя. В зависимости от правил, принятых в вашей организации, это может выполняться ежедневно или один раз в год. В любом случае время от времени возникает необходимость в добавлении или удалении учетных записей пользователей. Кроме того, довольно часто встречаются пользователи, которые забывают свои пароли доступа к серверу, поэтому вам придется выполнять определенные процедуры по управлению учетными записями.

 

Файл учетных записей в ОС Linux

По умолчанию в ОС Linux учетные записи пользователей хранятся в файле /etc/passwd. Этот файл уже упоминался в лекции 12, "Установка и конфигурирование POP3 и IMAP". В листинге 14.1 представлен пример стандартного файла /etc/passwd.

 
1 root:unaoBNGut6giH2:0:0:root:/root:/bin/bash
2 bin:*:1:1:bin:/bin:
3 daemon:*:2:2:daemon:/sbin:
4 adm:*:3:4:adm: /var/adm:
5 lp:*:4:7:lp:/var/spool/lpd:
6 sync:*:5:0:sync:/sbin:/bin/sync
7 shutdown:*:6:0: shutdown:/sbin:/sbin/shutdown
8 halt:*:7:0: halt :/sbin:/shin/halt
9 mail:*:8:12:mail:/var/spool/mail:
10 news:*:9:13:news:/usr/lib/news:
11 uucp:*:10:14:uucp:/var/spool/uucppublic:
12 operator:*:11:0:operator:/root:/bin/bash
13 games:*:12:100:games:/usr/games:
14 man:*:13:15:man:/usr/man:
15 postmaster:*:14:12:postmaster:/var/spool/mail:/bin/bash
16 nobody:*:65535:100:nobody:/dev/null:
17 ftp:*:404:1::/home/ftp:/bin/bash
18 rich:cLafgrY5tfHiw:501:101:Rich B.:/home/rich:/bin/bash
19 usenet:*:502:13:News master:/home/usenet:/bin/bash
20 bbs:*:503:200:BBS User:/home/bbs:/home/bbs:/bin/bash
21 barbara:*:504:100:Barbara B.:/home/barbara:/bin/bash
22 katie:*:505:100:Katie B.:/home/katie: /bin/bash
23 jessica:Ru7vx4rgypupg:506:100:Jessica B.:/home/jessica:/bin/bash
24 haley:WfNervHPbUxUk:507:100:Haley S.:/home/haley:/bin/bash
25 riley:VHA1qqu/pqjMU:508:100:Riley M.:/home/riley:/bin/bash
26 chris:5MLvL/waxN276:509:100:Chris W.:/home/chris:/bin/bash
27 matthew:nZF35ripKCbXQ:510:100:Matthew W.:/home/matthew:/bin/bash
28 alex:9QJ.MQWbSDBG.:511:100:Alex P.:/home/alex:/bin/bash

Листинг 14.1. Пример файла /etc/passwd

В листинге 14.1 представлен общий формат файла /etc/passwd. В каждой строке файла содержится информация об учетной записи пользователя. Вся информация с помощью двоеточий разбивается на отдельные поля. Первое поле в учетной записи содержит имя пользователя, под которым он регистрируется в системе. Во втором поле содержится пароль пользователя в зашифрованном виде. Вы, наверное, уже обратили внимание, что некоторые учетные записи в поле пароля имеют символ "звездочка" (*). Это означает, что для учетной записи зашифрованный пароль не используется и достаточно лишь символа (*). В третьем поле указывается номер идентификатора пользователя, по которому в ОС Linux осуществляется управление доступом к файлам. В четвертом поле содержится номер идентификатора группы, к которой относится данный пользователь. В следующем разделе мы более подробно рассмотрим функционирование групп пользователей в ОС Linux.

 

Остальные поля используются для определения различных параметров пользователя. В пятом поле содержится текстовое описание учетной записи; обычно здесь указывается полное имя пользователя, которому принадлежит учетная запись, это помогает администратору почтовой системы документировать подобную информацию. В шестом поле определяется местоположение рабочего каталога пользователя. Если пользователи вашей системы работают с почтовыми ящиками по протоколу IMAP (см. лекцию 7, "Протокол IMAP"), то каждый пользователь должен иметь отдельный рабочий каталог. Это необходимо для того, чтобы программное обеспечение для работы с IMAP в ОС Linux могло создавать в рабочем каталоге пользователя необходимые папки. Каждому пользователю должны быть также назначены соответствующие права доступа к своему рабочему каталогу — право на чтение из каталога и на запись в него.

 

В последнем поле определяется программа оболочки для работы в ОС Linux, которая будет запускаться при входе пользователя в систему. При обращении к почтовому серверу на базе ОС Linux желательно задавать пользователям программу оболочки bash (находится в /bin/bash), которая является стандартной для ОС Linux. Некоторые опытные администраторы почтовых систем предпочитают создавать сложные оболочки, которые не позволяют пользователям получать несанкционированный доступ в систему. Однако подобные методики не рассматриваются в этой книге.

 

Теневые пароли

Вероятно, вы заметили один из недостатков файла, в котором хранятся учетные записи пользователей в ОС Linux, — он доступен для просмотра любому пользователю системы. Благодаря этому программы регистрации пользователей в системе могут обращаться к файлу /etc/passwd и сравнивать введенные пароли с реальными паролями для входа в систему. Некоторые пользователи, охваченные жаждой экспериментов, могут скопировать себе файл паролей и попытаться с помощью одной из программ для взлома паролей, которых сегодня в Internet великое множество, получить пароли других пользователей системы. Это всегда создает потенциальную угрозу (в особенности для руководящих работников, которые, как правило, не утруждают себя запоминанием сложных паролей).

 

Для решения этой проблемы в большинстве дистрибутивов Linux предлагается алгоритм аутентификации с применением файла теневых паролей. Файл теневых паролей представляет собой отдельный файл, в котором содержатся пароли пользователей и другая информация, относящаяся к работе с ними. Таким образом, пароли не хранятся в файле /etc/passwd. Простым пользователям системы на базе ОС Linux файл теневых паролей не виден, они не могут получить его копию и попытаться взломать его. В листинге 14.2 представлен пример файла теневых паролей.

 
1 root:$1$wkRtbOwr46TSWmezOiXx.ZGAtG/zGKU1:10863:0:99999:7:-1:-1 :134537880
2 bin:*:10863:0:99999:7:::
3 daemon:*:10863:0:99999:7:::
4 adm:*:10863:0:99999:7:::
5 lp:*:10863:0:99999:7:::
6 sync:*:10863:0:99999:7:::
7 shutdown:*:10863:0:99999:7:::
8 halt:*:18863:0:99999:7:::
9 mail:*:10863:0:99999:7:::
10 news:*:10863:0:99999:7:::
11 uucp:*:10863:0:99999:7:::
12 operator:*:10863:0:99999:7:::
13 games:*:10863:0:99999:7:::
14 gopher:*:10863:0:99999:7:::
15 ftp:*:10863:0:99999:7:::
16 nobody:*:10863:0:99999:7:::
17 postgres:!!:10863:0:99999:7:::
18 lists:!!:10863:0:99999:7:::
19 xfs:!!:10863:0:99999:7:::
20 rich:LMQOvbvbnZpZrls:10863:0:99999:7:::
21 barbara:$1$ORlQdo1l$GK/H8tjwPGCBUUHMEjXWe1:10863:0:99999:7:::
22 katie:$1$XEd8PKaP$AuwsgfeN3UBcKjBOGeLId1:10882:0:99999:7:::
23 jessica:$1$ashasfha4hasfhasfhw$asfgas44gs: 10885:0:99999:7:: :

Листинг 14.2. Пример файла теневых паролей

В листинге 14.2 представлен общий формат файла теневых паролей. В большинстве дистрибутивов ОС Linux по умолчанию это файл /etc/shadow. Как и в обычном файле /etc/passwd, в каждой его строке содержится информация об одной учетной записи пользователя. Вся информация разделяется на поля с помощью двоеточий. В первом поле указывается имя пользователя учетной записи. Это поле должно в точности совпадать с таким же полем в файле /etc/passwd. Во втором поле содержится зашифрованный пароль. Возможно, вы уже заметили разницу между зашифрованными паролями из листингов 14.1 и 14.2. Дело в том, что ОС Linux, из которой взят файл, представленный в листинге 14.2, сконфигурирована для шифрования паролей с помощью алгоритма MD5. Алгоритм MD5 предлагает более сложное для взлома шифрование паролей, по сравнению со стандартным методом шифрования, принятым в UNIX, который по умолчанию используется и в ОС Linux.

 

Помимо функции укрывания паролей от чужих глаз, файл shadow можно использовать и для других целей. В зависимости от применения тех или иных утилит ОС Linux, назначение остальных полей в файле shadow может меняться. Так, третье поле показывает количество дней, прошедших с 1 января 1970 года, до дня последнего изменения пароля. В четвертом поле всем пользователям, представленным в примере, задано значение 0. Это говорит о том, что все они могут изменять свои пароли самостоятельно без вмешательства администратора. Если в этом поле указать значение 1, то пользователи не смогут самостоятельно изменять свои пароли. В пятом поле указывается количество дней, которые пройдут с 1 января 1970 года, до дня, когда истекает срок действия пароля. Всем учетным записям, приведенным в примере, заданы наибольшие возможные значения этого поля.

 

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

 

Однако при использовании файла shadow имеется и обратная сторона медали: любая программа, которая требует проверки идентификатора пользователя, должна получить возможность чтения пароля из этого файла. К таким программам относятся пакеты, реализующие функции серверов FTP, POP3 и IMAP. К счастью, в большинстве сетевого программного обеспечения уже реализованы эти возможности.

 

Пароли пользователей электронной почты

 

Администратор системы электронной почты может использовать файл теневых паролей для управления применением паролей среди пользователей почтовой системы. Необходимо помнить о том, что не все пользователи, работающие с электронной почтой, подключаются к почтовому серверу в интерактивном режиме, поэтому изменение паролей пользователей может оказаться более сложной задачей, чем вы думали.

 

Файл group

Еще один файл, важный с точки зрения администратора почтовой системы, — файл /etc/group. В нем указывается к каким группам принадлежат те или иные пользователи. Группирование пользователей позволяет задавать права доступа к определенным файлам не каждому пользователю отдельно, а группе пользователей, что намного удобней. Пример файла /etc/group представлен в листинге 14.3.

 
1 root::0:root
2 bin::1:root,bin,daemon
3 daemon::2:root,bin,daemon
4 sys::3:root,bin,adm
5 adm::4:root,adm,daemon
6 tty::5:
7 disk::6:root
8 lp::7:daemon,lp
9 mem::8:
10 kmem::9:
11 wheel::l0:root
12 mail::12:mail
13 news::13:news
14 uucp::14:uucp
15 man::5:
16 games::20:
17 gopher::30:
18 dip::49:
19 ftp::50:
20 nobody::99:
21 users::100:
22 postgres:x:101:
23 utmp:x:102:
24 lists:x:500:
25 floppy:x:19:
26 console:x:11 :
27 xfs:x:103:
28 pppusers:x:230:
29 popusers:x:231:
30 slipusers:x:232:
31 slocate:x:21:
32 rich::501:
33 dba:x:502:
34 oinstall:x:503:oracle
35 oracle:x:504:
36 pop:x:505:

Листинг 14.3. Пример файла /etc/group

В листинге 14.3 представлен общий формат файла group для ОС Linux. В каждой строке описывается отдельная группа пользователей. Вся информация о группе находится в полях, разделенных двоеточиями. В первом поле содержится имя группы пользователей. Во втором поле содержится пароль для этой группы пользователей. Если это поле пустое, то для доступа к файлам, принадлежащим группе, пароль не требуется. Как видно из листинга 14.3, в приведенном файле group используются теневые пароли (определенные буквой x). В третьем поле содержится идентификатор группы, который присваивается членам группы для организации доступа к файлам и каталогам. В четвертом поле указываются идентификаторы пользователей, принадлежащих к группе. Так, например, в строке 34 пользователь oracle принадлежит группе oinstall, но, кроме того, он имеет собственную группу с именем oracle. То есть один пользователь может быть членом нескольких групп.

 

Группы и пользователи электронной почты

 

При работе с почтовым сервером возможность объединения пользователей в группы практически не используется. Иногда безопаснее создавать каждому пользователю свою группу — это предотвратит случайное разрешение совместного доступа к файлам. Использование групп представляется целесообразным лишь для обеспечения совместного доступа к почтовым ящикам пользователям одного отдела или подразделения компании без предоставления им специальных прав доступа.

 

Утилиты для обслуживания учетных записей пользователей

Если в имеющейся у вас версии Linux не применяются теневые пароли, то добавление и удаление учетных записей можно осуществлять путем редактирования файла /etc/passwd. Однако мы настоятельно рекомендуем не делать этого. Ошибки, допущенные при редактировании этого файла, могут привести в негодность вашу систему. Лучше всего с этой целью использовать специальные утилиты для удаления и добавления учетных записей. Причем они, как правило, работают и в системах с теневыми паролями, и без таковых.

 

Наиболее часто вам придется сталкиваться с утилитой useradd. Эта утилита, как вы уже догадались, используется для добавления учетных записей в систему под управлением ОС Linux. Формат утилиты useradd следующий:

 
useradd [-c comment][-d home_dir]
[-e expire_date][-f inactive_time]
[-g initial_group][-G group[,...]]
[-m [-k skeleton_dir] | -M][-s shell]
[-u uid [-o]][-n][-r] login

В табл. 14.1 дается описание параметров, используемых с утилитой useradd.

 
Таблица 14.1. Параметры useradd
Параметр Описание
-c Добавление комментария в запись в файле passwd
-d Задание рабочего каталога
-e Дата истечения срока действия пароля
-f Количество дней с момента истечения срока действия пароля до прекращения доступа по данному паролю
-g Группа по умолчанию
-G Список других групп, которым может принадлежать данный идентификатор пользователя
-m Создание рабочего каталога пользователя, если он не был создан ранее
-k skeldir Использование альтернативного каталога skel
-M Рабочий каталог пользователя не создается, если он не был создан ранее
-n В Red Hat Linux группа с тем же именем, к которой принадлежит пользователь, не может быть создана
-r Создание системной учетной записи
-s Определение оболочки для входа в систему
-u Определение идентификатора пользователя
 

В листинге 14.4 представлен пример создания новой учетной записи в ОС Linux с применением утилиты useradd.

 
1 [root@shadrach /root]# useradd -c "Riley M." riley
2 [root@shadrach /root]# cat /etc/passwd | grep riley
3 riley:x:504:506:Riley M.:/home/riley:/bin/bash
4 [root@shadrach /root]# cat /etc/group | grep riley
5 riley:x:506:
6 [root@snadracn /root]# ls -al /home/riley
7 total 21
8 drwx------ 5 riley riley 1024 Nov 1 16:48 .
9 drwxr-xr-x 7 root root 1024 Nov 1 16:48 ..
10 -rw-r--r-- 1 riley riley 1899 Nov 1 16:48 .Xdefaults
11 -rw-r--r-- 1 riley riley 24 Nov 1 16:48 .bash_logout
12 -rw-r--r-- 1 riley riley 230 Nov 1 16:48 .bash_profile
13 -rw-r--r-- 1 riley riley 434 Nov 1 16:48 .bashrc
14 -rw-r--r-- 1 riley riley 2626 Nov 1 16:48 .emacs
15 drwxr-xr-x 3 riley riley 1024 Nov 1 16:48 .kde
16 -rw-r--r-- 1 riley riley 1416 Nov 1 16:48 .kderc
17 -rw-r--r-- 1 riley riley 185 Nov 1 16:48 .mailcap
18 -rw-r--r-- 1 riley riley 3846 Nov 1 16:48 .vimrc
19 -rw-r--r-- 1 riley riley 397 Nov 1 16:48 .zshrc
20 drwxr-xr-x 5 riley riley 1024 Nov 1 16:48 Desktop
21 drwxr-xr-x 2 riley riley 1024 Nov 1 16:48 tmp
22 [root@shadrach /root]#

Листинг 14.4. Создание новой учетной записи пользователя

В строке 1 листинга 14.4 задается команда на создание нового пользователя с именем riley и с текстом комментария, который будет добавлен в поле комментария создаваемой учетной записи. В этом примере идентификатор пользователя и оболочки для входа в систему заданы равными значениям по умолчанию. В строке 3 выведена соответствующая этой учетной записи строка из файла /etc/passwd. Для нового пользователя добавлена новая строка со следующим идентификационным номером (504) и со следующим номером идентификатора группы (506). По умолчанию утилитой useradd создается рабочий каталог пользователя с именем /home/riley. В качестве оболочки для входа этого пользователя в систему по умолчанию устанавливается /bin/bash. Задав в строке 6 команду для просмотра содержимого только что созданного рабочего каталога, вы увидите несколько файлов, которые были созданы вместе с ним. И откуда только взялось столько установок по умолчанию!?

 

С помощью параметра -D, заданного с командой useradd, можно просмотреть все значения по умолчанию, которые используются при создании новой учетной записи. В листинге 14.5 представлен пример работы такой команды.

 
1 [root@shadrach /root]# useradd -D
2 GROUP=100
3 HOME=/home
4 INACTIVE=-1
5 EXPIRE=
6 SHELL=/bin/bash
7 SKEL=/etc/skei
8 [root@shadrach /root]#

Листинг 14.5. Пример выполнения команды useradd -D

В строке 3 листинга 14.5 представлено местоположение рабочего каталога пользователя по умолчанию, к которому утилита useradd добавляет имя пользователя, создавая таким образом рабочий каталог для нового пользователя. При необходимости можно изменить местоположение рабочего каталога пользователя. Скорее всего, вас как администратора почтовой системы заинтересует строка 7, где объявлен каталог, который является шаблоном рабочего каталога пользователя. Другими словами, при создании рабочего каталога пользователя копируется содержимое именно этого каталога. В листинге 14.6 представлено содержимое каталога /etc/skel.

 
1 [root@shadrach /root]# ls -al /etc/skel
2 total 23
3 drwxr-xr-x 5 root root 1024 Sep 29 05:18 .
4 drwxr-xr-x 31 root root 3072 Nov 1 16:48 ..
5 -rw-r--r-- 1 root root 1899 Apr 27 1999 .Xdefaults
6 -rw-r--r-- 1 root root 24 Jul 13 1994 .bash_logout
7 -rw-r--r-- 1 root root 230 Aug 22 1998 .bash_profile
8 -rw-r--r-- 1 root root 434 May 17 21:15 .bashrc
9 -rw-r--r-- 1 root root 2626 Apr 27 1999 .emacs
10 drwxr-xr-x 3 root root 1024 Sep 29 05:18 .kde
11 -rw-r--r-- 1 root root 1416 May 17 14:44 .kderc
12 -rw-r-.r-- 1 root root 185 May 18 10:16 .mailcap
13 -rw-r—-r-- 1 root root 3846 May 11 12:49 .vimrc
14 -rw-r--r-- 1 root root 397 Apr 27 1999 .zshrc
15 drwxr-xr-x 5 root root 1024 Sep 29 05:18 Desktop
16 drwxr-xr-x 2 root root 1024 May 18 10:12 tmp
17 [root@shadrach /root]#

Листинг 14.6. Пример каталога /etc/skel

Как видите, содержимое каталога из листинга 14.6 очень напоминает содержимое каталога, представленного в листинге 14.4. Утилита useradd берет содержимое каталога /etc/skel и копирует его в создаваемый рабочий каталог пользователя. В каталоге /etc/skel содержится несколько файлов конфигурации, с помощью которых пользователи подключаются к системе и организуют сеансы из графической оболочки X Window, и отсутствуют файлы, определяющие конфигурацию клиента электронной почты.

 

Для упрощения работы с рабочими каталогами (особенно при использовании протокола IMAP, когда почтовые папки хранятся в рабочих каталогах пользователей) можно удалить файлы шаблонов из каталога /etc/skel. Тогда при добавлении нового пользователя в его рабочий каталог никакие файлы помещаться не будут.

 

Предупреждение

 

Хотя для пользователей электронной почты очистка каталога skel оправдана и желательна, для других пользователей сервера (особенно работающих в среде X Window) могут понадобиться файлы из этого каталога. Если на вашем почтовом сервере имеются и те, и другие пользователи, то желательно использовать утилиту useradd с параметром -k и отдельно создать для почтовых пользователей пустой каталог skel.

 

При создании учетных записей пользователей каждому из них выдается пароль для входа на почтовый сервер. Помните, что программа useradd создает только учетную запись пользователя. Для задания пароля нужно использовать другую программу. По умолчанию учетная запись пользователя закрыта для доступа, пока к ней не будет назначен пароль доступа. Для назначения паролей идентификаторам пользователей применяется программа passwd. Формат программы passwd следующий:

 
passwd username,

где username — имя пользователя, которому необходимо изменить пароль доступа. Для того чтобы изменять пароли другим пользователям, необходимо войти в систему с правами пользователя root. Программа требует ввода нового пароля для пользователя, а затем во избежание ошибок просит ввести его повторно.

 

Графические утилиты для обслуживания учетных записей

Для большинства дистрибутивов ОС Linux, в которых поддерживается работа с графическими оболочками, имеются графические утилиты для обслуживания учетных записей пользователей. Так, например, в Mandrake Linux имеется программа kuser. Для работы с ней необходимо либо зарегистрироваться в системе с правами root, либо воспользоваться командой для смены текущего идентификатора пользователя на идентификатор пользователя root. На рис. 14.1 представлено основное окно программы kuser.

 

 

Главное окно программы kuser

Рис. 14.1.  Главное окно программы kuser

 

 

В главном окне отображаются все пользователи системы на базе ОС Linux. С помощью программы kuser можно добавлять, удалять и модифицировать учетные записи пользователей системы. При нажатии на кнопку Добавить (Add) и указании нового имени пользователя вызывается окно Свойства пользователя (User properties). Оно показано на рис. 14.2. В окне Свойства пользователя задаются те же значения учетной записи, что и при работе с утилитой useradd и файлом /etc/passwd.

 

 

Окно Свойства пользователя программы kuser

Рис. 14.2.  Окно Свойства пользователя программы kuser

 

 

Выбрав вкладку Дополнительные (Extended), вы можете изменить различные значения для данной учетной записи в файле /etc/shadow. На рис. 14.3 представлен внешний вид окна Свойства пользователя с вкладкой Дополнительные.

 

 

Окно Свойства пользователя с вкладкой Дополнительные

Рис. 14.3.  Окно Свойства пользователя с вкладкой Дополнительные

 

 

На рис. 14.3 вы видите несколько полей в окне Свойства пользователя с вкладкой Дополнительные. Здесь все даты сроков действия паролей вводятся в обычном формате, и нет необходимости в сложных вычислениях с привлечением даты 1 января 1970 года. Если в вашей системе не используются теневые пароли, то эти поля будут недоступны.

 

На рис. 14.4 изображена вкладка Группы (Groups) окна Свойства пользователя. В ней выводятся все группы пользователей, имеющиеся на сервере. Здесь администратор почтовой системы может указать для нового пользователя принадлежность к той или иной группе.

 

 

Вкладка Группы окна Свойства пользователя

Рис. 14.4.  Вкладка Группы окна Свойства пользователя

 

 

И, наконец, на рис. 14.5 представлено окно Редактирование настроек по умолчанию (Edit defaults) программы kuser. В нем администратору предоставляется возможность задания начальных параметров для учетной записи, как и в случае параметра -D для команды useradd.

 

Здесь вы можете задать оболочку и рабочий каталог для нового пользователя, а также запретить копирование файлов из каталога /etc/skel в рабочий каталог новых пользователей, что весьма удобно для администратора почтовой системы.

 

 

Окно Редактирование настроек по умолчанию программы kuser

Рис. 14.5.  Окно Редактирование настроек по умолчанию программы kuser

 

 

Мониторинг почтового сервера

В обязанности администратора почтовой системы входит мониторинг работы сервера электронной почты. Иногда это оказывается довольно трудоемкой задачей. На почтовом сервере, как правило, одновременно происходит несколько событий, и отслеживать их задача довольно трудная. Во-первых, необходимо постоянно следить за соединением с сетью Internet, чтобы быть уверенным в нормальной циркуляции почты между локальным сервером электронной почты и сетью Internet. Кроме того, здесь же можно наблюдать попытки несанкционированного проникновения на ваш сервер хакеров или попытки его использования спамерами. Во-вторых, особое внимание следует уделить работе сервисов POP3 или IMAP, с помощью которых пользователи общаются с почтовым сервером. Что же касается почтовых ящиков пользователей, то обеспечение необходимого для работы дискового пространства тоже входит в перечень задач, решаемых администратором.

 

Таким образом, администратор почтовой системы должен отслеживать все эти процессы и быстро реагировать в случае возникновения каких-либо проблем. К счастью, в ОС Linux имеется несколько утилит, облегчающих жизнь почтового администратора. В этом разделе мы рассмотрим программы формирования системных отчетов в ОС Linux, с помощью которых администратор системы электронной почты может проводить мониторинг работы почтового сервера и выявлять проблемы по мере их появления.

 

Программа syslogd

В операционной системе Linux программа syslogd отслеживает все события, которые происходят в системе, и протоколирует их в файлах отчетов системы. Как администратор системы электронной почты вы обязаны уметь анализировать файлы отчетов и выявлять с их помощью проблемы в работе тех или иных служб. Просмотр и анализ файлов отчетов хотя бы раз в день должны войти у вас в привычку.

 

Обычно программа syslogd запускается процессом init во время загрузки системы и работает в фоновом режиме. В большинстве версий ОС Linux она запускается по умолчанию. Проверить, запущена ли она на вашем сервере, можно с помощью команды:

 
ps ax | more

По этой команде будут отображены все процессы, которые в данный момент запущены в системе. При запуске программа syslogd считывает свой файл конфигурации, где описываются типы сообщений, помещаемых в файлы отчета, и способы их формирования.

 

Системные события, которые подлежат протоколированию в файлах отчета, могут быть заданы администратором почтовой системы. Можно создавать столько файлов отчетов, сколько вам покажется необходимым. В каждом из этих файлов должна содержаться информация об определенных системных событиях или о работе только одной из служб системы. В табл. 14.2 приведены типы системных событий, которые встречаются в ОС Linux.

 
Таблица 14.2. Типы системных событий в syslogd
Событие Описание
auth События систем аутентификации и безопасности
authpriv Частные события систем аутентификации и безопасности
cron События демон-процесса cron
daemon События системных демон-процессов
kern События, связанные с ядром системы
lpr События, связанные с работой принтера
mail События в работе почтовых программ
mark Внутренние проверки целостности системных ресурсов
news События в работе программ для чтения новостей
syslog Внутренние события программы syslogd
user События на уровне пользователей
uucp События в работе программ UUCP
local n Локальные события (n принимает значения от 0 до 7 )
 

Каждое событие имеет приоритет, который назначается в соответствии с важностью для работы системы того или иного события. В табл. 14.3 представлены все виды приоритетов от самого низкого (debug) до самого высокого (emerg). Более низкий приоритет события означает менее важные для работы системы события, а высокий приоритет — события, критичные для работы системы.

 
Таблица 14.3. Типы приоритетов в syslogd
Приоритет Описание
debug События при отладке работы системы
info События информационного характера (уведомления)
notice Обычные сообщения
warning Предупреждения
err Сообщения об ошибках
crit Критические условия для работы системы
alert Сигналы тревоги
emerg Неустранимые ошибки в работе системы
 

В последующих разделах мы рассмотрим работу программы syslogd и способы ее конфигурирования для формирования различных файлов отчета.

 

Параметры syslogd

Формат команды на запуск следующий:

 
syslogd options,

где options — это список параметров, с помощью которых можно управлять поведением программы syslogd. Все возможные параметры syslogd представлены в табл. 14.4.

 
Таблица 14.4. Параметры syslogd
Параметр Описание
-a socket Определяет дополнительные порты, с которыми возможно соединение
-d Включает режим отладки
-f config Использовать файл конфигурации, указанный с помощью команды config
-h Пересылать сообщения с удаленных хостов на другие почтовые узлы
-l hostlist Список хостов, которые заносятся в файл отчетов только с именами хостов
-m interval Устанавливает метку времени MARK в файле отчетов (установка в 0 запрещает формирование меток времени)
-n Запрещает автоматический запуск в фоновом режиме
-p socket Определяет альтернативный порт, который может использоваться для подключения syslogd с удаленного узла
-r Разрешает выдачу подтверждения при организации syslogd -соединения с удаленным узлом
-s domainlist Определяет список доменных имен, которые должны быть удалены перед занесением в файл отчета
-v Выдает номер версии syslogd
 

Сервер под управлением ОС Linux имеет возможность работать в режиме удаленного сервера syslogd. По умолчанию эта функция отключена. Если запустить syslogd с параметром -r, то это позволит серверу на базе ОС Linux получать отчеты о работе удаленных систем и помещать их в свои файлы отчетов. Эта возможность может пригодиться, если имеется несколько серверов на базе ОС Linux и вы желаете получать отчеты об их работе в определенный каталог на одном из этих серверов.

 

Предупреждение

 

Будьте осторожны при применении параметра -r, если имеется прямое соединение с сетью Internet. Широко распространенная хакерская атака предполагает посылку большого числа фальшивых отчетов о работе системы на порт syslog удаленной системы, что приводит к переполнению дискового пространства и отказам в ее работе.

 

По умолчанию во время запуска программа syslogd считывает файл конфигурации, где определяются действия, которые она должна предпринять в определенной ситуации. В следующем разделе описаны форматы файла конфигурации syslogd.

 

Файл конфигурации syslogd

Файл конфигурации syslogd по умолчанию находится в /etc/syslogd.conf. В нем содержатся директивы, с помощью которых программе syslogd указывается, какие типы событий и каким образом документировать в файлах отчетов. Формат файла /etc/syslogd.conf следующий:

 
event.priority
action

Каждая строка в файле /etc/syslogd.conf представляет различные действия. В зависимости от типа и приоритета системного события могут выполняться такие действия:

 
  • сообщение о событии выводится на системную консоль;
  • сообщение о событии помещается в соответствующий файл отчета;
  • сообщение о событии отправляется на удаленный хост, где ведется обобщение отчетов.
 

Файл конфигурации представляет собой комбинации системных событий и действий, которые должны выполняться программой syslogd. В листинге 14.7 приведен пример файла /etc/syslogd.conf.

 
1 # Log all kernel messages to the console.
2 # Logging much else clutters up the screen.
3 kern.* /dev/console
4
5 # Log anything (except mail) of level info or higher.
6 # Don't log private authentication messages!
7 *.info;mail.none;authpriv.none /var/log/messages
8
9 # The authpriv file has restricted access.
10 authpriv.* /var/log/secure
11
12 # Log all the mail messages in one place.
13 mail.* /var/log/maillog
14
15 # Everybody gets emergency messages, plus log them on another
16 # machine.
17 *.emerg *
18 *.emerg @meshach.smallorg.org
19
20 # Save mail and news errors of level err and higher in a
21 # special file.
22 uucp,news.crit /var/loq/spooler

Листинг 14.7. Пример файла /etc/syslogd.conf

В листинге 14.7 представлен файл /etc/syslogd.conf для системы Mandrake Linux 6.0. В строках 1 и 2 вы видите, как задаются комментарии в файле конфигурации. Подобные строки не обрабатываются программой syslogd. В строке 3 заданы символы "звездочка", которые обозначают что все сообщения, касающиеся работы ядра, независимо от их приоритета, будут посылаться на системную консоль.

 

Строка 7 представляет собой пример задания сложной конфигурации. В одной строке может задаваться несколько событий. Пары событий и их приоритетов разделяются двоеточием. Так, например, первая пара — *.info. Здесь определяются все приоритеты событий, начиная с приоритета info и выше. Помните, что более высокие приоритеты указываются в конце строки конфигурации.

 

Вторая пара — mail.none, — вероятно, выглядит немного странно. Наверное, у вас возник вопрос, почему мы не упомянули о приоритете none. Однако с помощью этого слова в данном случае исключаются все события, касающиеся работы почты, независимо от их приоритета. То есть определенные ранее параметры не касаются событий почтовой системы на сервере. Следующая пара — authpriv.none — выполняет те же действия. Таким образом, запись в строке 7 определяет, что все события в системе, за исключением mail и authpriv, будут записываться в файл отчетов /var/log/messages с приоритетом info и выше.

 

В строках 10 и 13 определяются действия по ведению файлов отчетов событий типа mail и authpriv. В строке 10 указывается, что все события типа authpriv с любым приоритетом будут фиксироваться в файле /var/log/secure. В строке 13 определяется, что все события при работе с почтой с любым приоритетом будут помещаться в отдельный файл /var/log/maillog. Представленная схема ведения файлов отчетов весьма удобна при анализе системных событий. Вероятно, как администратор почтовой системы вы пожелаете собирать все сведения о работе почты в определенный каталог на сервере. Это можно осуществить с помощью приведенных ниже примеров конфигурации.

 

В строке 18 дается пример использования удаленного сервера syslog для хранения файлов отчетов. Все сообщения с наивысшим приоритетом будут посылаться на узел meshach.smallorg.org. Если локальный сервер выдал сообщение с наивысшим приоритетом, что означает появление неустранимой ошибки, то вы даже не сможете прочесть файл отчета на нем. Выход очевиден: посылать сообщения о критичных сбоях в работе системы на другой узел (при условии, что возникшая га сервере ошибка позволяет это сделать).

 

Защита от хакеров и спамеров

Одной из сложнейших задач, возлагаемых на администратора системы электронной почты, является защита целостности почтового сервера и предотвращение попыток несанкционированного доступа к нему. Очевидно, что пользователи почтового сервера должны быть ограждены от малейших внешних воздействий, которые могут привести к потере или порче информации из их почтовых ящиков. Довольно часто администратор почтовой системы обнаруживает, что источник нелегальной активности на сервере находится в файлах отчетов. В листинге 14.8 представлен фрагмент файла /var/log/maillog с почтового сервера на базе Mandrake Linux.

 
1 Nov 2 19:09:12 shadrach sendmail[5365]: NOQUEUE: "wiz"
  command from [192.168.1.15] (192.168.1.15)
2 Nov 2 19:09:14 shadrach sendmail[5365]: NOQUEUE: "debug"
  command from [192.168.1.15] (192.168.1.15)

Листинг 14.8. Фрагмент файла отчета о сеансе SMTP

В листинге 14.8 показаны две попытки несанкционированного доступа к программе sendmail через сеть. В обоих случаях хакер использовал старые "хакерские" команды "wiz" и "debug", которые уже давно запрещены для выполнения программой sendmail. Проанализировав файл отчета, вы можете определить адрес, с которого были направлены эти команды. Далее общепринятая практика предполагает информирование вашего провайдера Internet об этих попытках несанкционированного доступа к вашему почтовому серверу. С определенной долей вероятности ваш провайдер сможет отследить источник, откуда предпринимаются попытки взлома вашего сервера.

 

Помимо этих сообщений, в файле отчетов о работе sendmail вы можете найти и другие сообщения. В листинге 14.9 приведен пример попытки проникновения на сервер POP3.

 
1 Nov 2 16:24:49 shadrach ipop3d[5373]: port 110 service init from 192.168.1.15
2 Nov 2 16:24:49 shadrach ipop3d[5373]: Login failure user=rich host=[192.168.1.15]
3 Nov 2 16:24:52 shadrach ipop3d[53731: AUTHENTICATE LOGIN failure host=[192.168.1.15]
4 Nov 2 16:24:52 shadrach ipop3d[5373]:Command stream end of file
  while reading line user"??? host=[192.168.1.15]
5 Nov 2 16:24:55 shadrach ipop3d[5374]: port 110 service init from 192.168.1.15
6 Nov 2 16:24:55 shadrach ipop3d[5374]: Login failure user=rich host=[192.168.1.15]
7 Nov 2 16:24:58 shadrach ipop3d[5374]: AUTHENTICATE LOGIN failure host=[192.168.1.15]

Листинг 14.9. Пример файла отчета о сеансе POP3

В листинге 14.9 представлен файл отчета о событиях в системе электронной почты. Здесь вы видите, как пользователь, который не знает своего пароля, пытается войти в систему. Обратите внимание, что в строках 2 и 6 программа для работы с POP3 сгенерировала предупреждающие сообщения о том, что в доступе на сервер пользователю отказано, и зафиксировала IP-адрес компьютера, с которого осуществлялись попытки подключения к серверу. Если бы это был реальный хакер, то ваш провайдер Internet смог бы отследить его IP-адрес и определить, откуда были предприняты попытки несанкционированного доступа к вашему серверу.

 

Резюме

Итак, мы выяснили, что администрирование почтовой системы заключается не только в установке и настройке почтовых программ. Учетные записи пользователей также должны создаваться и обслуживаться администратором почтовой системы. В ОС Linux существует несколько способов обслуживания учетных записей пользователей. Так, изменять существующие и добавлять новые учетные записи из командной строки вы можете с помощью утилиты useradd. В графической среде X Window также имеется утилита для управления учетными записями — kuser. Обе утилиты создают новые учетные записи в файле /etc/passwd и, в зависимости от используемой вами системы, в файле /etc/shadow создаются еще и пароли. Кроме того, администратор почтовой системы также должен вести наблюдение за файлами отчетов в системе и в случае нестандартного поведения со стороны сервера либо его пользователей предпринимать адекватные действия. Любые проблемы в работе программного или аппаратного комплекса сервера должны быть своевременно локализованы. Необходимо также отслеживать все попытки несанкционированного доступа к серверу. Многочисленные безуспешные попытки получения доступа к серверу или соединения с ним явный признак того, что либо пользователи вскоре позвонят вам с вопросом, либо вы являетесь свидетелем попытки взлома вашего почтового сервера.

 
©Автор: Р. Блам  источник: http://www.INTUIT.ru 


 

13 центов(0,13$) за клик, выплаты через WebMoney каждый вторник +10% с рефералов

Мы выкупаем 100% трафа! $12 за 1000 хостов (РФ), и до $4 за 1000 хостов (зарубежный траф) + 10% с дохода Ваших рефералов!
 Выплаты через
WebMoney

~80-100$ за1000 хостов 2.5$ за 1 смс.
реф. процент - 10 %Выплаты происходят раз в неделю, в четверг на
WebMoney
 
 

 

____________________________

Посмотреть порно видео в онлайне »

_______________________________

 

   
   
Сайт управляется системой uCoz