4 Краткий отчет о практике (приложение 1). Строки с таким выделением
Скачать 0.62 Mb.
|
ЗаключениеВсе установленные пакеты находятся в работоспособном состоянии, причем уровень безопасности вполне достаточен. Дальнейшую настройку параметров всех пакетов и (при необходимости) ужесточение мер безопасности проводите, руководствуясь доступными в Интернет рекомендациями и описаниями соответствующих пакетов. Имеющиеся проблемыПри полной установке почтового сервера по этому документу есть следующие нерешенные проблемы: 1. Установленный автоответчик не дает возможности работать обходу проверки на спам для исходящих писем, т.к. не срабатывает $policy_bank{'MYUSERS'} в amavis. Соответственно, munin не считает отосланные наружу письма. Решения пока нет. ПриложенияПриложение 1 — управление пользователями через вебВНИМАНИЕ! Это только примеры, используйте их на свой страх и риск. Ни в коем случае не открывайте общий доступ к этим скриптам! Создадим новую директорию: sudo mkdir /var/www/control Отредактируем файл sudo nano /etc/apache2/sites-available/default и вставим туда строки Alias /control /var/www/control AllowOverride All Отредактируем файл sudo nano /etc/apache2/sites-available/default-ssl и вставим туда строки Alias /control /var/www/control Options Indexes MultiViews FollowSymLinks AllowOverride All Создадим файл sudo nano /var/www/control/.htaccess и добавим в него строки AuthType Basic AuthName "Restricted access" AuthUserFile /var/www/control/.htpasswd require valid-user SSLOptions +StrictRequire SSLRequireSSL SSLRequire %{HTTP_HOST} eq "oban.aaa.ru" ErrorDocument 403 https://oban.aaa.ru Options +FollowSymLinks (замените oban.aaa.ru на имя своего сервера) Мы, во-первых, разрешаем доступ к этой директории только для пользователей, чьи имена и пароли записаны в файле /var/www/control/.htpasswd (мы сейчас его создадим) и, во-вторых, требуем, чтобы доступ к этим скриптам шел только с использованием ssl. Дадим команду htpasswd -c /var/www/control/.htpasswd admin New password: Введем пароль пользователя admin, которому мы даем доступ к скриптам Re-type new password: Повторим тот же пароль. После этого у нас в директории /var/www/control/ появится файл .htpasswd, содержащий в зашифрованном виде наш пароль. Создадим файл sudo nano /var/www/control/index.html следующего содержания <html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">head><body> <BODY BGCOLOR="#ffffff" text="#000000" link="#000000" vlink="#000000" alink="#000000"> <CENTER> <p><b>Управление пользователями почтыb>p> center> <table> <tr><td valign=top><p><b>Новый пользовательb>p> <form method=post action=control.php> e-mail пользователя: <input type="text" name="email" value="" size="50"><br> Пароль пользователя: <input type="password" name="password" value="" size="50"><br> Повторите пароль: <input type="password" name="password1" value="" size="50"><br> Квота пользователя: <input type="text" name="quota" value="0" size="50"><br> <input type="hidden" name="op" value="nu"> <input type="submit" value="New user" > form>td> <td valign=top><p><b>Удаление пользователяb>p> <form method=post action=control.php> e-mail пользователя: <input type="text" name="email" value="" size="50"><br> <input type="hidden" name="op" value="du"> <input type="submit" value="Delete user" > form>td>tr> <tr><td valign=top><p><b>Задание пароля пользователяb>p> <form method=post action=control.php> e-mail пользователя:<input type="text" name="email" value="" size="50"><br> Пароль пользователя: <input type="password" name="password" value="" size="50"><br> Повторите пароль: <input type="password" name="password1" value="" size="50"><br> <input type="hidden" name="op" value="pw"> <input type="submit" value="Set password" > form>td>tr> <tr><td valign=top><p><b>Задание алиаса пользователяb>p> <form method=post action=control.php> e-mail пользователя: <input type="text" name="destination" value="" size="50"><br> Алиас пользователя: <input type="text" name="source" value="" size="50"><br> <input type="hidden" name="op" value="na"> <input type="submit" value="Set alias" > form>td> <td valign=top><p><b>Удаление алиаса пользователяb>p> <form method=post action=control.php> Алиас пользователя: <input type="text" name="source" value="" size="50"><br> <input type="hidden" name="op" value="da"> <input type="submit" value="Delete alias" > form>td>tr> <tr><td valign=top><p><b>Задание транспортаb>p> <form method=post action=control.php> Источник: <input type="text" name="source" value="" size="50"><br> Транспорт: <input type="text" name="destination" value="" size="50"><br> <input type="hidden" name="op" value="nt"> <input type="submit" value="Set transport" > form>td> <td valign=top><p><b>Удаление транспортаb>p> <form method=post action=control.php> Источник: <input type="text" name="source" value="" size="50"><br> <input type="hidden" name="op" value="dt"> <input type="submit" value="Delete transport" > form>td> <tr><td valign=top><p><b>Задание виртуального доменаb>p> <form method=post action=control.php> Виртуальный домен: <input type="text" name="source" value="" size="50"><br> <input type="hidden" name="op" value="nd"> <input type="submit" value="Set domain" > form>td> <td valign=top><p><b>Удаление виртуального доменаb>p> <form method=post action=control.php> Виртуальный домен: <input type="text" name="source" value="" size="50"><br> <input type="hidden" name="op" value="dd"> <input type="submit" value="Delete domain" > form>td>tr> table> <BODY> HTML> body>html> Создадим файл sudo nano /var/www/control/control.php следующего содержания $headers = getallheaders(); $mysql_host="127.0.0.1"; $mysql_user = "mail_admin"; $mysql_password =" $mydb_name = "mail"; $password=$_POST["password"]; $password1=$_POST["password1"]; $email=strtolower($_POST["email"]); $quota=$_POST["quota"]; $source=strtolower($_POST["source"]); $destination=strtolower($_POST["destination"]); $op=$_POST["op"]; $link = mysql_connect($mysql_host, $mysql_user, $mysql_password) or die("Could not connect : " . mysql_error()); mysql_select_db($mydb_name) or die("Could not select database"); switch ($op) { case "nu": if(!isemail($email)) { print <<< INVALIDEMAIL Введенный email некорректен. Пользователь с указанным email уже существует. Введенные пароли не совпадают. Пользователь добавлен. Пользователя с указанным email не существует. Пользователь удален. Пользователь с указанным email не существует. Введенные пароли не совпадают. Новый пароль установлен. Введенный алиас некорректен. Введенный адрес пересылки некорректен. Указанный алиас уже существует. Алиас добавлен. Указанного алиаса не существует. Алиас удален. Указанный транспорт уже существует. Транспорт добавлен. Указанного транспорта не существует. Транспорт удален. Указанный домен уже существует. Домен добавлен. Указанного домена не существует. Домен удален. |