Linux глазами хакера - Михаил Флёнов
Шрифт:
Интервал:
Закладка:
□ запретить отправку писем большому количеству получателей, список которых может содержаться в поле "CC".
Существуют и другие методы, но даже этих будет достаточно.
В последних версиях sendmail уже по умолчанию разрешается пересылка почты только с тех компьютеров, которые прописаны в файле /etc/mail/access. В листинге 8.2 приведено содержимое этого файла.
Листинг 8.2. Файл /etc/mail/access# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file, (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# Смотрите файл /usr/share/doc/sendmail/README.cf для получения
# информации по формату файла (ищите слово access_db в этом файле)
#
# by default we allow relaying from localhost...
# По умолчанию мы разрешаем рассылку только с локального хоста
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
В этом файле можно оставить разрешение для рассылки почты только с компьютеров внутренней сети или самого сервера. Для этого файл должен содержать следующие записи:
localhost RELAY
your_domain.com RELAY
Все остальные не смогут выполнять рассылку писем. Такой метод хорош только в том случае, когда серверы и компьютеры защищены. Если хакер проник в сеть, то он уже сможет разослать любой спам от имени пользователя сети. От этого никуда не деться. Если есть хоть какое-то разрешение, то им можно воспользоваться, и ваша задача сделать так, чтобы это было по крайней мере очень сложно.
Запрет рассылки не всегда может быть реализован, поэтому приходится использовать другие методы, например, заставить пользователей проверять почту по протоколу POP до отправки писем. Для осуществления этого метода можно воспользоваться сервисом pop-before-smtp (http://popsmtp.sourceforge.net), который проверяет журнал сообщений /var/log/maillog, и если в нем найдена удачная авторизация за определенный период, то отправка почты разрешена.
Единственный, но существенный недостаток этого способа заключается в том, что если на пути следования письма стоит анонимный прокси-сервер или маскирующий сетевой экран, то пакеты будут приходить с другим IP-адресом. Это значит, что все пользователи, которые подключены через тот же proxy/Firewall, также автоматически считаются авторизованными. Таким образом, поиск по IP-адресу записей в журнале не может дать 100 % защиты.
Наиболее предпочтительным является метод, при котором используется SMTP-авторизация (SMTP AUTH), которая описана в RFC 2554. В сервисе sendmail поддержка этого расширения существует еще с версии 8.10.
Если вы решили использовать SMTP AUTH, то убедитесь, что почтовые клиенты пользователей имеют возможность авторизации на сервере и при этом настроены на ее использование.
8.7. Заключение
Работу электронной почты мы рассмотрели поверхностно, потому что конфигурирование sendmail требует отдельной книги. В документации, которая идет с ОС (ее можно найти в каталоге /usr/share/sendmail-cf), вы можете прочитать достаточно подробные инструкции по настройке сервиса. Если в любой поисковой системе запустить поиск по контексту "Конфигурирование Sendmail", то перед вами откроется большой список материалов по этой теме.
Если этого окажется недостаточно, то можно приобрести книгу по данной теме, например, Sendmail, авторы Bryan Costales, Eric Allman, издательство O'Reilly.
Если вы только начинаете изучать почтовый сервис sendmail, то я рекомендую отталкиваться от конфигурационного файла по умолчанию.
Глава 9
Шлюз в Интернет
Мы уже знаем, как установить и настроить Linux-сервер, сделать его соединение безопасным и подключить основные сервисы. Но такие службы, как Web-сервер и электронная почта, используются не только в локальной сети. Их максимальные преимущества проявляются при интеграции со всемирной сетью.
Но Интернет небезопасен. Там можно встретить разных людей и столкнуться с реалиями жизни. Точно так же в Интернете могут быть законопослушные пользователи, а могут быть и взломщики.
Когда мы строим дом, то уже при возведении стен заботимся о безопасности, устанавливая двери, думаем об их надежности, а когда заканчиваем отделку дома — ставим сигнализацию.
Дом мы уже построили и сделали его защищенным. Именно поэтому безопасность сети рассматривалась первой. Теперь нам необходимо поставить двери, через которые можно будет входить в сеть с улицы (из Интернета). После завершения всех настроек мы повесим на нашу обитель сигнализацию — системы мониторинга и выявления атак, которые будут рассматриваться в гл. 12.
В качестве дверей во всемирную сеть будут выступать шлюз и прокси-сервер. Именно о них пойдет речь в этой главе, и как раз их мы будем подробно рассматривать. Но настройка связи не заканчивается конфигурированием сервера, на клиенте тоже необходимо производить определенные действия, с которыми нам предстоит познакомиться.
9.1. Настройка шлюза
Выход в Интернет можно осуществить через модем или выделенную линию. В разд. 3.7 мы уже бегло рассмотрели возможность подключения с помощью графической утилиты, позволяющей настроить соединение обоих типов. Мы не будем останавливаться на этом вопросе, потому что здесь мне нечего добавить по поводу безопасности. Настройка хорошо описана во множестве документов, которые легко найти в Интернете. Но несколько замечаний я бы хотел сделать.
Используя графическую утилиту, вы должны знать, что все сценарии находятся в директории /etc/ppp и /etc/sysconfig/network-scripts. Обязательно ознакомьтесь с файлами, которые здесь находятся.
Подключившись к Интернету, убедитесь, что вам доступен DNS-сервер, который находит соответствие символьных имен и IP-адресов. Для этого можно выполнить команду ping с указанием какого-либо сервера, например:
ping www.redhat.com
Если ответ получен, то сервис преобразования имен доступен, иначе с Интернетом можно будет работать, используя только IP-адреса. Если имя не определяется, то ситуацию можно изменить, вручную прописав адрес DNS-сервера. Получите эту информацию у своего интернет-провайдера и добавьте следующую строку в файл /etc/resolv.conf:
nameserver 191.168.1.1
Адрес 191.168.1.1 нужно заменить на тот, что вам предоставил провайдер. Если вам дали несколько адресов, то можно указать их все, каждый в своей строке:
nameserver 191.168.1.1
nameserver 191.168.1.2
9.2. Работа прокси-сервера
Изначально прокси-серверы (proxy) создавались для решения узкого круга задач, а именно, — кэширование данных, получаемых из Интернета. Например, вы работаете в сети из 100 компьютеров, которые подключаются к Интернету через один физический канал связи. Не секрет, что большая часть пользователей загружает по несколько раз в день одни и те же страницы, и каждый раз эта закачка давит на канал связи и трафик.
Сделаем простейший расчет. Ежедневно мы обращаемся к поисковой системе, например, www.yahoo.com или www.google.com. Теперь посчитайте, сколько происходит загрузок сайта www.yahoo.com со 100 компьютеров. В результате должно получиться число более 1000, потому что в среднем человек просматривает не менее 10 страниц за счет поиска разной информации и уточнения запросов. Таким образом, трафик расходуется напрасно.
Для экономии интернет-трафика были придуманы прокси-серверы. Со временем их возможности стали наращиваться, и на данный момент можно выделить следующие преимущества от использования подобных программ:
□ кэширование документов, получаемых по сети;
□ кэширование результатов DNS-запросов;
□ организация шлюза доступа в сеть;
□ управление доступом в Интернет;
□ анонимный доступ в сеть через сокрытие адреса;
□ экономия IP-адресов.
В данной главе мы поговорим о самом популярном в Linux прокси-сервере squid, рассмотрим его возможности, оценим безопасность и поговорим о конфигурировании.
Чтобы сэкономить трафик и одновременно увеличить скорость загрузки, на сервере, через который осуществляется выход в Интернет, устанавливается специализированная программа proxy, которая кэширует весь трафик (рис. 9.1). Когда первый пользователь загружает страницу www.yahoo.com, то все ее содержимое сохраняется в кэше proxy. При следующем обращении к Web-узлу все картинки скачиваются уже не из Интернета, а с прокси-сервера провайдера, а текстовая часть (в зависимости от содержимого страницы и происшедших изменений) может быть загружена с сервера.
Рис. 9.1. Организация работы с Интернетом через прокси-сервер
Как правило, на сайтах именно графический материал занимает наибольший объем. Если текстовая часть страниц обычно не превышает 15 Кбайт, то размер графики достигает 100 Кбайт. Загружая эту информацию с локального прокси-сервера, вы экономите трафик и время.