Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Идея "фикс". Возможно ли реализовать? (http://forum.oszone.net/showthread.php?t=295085)

Spaser 06-02-2015 16:52 2467455

Идея "фикс". Возможно ли реализовать?
 
Появилась идея запускать сайт с почтой через сервер. Для чего это нужно? Для ограничения доступа. Чтоб я мог поменять пароль в одном месте и не сообщать его никому. Все же остальные спокойно заходили на сайт не подозревая о смене пароля. При этом из дома не получалось у них зайти на сайт, т.к. сервер находится внутри организации и пароль им неизвестен. Только возможно ли сделать так? Я пока не представляю. Может кто подкинет идею реализации?
Сама сеть организована следующим образом:
модем+роутер. К нему напрямую подключен сервер (OpenSuse 13.2) и через свитчи остальные компьютеры (Windows 7). Сеть одноранговая без домена.

ruslandh 06-02-2015 17:49 2467496

Ну и зайдите по ssh. В чём проблема?

Spaser 06-02-2015 17:50 2467497

Немного не понятно: как и куда зайти?

ruslandh 06-02-2015 18:43 2467525

На сервер, вы-же на него хотите войти?

Spaser 06-02-2015 22:22 2467631

Нет. Почтовый сайт находится в интернете. Если б на сервере - было бы проще. Делаю внутренний сайт и на нём реализую всё, что хочу.
Я просто задумал аутентификацию на сайте через сервер. Хотя, возможно, я фантаст.

Kent 07-02-2015 01:53 2467711

Spaser, вы как-то непонятно изложили. И какой пароль имеется ввиду?

Вижу такую ситуацию: на работе могут зайти из внутренней сети, а из внешней сети (из интернета) не должны зайти? Это так?

Spaser 07-02-2015 03:26 2467725

Нет. Не так.
В общем, имеется e-mail вида mycompany@mail.ru. Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло.

ruslandh 07-02-2015 08:22 2467743

Цитата:

Цитата Spaser
В общем, имеется e-mail вида mycompany@mail.ru »

А зачем заходить им? Это-же почта, отослать письмо можно с любого имени, используя любой почтовый сервер, а получить с любого компа, кототорому доступен почтовый сервер. Если почтовый сервер стоит на работе, то можно запретить принимать почту извне, а если он находится вне предприятия, то это невозможно.

zai 07-02-2015 08:56 2467749

Цитата:

Цитата Spaser
Если б на сервере - было бы проще. Делаю внутренний сайт и на нём реализую всё, что хочу.
Я просто задумал аутентификацию на сайте через сервер »

установи почтовый сервер+web морду к нему и сделай проброс портов на роутере.

User001 07-02-2015 12:04 2467819

Цитата:

Цитата Spaser
Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло. »

Настраивайте firewall на вашем сервере. Или разбирайтесь с настройками веб-сервера.
Детальнее говорить нечего, так как телепатировать тяжело.

Kent 07-02-2015 21:30 2468051

Цитата:

Цитата Kent
Вижу такую ситуацию: на работе могут зайти из внутренней сети, а из внешней сети (из интернета) не должны зайти? Это так?

Цитата:

Нет. Не так.
Нужно сделать так, чтоб все, кто у нас работает могли на него зайти только находясь на работе. А если будет попытка зайти из дома - то нифига не вышло.
Опишите мне разницу в вышеприведённых предложениях.

El Scorpio 09-02-2015 02:47 2468671

Вот пример рабочей схемы.
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. Вся входящая почта автоматически загружается по мере поступления и хранится на локальном почтовом сервере.

Если нужно сделать именно так, детальные конфиги скину позже.

Spaser 09-02-2015 09:57 2468743

Цитата:

Цитата ruslandh
А зачем заходить им? Это-же почта, отослать письмо можно с любого имени, используя любой почтовый сервер, а получить с любого компа, кототорому доступен почтовый сервер. Если почтовый сервер стоит на работе, то можно запретить принимать почту извне, а если он находится вне предприятия, то это невозможно. »

Ключевое слово здесь: "получить с любого компа, кототорому доступен почтовый сервер". В том-то и дело, что сервер mail.ru доступен абсолютно всем.
Цитата:

Цитата zai
установи почтовый сервер+web морду к нему и сделай проброс портов на роутере. »

Вот это уже ближе к теме.
Цитата:

Цитата Kent
Опишите мне разницу в вышеприведённых предложениях. »

Возможно я не совсем понятно выражаюсь. Тут есть пара человек, которые меня поняли. Спасибо им. Их цитаты в моём сообщении.
Цитата:

Цитата El Scorpio
Вот пример рабочей схемы.
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 2469295

Цитата:

Цитата Spaser
Или в данном случае любая подойдёт? »

Любой почтовый клиент. Лично я предпочитаю Громоптицу (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.
Цитата:

Цитата zai
установи почтовый сервер+web морду к нему и сделай проброс портов на роутере. »

Плохая идея.
Это всё равно будет публичный почтовый сервер, для нормальной работы которого потребуется получить доменное имя, зарегистрировать в глобальной DNS, прописать зоны MX и выполнить много других действий.
Это имеет смысл для большой компании, использующей свой корпоративный портал, но для обычной фирмы - совершенно излишнее.

Spaser 10-02-2015 18:05 2469579

Спасибо. Буду разбираться. С этими программами пока дела не имел. Если что - буду вас ещё мучать.

Spaser 19-02-2015 17:25 2473547

Ошибочный пост.

Spaser 27-02-2015 10:03 2476522

Вопрос у меня такого характера: почта по умолчанию сохраняется в каталоге /var/spool/mail/username. Как мне перенести сохранение в другое место, на другой диск? Просто в корне уже мало места и нереально будет там поместить всю уже имеющуюся почту.

ruslandh 27-02-2015 14:08 2476645

Скопировать на новый диск/раздел, а на старом месте сделать символьную ссылку на новое место.

El Scorpio 01-03-2015 13:30 2477402

Цитата:

Цитата Spaser
почта по умолчанию сохраняется в каталоге /var/spool/mail/username. »

Вообще-то /var/spool используется для хранения неких промежуточных данных. В частности указанный каталог используется для хранения исходящих писем, подготовленных к отправке.
Проверьте логи почты (особенно mail.err и mail.warn), скорее всего в процессе отправки или локальной доставки происходят какие-то ошибки.

Каталог для хранения почты пользователя задаётся следующими параметрами
Цитата:

Цитата El Scorpio
#### MAILDIR=$HOME/Maildir #### Устарел
home_mailbox = Maildir/
# Указано значение относительно каталога профиля »

А каталоги пользователей задаются в файле /etc/passwrd

И вообще, многие параметры легко задаются через Webmin.
Я знаю, что "тру-админы" не любят этот вёб-интерфейс и признают одну лишь консоль :)
Однако это - весьма удобный инструмент для настройки большинства параметров большинства служб Linux.

ruslandh 01-03-2015 13:35 2477406

Цитата:

Цитата El Scorpio
Однако это - весьма удобный инструмент для настройки большинства параметров большинства служб Linux. »

Если-бы он ещё не был дырой в безопасности системы.

El Scorpio 02-03-2015 00:55 2477642

Цитата:

Цитата ruslandh
Если-бы он ещё не был дырой в безопасности системы. »

В смысле?
Так и SSH "дырой" назвать можно.

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

ruslandh 02-03-2015 01:08 2477646

Вы его исходный код посмотрите.

El Scorpio 02-03-2015 03:25 2477658

Цитата:

Цитата ruslandh
Вы его исходный код посмотрите. »

Со всем уважением хочу сказать вам, что такое "кидание понтов" крайне непродуктивно.
Если есть конкретные претензии по реализации конкретных модулей - пожалуйста, поделитесь с нами информацией.

И вряд-ли требуется супер-пупер безопасность.

ruslandh 02-03-2015 06:52 2477673

http://forum.antichat.ru/thread38423.html

да и вообще, достаточно вбить в поисковике "exploit webmin".
1. сидит на открытом порту
2. работает с правами root
3, требует только пароль.

Spaser 02-03-2015 09:53 2477718

Цитата:

Цитата El Scorpio
Вообще-то /var/spool используется для хранения неких промежуточных данных. В частности указанный каталог используется для хранения исходящих писем, подготовленных к отправке.
Проверьте логи почты (особенно mail.err и mail.warn), скорее всего в процессе отправки или локальной доставки происходят какие-то ошибки. »

mail.err:
Код:

2015-02-25T10:39:57.744085+03:00 linux-0eu1 postfix/postfix-script[222492]: fatal: the Postfix mail system is not running
Тут всё понятно.

mail.warn:
Код:

2015-02-25T10:39:57.744085+03:00 linux-0eu1 postfix/postfix-script[222492]: fatal: the Postfix mail system is not running
2015-02-25T10:39:58.420812+03:00 linux-0eu1 postfix/postfix-script[222564]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-02-25T10:39:58.431743+03:00 linux-0eu1 postfix/postfix-script[222565]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-02-25T10:39:58.450950+03:00 linux-0eu1 postfix/postfix-script[222567]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-02-25T10:39:58.461782+03:00 linux-0eu1 postfix/postfix-script[222568]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
2015-02-25T12:22:20.015766+03:00 linux-0eu1 postfix/postfix-script[3387]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-02-25T12:22:20.035501+03:00 linux-0eu1 postfix/postfix-script[3388]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-02-25T12:22:20.071413+03:00 linux-0eu1 postfix/postfix-script[3390]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-02-25T12:22:20.092336+03:00 linux-0eu1 postfix/postfix-script[3392]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
2015-02-26T09:48:55.215518+03:00 linux-0eu1 postfix/postfix-script[53952]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-02-26T09:48:55.227399+03:00 linux-0eu1 postfix/postfix-script[53953]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-02-26T09:48:55.243520+03:00 linux-0eu1 postfix/postfix-script[53955]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-02-26T09:48:55.256749+03:00 linux-0eu1 postfix/postfix-script[53956]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
2015-02-26T10:04:35.467884+03:00 linux-0eu1 postfix/postfix-script[54707]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-02-26T10:04:35.478852+03:00 linux-0eu1 postfix/postfix-script[54708]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-02-26T10:04:35.495790+03:00 linux-0eu1 postfix/postfix-script[54710]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-02-26T10:04:35.506403+03:00 linux-0eu1 postfix/postfix-script[54711]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
2015-02-26T10:06:16.835353+03:00 linux-0eu1 postfix/postfix-script[54900]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-02-26T10:06:16.847764+03:00 linux-0eu1 postfix/postfix-script[54901]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-02-26T10:06:16.862511+03:00 linux-0eu1 postfix/postfix-script[54903]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-02-26T10:06:16.873515+03:00 linux-0eu1 postfix/postfix-script[54904]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop
2015-03-02T05:04:19.902908+03:00 localhost postfix/postfix-script[3380]: warning: not owned by group maildrop: /usr/sbin/postqueue
2015-03-02T05:04:19.931903+03:00 localhost postfix/postfix-script[3382]: warning: not owned by group maildrop: /usr/sbin/postdrop
2015-03-02T05:04:19.969619+03:00 localhost postfix/postfix-script[3384]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postqueue
2015-03-02T05:04:19.999583+03:00 localhost postfix/postfix-script[3385]: warning: not set-gid or not owner+group+world executable: /usr/sbin/postdrop

И что мне с этим делать? Сделать эти два файла исполняемыми?
Цитата:

Цитата El Scorpio
А каталоги пользователей задаются в файле /etc/passwrd »

Тут всё в порядке. Задан задуманный каталог.
Буду ковырять ещё Postfix.

El Scorpio 02-03-2015 10:58 2477739

Цитата:

Цитата Spaser
И что мне с этим делать? Сделать эти два файла исполняемыми? »

Ээээ...
Судя по всему, исполняемые файлы почтовой системы у вас не совсем исполняемые :)
Покажите их разрешения (команда ls -la /полный/путь/к/файлу ).

Также покажите, от какого имени пользователя запускаются почтовые службы. В том числе дочерние программы
Как следствие, этот пользователь должен иметь права доступа к каталогу /var/spool/mail

Spaser 02-03-2015 11:35 2477745

Код:

spaser@linux-0eu1:~> ls -la /usr/sbin/postdrop
-rwxr-xr-x 1 root root 15008 сен 25 22:13 /usr/sbin/postdrop
spaser@linux-0eu1:~> ls -la /usr/sbin/postqueue
-rwxr-xr-x 1 root root 19072 сен 25 22:13 /usr/sbin/postqueue

Цитата:

Цитата El Scorpio
Также покажите, от какого имени пользователя запускаются почтовые службы. »

Где это глянуть?

Kent 02-03-2015 19:08 2477897

Должно быть для обоих файлов:
Код:

-rwxr-sr-x 1 root maildrop


Время: 11:20.

Время: 11:20.
© OSzone.net 2001-