Содержание


EnGarde Secure Linux

Часть 2. Конфигурирование основных служб сервера

Comments

Серия контента:

Этот контент является частью # из серии # статей: EnGarde Secure Linux

Следите за выходом новых статей этой серии.

Этот контент является частью серии:EnGarde Secure Linux

Следите за выходом новых статей этой серии.

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

Являясь серверной системой, EnGarde Secure Linux предоставляет удаленный защищенный доступ для решения административных задач и конфигурирования всех системных служб посредством Web-интерфейса, реализованного как Guardian Digital WebTool. Использование Web-интерфейса исключает необходимость пользоваться командной строкой для решения каких-либо задач в системе. Базовым элементом в настройке всех элементов сервера является понимание механизма политик безопасности и последовательности активизации его служб.

Контроль доступа к серверу и его службам. Работа с FTP

Первое, что необходимо сделать для базовой настройки, это сконфигурировать доступ к службам сервера по ip-адресу через web tool. По умолчанию такие службы, как SSH, SPOP/SIMAP и FTP не имеют разрешения на доступ. Администратор должен задать для каждого сервиса диапазон ip-адресов или даже целые подсети, которым будет такой доступ разрешен. Доступ к службам регулируется через меню «System» при выборе «Aсcess control». На каждой соответствующей вкладке необходимо добавить либо адрес узла, либо адрес сети в виде, например, 192.168.0.10 (192.168.0. – для сети). Для удаления адреса необходимо просто на одном из них щелкнуть мышкой.

Например, для запуска сервиса FTP нужно на вкладке Services щелкнуть на Current State службы FTP для получения ее статуса Running. Затем перейти на вкладку System – Access Control. Там под службой VSFTPD в слоте ADD добавить адрес (поддиапазон), с которого вы разрешаете взаимодействие с этой службой. Затем надо перейти на вкладку Services – File Transfer Protocol – Modules – General Configuration. В открывшемся окне нужно заполнить все поля, отвечающие за работу службы и доступ к ней. А именно – разрешен ли доступ локальным пользователям к серверу или нет? Разрешен ли доступ анонимным пользователям? Можно ли им класть файлы на сервер через FTP (Uploads), задать FTP-баннер и назначить FTP-серверу интерфейс для прослушивания? (рисунок 1). После этого доступ будет разрешен, сервис открыт для нужного узла (подсети) и к нему можно будет подключаться. Необходимо помнить, что в случае разрешения работы с сервером локальным пользователям они должны быть заданы и сгенерированы на соответствующей вкладке. Делается это в System – Users and Groups – Module – Create Local User. Здесь же можно через соответствующую оснастку просмотреть уже имеющихся пользователей в системе и изменить их параметры (рисунок 2).

Рисунок 1.
Рисунок 1.
Рисунок 1.
Рисунок 2.
Рисунок 2.
Рисунок 2.

Ниже приведена часть лог-файла системы, в которой отражены процессы старта суперсервера engarde xinetd и осуществляемого им контроля процесса работы ftp, spop3 и simap, причем доступным на этот момент времени является только один сервис – ftp, и с ним работают с адреса 10.0.16.114. Кроме того, ниже показана часть логов, касающаяся сессии добавления нового пользователя в систему и изменения параметров уже имеющегося.

Dec 21 18:53:18 engarde xinetd[2811]: START: ftp pid=2814 from=10.0.16.114
Dec 21 18:52:58 engarde xinetd: xinetd startup succeeded
Dec 21 18:52:58 engarde xinetd[2811]: Started working: 1 available service
Dec 21 18:52:58 engarde xinetd[2811]: xinetd Version 2.3.14 started with
	 libwrap loadavg options compiled in.
Dec 21 18:52:58 engarde xinetd[2811]: removing spop3
Dec 21 18:52:58 engarde xinetd[2811]: removing simap
Dec 21 18:52:58 engarde xinetd[2811]: Reading included configuration file: 
	 /etc/xinetd.d/spop3 [file=/etc/xinetd.d/spop3] [line=26]
Dec 21 18:52:58 engarde xinetd[2811]: Reading included configuration file:
	 /etc/xinetd.d/simap [file=/etc/xinetd.d/simap] [line=30]
