Показать полную графическую версию : Идея "фикс". Возможно ли реализовать?
Появилась идея запускать сайт с почтой через сервер. Для чего это нужно? Для ограничения доступа. Чтоб я мог поменять пароль в одном месте и не сообщать его никому. Все же остальные спокойно заходили на сайт не подозревая о смене пароля. При этом из дома не получалось у них зайти на сайт, т.к. сервер находится внутри организации и пароль им неизвестен. Только возможно ли сделать так? Я пока не представляю. Может кто подкинет идею реализации?
Сама сеть организована следующим образом:
модем+роутер. К нему напрямую подключен сервер (OpenSuse 13.2) и через свитчи остальные компьютеры (Windows 7). Сеть одноранговая без домена.
ruslandh
06-02-2015, 17:49
Ну и зайдите по ssh. В чём проблема?
Немного не понятно: как и куда зайти?
ruslandh
06-02-2015, 18:43
На сервер, вы-же на него хотите войти?
Нет. Почтовый сайт находится в интернете. Если б на сервере - было бы проще. Делаю внутренний сайт и на нём реализую всё, что хочу.
Я просто задумал аутентификацию на сайте через сервер. Хотя, возможно, я фантаст.
Spaser, вы как-то непонятно изложили. И какой пароль имеется ввиду?
Вижу такую ситуацию: на работе могут зайти из внутренней сети, а из внешней сети (из интернета) не должны зайти? Это так?
Нет. Не так.
В общем, имеется e-mail вида mycompany@mail.ru. Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло.
ruslandh
07-02-2015, 08:22
В общем, имеется e-mail вида mycompany@mail.ru » А зачем заходить им? Это-же почта, отослать письмо можно с любого имени, используя любой почтовый сервер, а получить с любого компа, кототорому доступен почтовый сервер. Если почтовый сервер стоит на работе, то можно запретить принимать почту извне, а если он находится вне предприятия, то это невозможно.
Если б на сервере - было бы проще. Делаю внутренний сайт и на нём реализую всё, что хочу.
Я просто задумал аутентификацию на сайте через сервер »
установи почтовый сервер+web морду к нему и сделай проброс портов на роутере.
Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло. »Настраивайте firewall на вашем сервере. Или разбирайтесь с настройками веб-сервера.
Детальнее говорить нечего, так как телепатировать тяжело.
Вижу такую ситуацию: на работе могут зайти из внутренней сети, а из внешней сети (из интернета) не должны зайти? Это так?
Нет. Не так.
Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло.
Опишите мне разницу в вышеприведённых предложениях.
El Scorpio
09-02-2015, 02:47
Вот пример рабочей схемы.
1. Устанавливаете на сервер Postfix (сервер SMTP), Dovecot (сервер IMAP/POP3), Fetchmail (автоматический сборщик почты)
2. Регистрируете на сервере несколько пользователей без права сеанса пользователя (оболочка /bin/false или /sbin/nologon)
По умолчанию почтовые службы Linux используют локальную базу пользователей. Для организации почтовых ящиков будут созданы подкаталоги в папках профилей данных пользователей.
3. Настраиваете Fetchmail на периодическую проверку почтовых ящиков в сети Интернет и указываете, каким локальным пользователям передавать загружаемые письма.
4. Настраиваете Postfix на отправку исходящих писем через почтовые ящики в сети Интернет. При этом нужно создать несколько баз данных (текстовый файл, обработанный программой postmap)
5. Настраиваете почтовые программы клиентов локальной сети на использование локального почтового сервера.
Получается:
1. Пароли для подключения к ящикам в сети Интернет прописаны только в параметрах программ Postfix и Fetchmail на сервере. Пользователи организации знают только пароли от локальных почтовых ящиков, доступных только из локальной сети организации.
2. Все исходящие письма загружаются на локальный сервер, а потом по очереди отправляются через соответствующие почтовые серверы сети Интернет. Получатели видят только "внешний" адрес вида firma@yandex.ru
3. Вся входящая почта автоматически загружается по мере поступления и хранится на локальном почтовом сервере.
Если нужно сделать именно так, детальные конфиги скину позже.
А зачем заходить им? Это-же почта, отослать письмо можно с любого имени, используя любой почтовый сервер, а получить с любого компа, кототорому доступен почтовый сервер. Если почтовый сервер стоит на работе, то можно запретить принимать почту извне, а если он находится вне предприятия, то это невозможно. »
Ключевое слово здесь: "получить с любого компа, кототорому доступен почтовый сервер". В том-то и дело, что сервер mail.ru доступен абсолютно всем.
установи почтовый сервер+web морду к нему и сделай проброс портов на роутере. »
Вот это уже ближе к теме.
Опишите мне разницу в вышеприведённых предложениях. »
Возможно я не совсем понятно выражаюсь. Тут есть пара человек, которые меня поняли. Спасибо им. Их цитаты в моём сообщении.
Вот пример рабочей схемы.
1. Устанавливаете на сервер Postfix (сервер SMTP), Dovecot (сервер IMAP/POP3), Fetchmail (автоматический сборщик почты)
2. Регистрируете на сервере несколько пользователей без права сеанса пользователя (оболочка /bin/false или /sbin/nologon)
По умолчанию почтовые службы Linux используют локальную базу пользователей. Для организации почтовых ящиков будут созданы подкаталоги в папках профилей данных пользователей.
3. Настраиваете Fetchmail на периодическую проверку почтовых ящиков в сети Интернет и указываете, каким локальным пользователям передавать загружаемые письма.
4. Настраиваете Postfix на отправку исходящих писем через почтовые ящики в сети Интернет. При этом нужно создать несколько баз данных (текстовый файл, обработанный программой postmap)
5. Настраиваете почтовые программы клиентов локальной сети на использование локального почтового сервера.
Получается:
1. Пароли для подключения к ящикам в сети Интернет прописаны только в параметрах программ Postfix и Fetchmail на сервере. Пользователи организации знают только пароли от локальных почтовых ящиков, доступных только из локальной сети организации.
2. Все исходящие письма загружаются на локальный сервер, а потом по очереди отправляются через соответствующие почтовые серверы сети Интернет. Получатели видят только "внешний" адрес вида firma@yandex.ru
3. Вся входящая почта автоматически загружается по мере поступления и хранится на локальном почтовом сервере.
Если нужно сделать именно так, детальные конфиги скину позже. »
Вроде бы то, что нужно. А какую почтовую программу посоветуете для винды? Или в данном случае любая подойдёт?
El Scorpio
10-02-2015, 01:23
Или в данном случае любая подойдёт? »
Любой почтовый клиент. Лично я предпочитаю Громоптицу (Thunderbird)
Fetchmail и dovecot практически не требуют настройки. Их проще всего настраивать через webmin
Что касается Postfix, то я использую следующий конфиг main.cf
# Строка приветствия SMTP-сервера (обычно не отображается)
biff = no
readme_directory = no
# Файл таблицы псевдонимов
alias_maps = hash:/etc/postfix/db/aliases
# Какой домен использовать в исходящей почте (при отправке напрямую без сервера пересылки)
myorigin = $mydomain
# выбрано стандартное значение "Использовать имя домена"
# Для каких доменов принимать почту
mydestination = $myhostname, localhost.$mydomain, $mydomain
# Выбрано стандартное значение "Весь домен"
# Предел максимального размера одного письма, 0 - без предела
message_size_limit = 0
# Предел максимального размера виртуального почтового ящика
virtual_mailbox_limit = 0
# Предел максимального размера одного почтового ящика
mailbox_size_limit = 0
# Каталог для хранения почты пользователя
#### MAILDIR=$HOME/Maildir #### Устарел
home_mailbox = Maildir/
# Указано значение относительно каталога профиля
# Символ, разделяющий адреса для нескольких получателей
recipient_delimiter = +
### Параметры соединения Postfix к другим SMTP-серверам для дальнейшей отправки/пересылки пользователя
# Подключаться с асиметричным шифрованием SSL/TSL
smtp_use_tls = yes
# список доверенных сертификатов других серверов
### smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_CApath = /etc/ssl/certs
# требование доверия сертификатов других серверов (may - возможно, verify - обязательно)
smtp_tls_security_level=may
### smtp_tls_security_level=verify
# использование проверки паролей на сервере пересылки
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
### Определяет применение паролей по имени почты, а не по серверу. НЕ УДАЛЯТЬ!!!
smtp_sender_dependent_authentication = yes
### Определяет параметры замены адреса отправителя в письме по исходному адресу. НЕ УДАЛЯТЬ!!!
smtp_generic_maps = hash:/etc/postfix/db/canonical_sender
### Определяет сервер пересылки по новому адресу отправителя. НЕ УДАЛЯТЬ!!!
sender_dependent_default_transport_maps = hash:/etc/postfix/db/smtp_transport
### Определяет авторизацию на сервере пересылки по новому адресу отправителя. НЕ УДАЛЯТЬ!!!
smtp_sasl_password_maps = hash:/etc/postfix/db/smtp_passwords
# Таблица замены адреса отправителя (требуется для пересылки исходящей почты, должна дублировать параметр smtp_generic_maps)
sender_canonical_maps = hash:/etc/postfix/db/canonical_sender
# Таблица замены адреса получателя (требуется для сохранения входящей почты)
recipient_canonical_maps = hash:/etc/postfix/db/canonical_recipient
# Таблица дублирования почты по адресу получателя (для сохранения копий отправленных писем)
recipient_bcc_maps = hash:/etc/postfix/db/bcc_recipient
# Таблица дублирования почты по адресу отправителя (для сохранения копий входящих писем)
sender_bcc_maps = hash:/etc/postfix/db/bcc_sender
### Параметры определения ошибок доставки/пересылки
# Период отправки сообщений с предупреждением о задержке отправки (в часах)
delay_warning_time = 10m
smtpd_error_sleep_time = 5s
# Глобальный сервер пересылки при ошибках в работе основного маршрута отправки
smtp_destination_concurrency_limit = 1
### smtp_skip_4xx_greeting = yes #### Устарел
# Продолжительность сессии соединения с другими серверами
smtp_connect_timeout = 60s
### Параметры подключения почтовых программ к данному серверу Posftix
smtpd_sasl_authenticated_header = no
smtpd_sasl_exceptions_networks =
smtpd_sasl_local_domain =
smtpd_sasl_path = smtpd
smtpd_sasl_tls_security_options = $smtpd_sasl_security_options
smtpd_sasl_type = cyrus
# Файл открытого ключа сертификата SSL
smtpd_tls_cert_file = /etc/ssl/certs/dovecot.pem
# Файл закрытого ключа сертификата SSL
smtpd_tls_key_file = /etc/ssl/private/dovecot.key
# Использовать асиметричное шифрование SSL/TSL
smtpd_use_tls = yes
smtpd_enforce_tls = no
smtpd_delay_reject = no
# Список разрешённых соединений (только из моей локальной сети)
smtpd_client_restrictions = permit_mynetworks reject permit_inet_interfaces reject_unknown_reverse_client_hostname
# Список разрешения на отправку почты
smtpd_recipient_restrictions = permit_mynetworks permit_sasl_authenticated reject_unauth_destination permit_inet_interfaces reject_unknown_reverse_client_hostname
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
# Источник случайных чисел для алгоритмов шифрования
tls_random_source = dev:/dev/urandom
bounce_queue_lifetime = 15m
maximal_queue_lifetime = 1h
default_destination_concurrency_limit = 1
smtp_skip_quit_response = no
fallback_relay =
debug_peer_level = 1
Большинство параметров также настраивается через webmin.
Параметры со значением hash обозначают хэшированные таблицы. Это текстовые файлы вида "Исходное_значение табулятор Конечное_значение", обработанные программой postmap. На выходе получаются файлы с расширением .db
Большинство таблиц также заполняется через Webmin.
P.S.
установи почтовый сервер+web морду к нему и сделай проброс портов на роутере. »
Плохая идея.
Это всё равно будет публичный почтовый сервер, для нормальной работы которого потребуется получить доменное имя, зарегистрировать в глобальной DNS, прописать зоны MX и выполнить много других действий.
Это имеет смысл для большой компании, использующей свой корпоративный портал, но для обычной фирмы - совершенно излишнее.
Спасибо. Буду разбираться. С этими программами пока дела не имел. Если что - буду вас ещё мучать.
Вопрос у меня такого характера: почта по умолчанию сохраняется в каталоге /var/spool/mail/username. Как мне перенести сохранение в другое место, на другой диск? Просто в корне уже мало места и нереально будет там поместить всю уже имеющуюся почту.
ruslandh
27-02-2015, 14:08
Скопировать на новый диск/раздел, а на старом месте сделать символьную ссылку на новое место.
El Scorpio
01-03-2015, 13:30
почта по умолчанию сохраняется в каталоге /var/spool/mail/username. »
Вообще-то /var/spool используется для хранения неких промежуточных данных. В частности указанный каталог используется для хранения исходящих писем, подготовленных к отправке.
Проверьте логи почты (особенно mail.err и mail.warn), скорее всего в процессе отправки или локальной доставки происходят какие-то ошибки.
Каталог для хранения почты пользователя задаётся следующими параметрами
#### MAILDIR=$HOME/Maildir #### Устарел
home_mailbox = Maildir/
# Указано значение относительно каталога профиля »
А каталоги пользователей задаются в файле /etc/passwrd
И вообще, многие параметры легко задаются через Webmin.
Я знаю, что "тру-админы" не любят этот вёб-интерфейс и признают одну лишь консоль :)
Однако это - весьма удобный инструмент для настройки большинства параметров большинства служб Linux.
ruslandh
01-03-2015, 13:35
Однако это - весьма удобный инструмент для настройки большинства параметров большинства служб Linux. »
Если-бы он ещё не был дырой в безопасности системы.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.