пятница, 7 марта 2014 г.

postfix - повышаем безопасность

# Клиент, подключившийся к серверу, может командой vrfy определить, существует ли заданный адрес в системе. Т.е. vrfy user@example.com. Поэтому отключаем такую возможность
disable_vrfy_command=yes
# При попытке клиента отправить письмо несуществующему юзеру Постфикс выдаст 550 (reject) с сообщением "user unknown in local recipient table" (или другой таблице). Отключаем, пусть Постфикс просто сообщает "user unknown"
show_user_unknown_table_name=no
# Требуем от клиента приветствия (HELO/EHLO). Все, кто подключается, должны представляться
smtpd_helo_required=yes
# Создаём класс, в котором будет разрешена отправка от имени своего домена (т.е. адрес отправителя user@mydomain.ru). Нужно для того, чтобы никто другой (спамеры, например) не отправляли почту с наших адресов
smtpd_restriction_classes=from_mydomain
# Описание этого класса. Разрешаем отправлять с доверенных сетей (прописанных в mynetworks) или прошедшим аутентификацию. Остальных отбрасываем
from_mydomain=permit_mynetworks, permit_sasl_authenticated, reject
# Теперь идут smtpd_..._restrictions в порядке, в котором они обрабатываются
# Ограничения для этапа HELO/EHLO. Применяются к имени хоста, его айпи-адресу и приветствию HELO/EHLO.
smtpd_helo_restrictions=
# Разрешаем доверенные сети
[пробел]permit_mynetworks,
# Разрешаем тем, кто прошёл аутентификацию
[пробел]permit_sasl_authenticated,
# Отбрасываем неправильное (несуществующее) имя хоста (например hjfhg.r)
[пробел]reject_invalid_hostname,
# Отбрасываем не полностью определённое доменное имя хоста
[пробел]reject_non_fqdn_hostname,
# Отбрасываем, если хост по HELO/EHLO не имеет А или МХ записи в ДНС
[пробел]reject_invalid_helo_hostname
# Ограничения для этапа MAIL FROM. Применяется ко всему предыдущему + имя отправителя
smtpd_sender_restrictions=
# Отбрасываем не полностью определённое имя отправителя
[пробел]reject_non_fqdn_sender,
# Отбрасываем отправителя с несуществующего домена
[пробел]reject_unknown_sender_domain,
# Отбрасываем несуществующих отправителей
[пробел]reject_unlisted_sender,
# Проверяем отправителя. Если с нашего домена, то проверим, находится ли он в доверенной сети или прошёл аутентификацию
[пробел]check_sender_access hash:/etc/postfix/mysenders
# Разрешаем отправлять с доверенных сетей
[пробел]permit_mynetworks,
# Разрешаем отправлять прошедшим аутентификацию
[пробел]permit_sasl_authenticated,
# Ограничения для этапа RCPT TO. Применяется к предыдущему + имя получателя
smtpd_recipient_restrictions=
[пробел]reject_non_fqdn_recipient,
[пробел]reject_unknown_recipient_domain,
[пробел]reject_unlisted_recipient,
[пробел]permit_mynetworks,
[пробел]permit_sasl_authenticated,
# Режект, если получатель отсутствует в списке нашего домена или списке пересылки. Чтобы сервер на стал открытым релеем
[пробел]reject_unauth_destination
# Ограничения для этапа DATA
smtpd_data_restrictions=
# Отвергаем запрос, когда клиент посылает команды SMTP раньше времени, ещё не зная, поддерживает ли Постфикс
[пробел]reject_unauth_pipelining,
# Режект клиента с пустым именем отправителя, который отправляет сразу нескольким получателям
[пробел]reject_multi_recipient_bounce
# Ограничиваем клиенты, которые могут запрашивать у Постфикс очистку очереди сообщений
smtpd_etrn_restrictions=
[пробел]permit_mynetworks,
[пробел]permit_sasl_authenticated,
[пробел]reject

Файл /etc/postfix/mysenders:
# Те, кто отправляет письма от нашего домена, проверяются классом from_mydomain
mydomain from_mydomain

(источник http://www.postfix.ru/viewtopic.php?t=23823)

четверг, 6 марта 2014 г.

centos 6 - вырубаем ipv6, включая отключение его на сервисах

vim /etc/sysctl.conf
# disable ipv6 - error from services in maillog (postfix) secure (dovecot)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
sysctl -p

теперь его нет на интерфейсах (ifconfig не покахет теперь строк например inet6 addr: ::1/128 Scope:Host - как для l0 интерфейса), но есть сервисы которые его используют

sudo lsof -i -n -P | grep IPv6

начнем

1). sshd
vim /etc/ssh/sshd_config
ListenAddress 0.0.0.0
service sshd restart
2). dovecot
vim /etc/dovecot.conf
listen = *
service dovecot restart
3). apache
service httpd restart
4). openfire
service openfire restart
5). PBEAgent
/etc/init.d/PBEAgent stop
/etc/init.d/PBEAgent start
6). postfix
vim /etc/postfix/main.cf
inet_protocols = ipv4
service postfix restart
7). bind
vim /etc/named.conf
#       listen-on-v6 port 53 {
#               any;
#               };
service named restart