Dec 21 18:52:58 engarde xinetd[2811]: Reading included configuration file:
 	 /etc/xinetd.d/ftp [file=/etc/xinetd.conf] [line=33]
Dec 21 18:52:57 engarde xinetd: xinetd shutdown succeeded
Dec 21 18:52:57 engarde xinetd[1915]: Exiting...
Dec 21 18:51:45 engarde xinetd[1915]: EXIT: ftp status=1 pid=2757 duration=0(sec)
Dec 21 18:51:45 engarde xinetd[1915]: START: ftp pid=2757 from=10.0.16.114
Dec 21 18:51:40 engarde xinetd[1915]: EXIT: ftp status=1 pid=2756 duration=0(sec)
Dec 21 18:51:40 engarde xinetd[1915]: START: ftp pid=2756 from=10.0.16.114
Dec 21 18:51:10 engarde xinetd[1915]: EXIT: ftp status=1 pid=2755 duration=0(sec)
Dec 21 18:51:10 engarde xinetd[1915]: START: ftp pid=2755 from=10.0.16.114
Dec 21 18:50:31 engarde passwd(pam_unix)[2744]: password changed for admin
Dec 21 18:50:31 engarde usermod[2743]: change user `admin' shell from 
	`/bin/bash' to `/bin/bash'
Dec 21 18:50:31 engarde usermod[2743]: change user `admin' GID from `100' to `110'
Dec 21 18:50:10 engarde passwd(pam_unix)[2736]: password changed for alexander
Dec 21 18:50:10 engarde kernel: audit(1261410610.036:7): avc: denied 
	{ search } for pid=2735 comm="useradd" name="contexts" dev=sda2 
	ino=62506 scontext=system_u:system_r:useradd_t
	tcontext=system_u:object_r:default_context_t tclass=dir
Dec 21 18:50:10 engarde kernel: audit(1261410610.036:6): avc: denied 
	{ search } for pid=2735 comm="useradd" name="contexts" dev=sda2 
	ino=62506 scontext=system_u:system_r:useradd_t 
	tcontext=system_u:object_r:default_context_t tclass=dir
Dec 21 18:50:09 engarde useradd[2735]: new user: name=alexander, uid=501, 
	gid=110, home=/home/alexander, shell=/bin/bash
Dec 21 18:50:06 engarde crond(pam_unix)[2712]: session closed for user root
Dec 21 18:50:01 engarde crond[2714]: (root) CMD (/usr/bin/mrtg 
	/etc/mrtg/mrtg.cfg > /dev/null 2>&1)
Dec 21 18:50:01 engarde crond(pam_unix)[2712]: session opened for user root by (uid=0)
Dec 21 18:46:16 engarde xinetd[1915]: EXIT: ftp status=1 pid=2697 duration=0(sec)
Dec 21 18:46:16 engarde xinetd[1915]: START: ftp pid=2697 from=10.0.16.114
Dec 21 18:46:11 engarde xinetd[1915]: EXIT: ftp status=1 pid=2696 duration=0(sec)
Dec 21 18:46:11 engarde xinetd[1915]: START: ftp pid=2696 from=10.0.16.114
Dec 21 18:46:06 engarde xinetd[1915]: EXIT: ftp status=1 pid=2695 duration=0(sec)
Dec 21 18:46:06 engarde xinetd[1915]: START: ftp pid=2695 from=10.0.16.114
Dec 21 18:45:53 engarde xinetd[1915]: EXIT: ftp status=1 pid=2694 duration=0(sec)
Dec 21 18:45:53 engarde xinetd[1915]: START: ftp pid=2694 from=10.0.16.114
Dec 21 18:45:17 engarde syslog-ng[1337]: STATS: dropped 0
Dec 21 18:45:13 engarde passwd(pam_unix)[2691]: password changed for admin
Dec 21 18:45:13 engarde kernel: audit(1261410313.413:5): avc: denied 
	{ search } for pid=2690 comm="useradd" name="contexts" dev=sda2 
	ino=62506 scontext=system_u:system_r:useradd_t 
	tcontext=system_u:object_r:default_context_t tclass=dir
Dec 21 18:45:13 engarde kernel: audit(1261410313.409:4): avc: denied 
	{ search } for pid=2690 comm="useradd" name="contexts" dev=sda2 
	ino=62506 scontext=system_u:system_r:useradd_t 
	tcontext=system_u:object_r:default_context_t tclass=dir

