Лабораторні роботи по по

Віртуальні користувачі і домени, поштовий сервер на основі Postfix, Courier, MySQL і SquirrelMail (Ubuntu 8,04 LTS).

У цьому посібнику описана установка поштового сервера Postfix, в який використовує віртуальних користувачів і віртуальні домени (тобто всі облікові записи та найменування доменів зберігаються в базі даних MySQL). Також показана установка і настройка Courier (Courier-POP3, Courier-IMAP), з можливістю аутентифікації Postfix з використанням бази даних MySQL.

В результаті Postfix буде підтримувати SMTP-AUTH, TLS і quota (за замовчуванням підтримка квот не вбудована в Postfix і я покажу як необхідно застосувати patch до Postfix). Паролі будуть зберігається в базі даних в зашифрованому вигляді (в більшості посібників я виявив, що паролі зберігаються в НЕ зашифрованому вигляді в текстових файлах, які створюють загрозу безпеці). Крім цього в даному керівництві розглянута установка і настройка Amavisd, SpamAssassin і ClamAV це дає можливість сканувати повідомлення на наявність вірусів і спаму. Я також покажу як встановити веб інтерфейс до пошти SquirrelMail для того щоб користувачі могли отримувати, відправляти пошту змінювати свої паролі.

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

Цей документ поставляється без гарантій будь-якого роду! Я хочу сказати, що це не єдиний спосіб створення такої системи. Є багато способів досягнення цієї мети, але це такий, який я прийняв. Я не видають ніяких гарантій, що це буде працювати у Вас!

Це можна зробити за допомогою команд:

А потім перевіримо работоспособоность нового ім'я командою:

Якщо у відповідь ми бачимо:

то ми все зробили правильно.

Переконайтеся, що ви зайшли як привілейований користувач,

тому що в цьому посібнику необхідно виконувати всі кроки від його імені.

Дуже важливим є, щоб ви зробили символічне посилання / bin / sh на / bin / bash.

і ще відключіть AppArmor:

Для установки Postfix, Courier, Saslauthd, MySQL і phpMyAdmin, нам просто необхідно виконати:

aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl postfix-tls libsasl2-2 libsasl2-modules libsasl2- modules-sql sasl2-bin libpam-mysql openssl phpmyadmin apache2 libapache2-mod-php5 php5 php5-mysql libpam-smbpass telnet


Вам буде задано кілька запитань на які необхідно відповісти:

New password for the MySQL "root" user: <-- Ваш_пароль_на_суперпользователя_MySQL Repeat password for the MySQL "root" user: <-- Повторите_Ваш_пароль_на_суперпользователя_MySQL Create directories for web-based administration? <-- No General type of mail configuration: <-- Internet Site System mail name: <-- srvX.lab6.nntc SSL certificate required <-- Ok Web server to reconfigure automatically: <-- apache2

Спочатку створимо базу даних з назвою mail:

Потім ми перейдемо в оболонку MySQL:

В оболонці MySQL шкаралупи, ми створимо користувача mail_admin з паролем mail_admin_password (замініть на свої) які матиме наступні привілеї SELECT, INSERT, UPDATE, DELETE на базу даних mail. Цей користувач буде використовуватися Postfix і Courier для підключення до поштової базі:

Зараз використовуючи оболонку MySQL, ми створимо таблиці необхідні Postfix і Courier:

Як ви вже напевно помітили ми покинули оболонку MySQL і вставив командну оболонку Linux.

Таблиця domains буде зберігати найменування віртуальних доменів для яких Postfix буде отримувати листи.


Таблиця forwardings буде містити псевдоніми поштових скриньок, наприклад поштові повідомлення спрямовані на [email protected] будт перенаправлені на [email protected].

Таблиця transport необов'язкового характеру, вона для просунутих користувачів. Дозволяє перенаправляти пошту окремих користувачів, доменів або всю пошту на інший поштовий сервер.


Переконайтеся що /etc/mysql/my.cnf містить наступні рядки:

Якщо ви змінили /etc/mysql/my.cnf, будь ласка перезапустіть MySQL:

щоб переконається, що MySQL прослуховує 127.0.0.1 (srvX.lab6.nntc):

Зараз давайте створимо шість необхідних нам файлів:

Потім змінимо права доступу і група для цих файлів:

Створюємо нового користувача і групу з назвою vmail з домашньою директорією / home / vmail. де будуть знаходиться поштові скриньки:

Зараз ми налаштуємо Postfix. Не забувайте замінювати srvX.lab6.nntc на своє ім'я хоста (наприклад srv1.lab6.nntc), інакше ваш поштовий сервер Postfix не зможе коректно працювати!

Створимо сертифікат SSL необхідний для TLS:

Змінюємо права доступу на smtpd.key:

Спочатку виконаємо наступну команду:

Потім змінимо / etc / default / saslauthd. Встановивши параметр START в yes і замінимо рядок OPTIONS = "- c -m / var / run / saslauthd" на OPTIONS = "- c -m / var / spool / postfix / var / run / saslauthd -r":