Настройка SMTP-сервера Postfix и SPOP3

В качестве SMTP-сервера в Engarde Secure Linux работает Postfix. Многие аспекты его работы описывались в предыдущей статье, но здесь они имеют свои особенности в силу специфичности самого дистрибутива.

Основная оснастка для настройки Postfix расположена в Services – E-Mail Services – SMTP Server – Management – Module – General Configuration. При переходе на эту вкладку откроется панель, как на рисунке 3.

Рисунок 3.
Рисунок 3.
Рисунок 3.

На этой же вкладке, но в подразделе POP/IMAP Server Management нужно сконфигурировать службы POP/IMAP, при этом не забыть задать сетевой интерфейс для прослушивания демонами – по умолчанию он не задан. При конфигурировании почтового клиента, в частности в Outlook Express, необходимо проставить в параметрах POP3 порт 995 для работы через SSL.

Ниже приведена часть лог-файла, отражающая работу с почтовым сервером и службой SPOP3:

Dec 21 19:47:28 engarde kernel: audit(1261414048.443:55): avc: denied 
	{ read } for pid=4668 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:28 engarde xinetd[4460]: START: spop3 pid=4668 from=10.0.16.114
Dec 21 19:47:27 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4667 duration=0(sec)
Dec 21 19:47:27 engarde spop3[4667]: Logout user=alexander host=[10.0.16.114]
	 nmsgs=0 ndele=0
Dec 21 19:47:27 engarde spop3[4667]: Login user=alexander host=[10.0.16.114] nmsgs=0/0
Dec 21 19:47:27 engarde spop3[4667]: port 995 service init from 10.0.16.114
Dec 21 19:47:27 engarde kernel: audit(1261414047.015:54): avc: denied 
	{ read } for pid=4667 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:27 engarde xinetd[4460]: START: spop3 pid=4667 from=10.0.16.114
Dec 21 19:47:17 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4666 duration=1(sec)
Dec 21 19:47:17 engarde spop3[4666]: Logout user=alexander host=[10.0.16.114]
	 nmsgs=0 ndele=0
Dec 21 19:47:17 engarde spop3[4666]: Login user=alexander host=[10.0.16.114] nmsgs=0/0
Dec 21 19:47:16 engarde spop3[4666]: port 995 service init from 10.0.16.114
Dec 21 19:47:16 engarde kernel: audit(1261414036.838:53): avc: denied 
	{ read } for pid=4666 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:16 engarde xinetd[4460]: START: spop3 pid=4666 from=10.0.16.114
Dec 21 19:47:15 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4665 duration=0(sec)
Dec 21 19:47:15 engarde spop3[4665]: Logout user=alexander host=[10.0.16.114]
	 nmsgs=0 ndele=0
Dec 21 19:47:15 engarde spop3[4665]: Login user=alexander host=[10.0.16.114] nmsgs=0/0
Dec 21 19:47:15 engarde spop3[4665]: port 995 service init from 10.0.16.114
Dec 21 19:47:15 engarde kernel: audit(1261414035.634:52): avc: denied 
	{ read } for pid=4665 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:15 engarde xinetd[4460]: START: spop3 pid=4665 from=10.0.16.114
Dec 21 19:47:14 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4664 duration=0(sec)
Dec 21 19:47:14 engarde spop3[4664]: Logout user=alexander host=[10.0.16.114] 
	nmsgs=0 ndele=0
Dec 21 19:47:14 engarde spop3[4664]: Login user=alexander host=[10.0.16.114] nmsgs=0/0
Dec 21 19:47:14 engarde spop3[4664]: port 995 service init from 10.0.16.114
Dec 21 19:47:14 engarde kernel: audit(1261414034.430:51): avc: denied 
	{ read } for pid=4664 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:14 engarde xinetd[4460]: START: spop3 pid=4664 from=10.0.16.114
Dec 21 19:47:13 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4663 duration=0(sec)
Dec 21 19:47:13 engarde spop3[4663]: Logout user=alexander host=[10.0.16.114]
	 nmsgs=0 ndele=0
Dec 21 19:47:13 engarde spop3[4663]: Login user=alexander host=[10.0.16.114] nmsgs=0/0
Dec 21 19:47:13 engarde kernel: audit(1261414033.222:50): avc: denied 
	{ read } for pid=4663 comm="spop3" name="resolv.conf" dev=sda2 
	ino=62358 scontext=system_u:system_r:spop3_t 
	tcontext=system_u:object_r:net_conf_t tclass=file
Dec 21 19:47:13 engarde spop3[4663]: port 995 service init from 10.0.16.114
Dec 21 19:47:13 engarde xinetd[4460]: START: spop3 pid=4663 from=10.0.16.114
Dec 21 19:47:12 engarde xinetd[4460]: EXIT: spop3 status=0 pid=4662 duration=1(sec)
Dec 21 19:47:12 engarde spop3[4662]: Logout user=alexander host=[10.0.16.114]
	 nmsgs=0 ndele

В свойствах посланного и принятого почтового сообщения (для примера – самому себе под учетной записью sasha) видны переходы между почтовыми системами:

Return-Path: <sasha@engarde.mydomen.job>
X-Original-To: sasha@engarde.mydomen.job
Delivered-To: sasha@engarde.mydomen.job
Received: from linux (unknown [10.0.16.114])
	by engarde.mydomen.job (Postfix) with ESMTP id DE32825E9C
	for <sasha@engarde.mydomen.job>; Mon, 21 Dec 2009 20:01:49 +0300 (MSK)
Message-ID: <002a01ca821c$1c19aba0$7210000a@linux>
From: "sasha" <sasha@engarde.mydomen.job>
To: <sasha@engarde.mydomen.job>
Subject: qqq
Date: Mon, 21 Dec 2009 12:00:57 +0300
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0027_01CA8235.4140BE00"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
Disposition-Notification-To: "sasha" <sasha@engarde.mydomen.job>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

Настройки FIREWALL

Настройки Firewall (SHOREWALL) этой системы производятся на вкладке System – Firewall Configuration – Module. Здесь, в первой вкладке блока Module, находится Blacklist, где можно задать адрес или целую подсеть, а так же порты для дальнейшей привязки к имеющемуся интерфейсу. Эти адреса или подсети будут блокироваться по тем параметрам, которые будут указаны.

На следующей вкладке General Configuration нужно сформировать основные политики, которые затем будут являться как бы правилами по умолчанию (рисунок 4). Например, задав «разрешить все», и перейдя на вкладку Firewall Rules, можно будет запрещать каждым отдельным правилом то, что является вредным для системы.

Рисунок 4.
Рисунок 4.
Рисунок 4.

В подразделе “Hosts and Networks” можно задать ярлыки (альясы), описывающие подсети или хосты для указания их в правилах для Firewall. Это может существенно сократить процесс написания правил.

Подраздел Port Forwarding предназначен для проброса портов, если таковое нужно. Как правило, это используется на роутерах для проброса портов на серверы, находящиеся в локальной сети и не контактирующие с Интернет напрямую.

Выводы

В статье представлено описание порядка конфигурирования одного из самых защищенных на сегодняшний день Linux-дистрибутивов – EnGarde Secure Linux. Описана философия построения системы, стержнем которой является высокий уровень защищенности всех служб и сервисов.

Дано описание конфигурирования и запуска служб FTP, SMTPD и SPOP3 на реальном работоспособном примере. Пошагово и синхронно, с описанием, приведены лог-файлы сервера. Настройка почтовой службы сопровождалась полным циклом – от отправки сообщения до его приема.

Сервер имеет в своем арсенале развитый файервол shorewall, настройка которого описана в соответствующих разделах статьи.

Необходимо отметить, что на этом возможности EnGarde Secure Linux далеко не заканчиваются. В своем арсенале он имеет еще очень большие возможности, описание которых можно почерпнуть из документации, расположенной на сайте проекта. Это и использование сервера в качестве LAMPP, применение антивирусной программы CLAMAV и программы борьбы со спамом SPAMASSASSIN, возможность установки на сервер CMS JOOMLA! и многое другое. Полное описание всех возможностей EnGarde Secure Linux далеко выходит за рамки данной статьи.


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=492953
ArticleTitle=EnGarde Secure Linux: Часть 2. Конфигурирование основных служб сервера
publish-date=05272010