Створюємо файл /etc/pam.d/smtp. І додаємо в нього два рядки (обов'язково використовуйте коректні значення пов'язані з вашої базі даних):

Створюємо файл /etc/postfix/sasl/smtpd.conf. Він повинен бути подібного виду:

Додаємо користувача postfix в групу sasl (це дасть Postfix права доступу до saslauthd):

Перезапускаємо Postfix і Saslauthd:

Зазначимо Courier, щоб він проводив аутентифікацію використовуючи нашу базу даних MySQL. Редагуємо / etc / courier / authdaemonrc і змінюємо значення authmodulelist:

Зробимо резервну копію файлу / etc / courier / authmysqlrc і очистимо його вміст:

Відкриємо / etc / courier / authmysqlrc і вставимо в нього наступні рядки:

щоб переконається, що наш сервер POP3 коректно працює. Ми повинні побачити + OK Hello. (Введіть quit для повернення в оболонку Linux).

Після зміни / etc / aliases, ви повинні запустити команду

і перезапустити Postfix:

Для установки amavisd-new, spamassassin і clamav, виконаємо наступну команду:

Налаштуємо amavisd-new. Файли знаходяться в директорії /etc/amavis/conf.d. Ознайомитеся з ними. Більшість з налаштувань в цих файлах відмінно виставлені, але все ж ми змінимо три файли:

Файл повинен бути схожий на цей:

Останнім відредагуємо /etc/amavis/conf.d/50-user додавши посередині параметр $ pax = 'pax'; :

Після цього додамо користувача clamav в групу amavis і презапустім amavisd-new і ClamAV:

Налаштуємо Postfix так щоб він отримував всю вхідну пошту через amavisd-new:

Додамо наступні рядки в /etc/postfix/master.cf:

переконаємося, що Postfix (master) прослуховує 25 (smtp) і 10025 порт, а amavisd-new розташований на 10024:

Razor, Pyzor і DCC це спам фільтри, які використовуються спільно для фільтрації в мережі. Встановимо Razor і Pyzor

DCC не міститься в репозиторії Ubuntu 8.04, тому ми його встановимо так:

Скажімо SpamAssassin використовувати ці три програми. Відредагуємо /etc/spamassassin/local.cf додавши кілька рядків в нього:

Можна перевірити настройки SpamAssassin виконавши:

Висновок не повинен містити ніяких помилок.

Оновимо набір правил для SpamAssassin наступним чином:

Додамо в cron завдання, щоб набір правил оновлювався регулярно. запустимо

Це дозволить оновлювати набір правил кожен 2 день о 4 годині 23 хвилини.

Для того щоб отримувати повідомлення про перевищення квоти поштових скриньок користувачів зробимо так:

Відкриємо для редагування файл / usr / local / sbin / quota_notify відредагуємо змінні зверху. В кінці файлу знаходяться два рядки де ви повинні додати% для підпису:

щоб задати завдання cron на виконання скрипта

Щоб подивитися чи слухає Postfix порти SMTP-AUTH і TLS, виконаємо

Після встановлення підключення з вашим поштовим сервером Postfix введемо наступне:

Якщо ми побачимо наступні рядки

тоді все нормально:

для того щоб повернуться в оболонку Linux.

Для заповнення бази даних будемо використовувати оболонку MySQL:

Принаймні нам необхідно додати записи в таблиці domains і users:

Якщо необхідно вставити дані в інші дві таблиці, зробимо так:

Вийдемо з оболонки MySQL набравши

При спробі отримання пошти з нового поштового ящика (через POP3 / IMAP) ви отримаєте повідомлення про те, що поштовий каталог не існує. Поштовий каталог створюється автоматично, коли приходить перший лист, тому найкраще відправляти лист вітання після створення нової поштової скриньки.

Встановимо пакет mailx:

Для відправлення листа вітання на [email protected], ми зробимо так:

Вам буде запропоновано ввести тему, введіть її (наприклад, ласкаво просимо!), Натисніть ENTER і в наступних рядках напишіть ваше повідомлення. Коли закінчимо набирати повідомлення необхідно набрати CTRL + D і ще раз ENTER:

SquirrelMail це веб інтерфейс, який дозволяє користувачеві отримувати і відправляти пошту використовуючи браузер. У цій частині покажемо як встановити та дозволимо в наших налаштуваннях користувачам змінювати свій пароль використовуючи інтерфейс SquirrelMail.

Щоб встановити SquirrelMail виконаємо:

Скопіюємо конфігураційний файл Apache, який входить в пакет SquirrelMail, в каталог /etc/apache2/conf.d перезапустити Apache:

Squirrelmail відразу встановлюється з безліччю плагінів, але серед нех немає необхідного для нас плагіна дозволяє змінювати пароль. Встановимо його в ручну (попередньо встановивши встановивши все необхідне для його роботи:

У підсумку ми повинні отримати файл такого змісту:

Схожі статті