Михаил Флёнов - Linux глазами хакера
- Название:Linux глазами хакера
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2005
- Город:Санкт-Петербург
- ISBN:5-94157-635-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Михаил Флёнов - Linux глазами хакера краткое содержание
Рассмотрены вопросы настройки ОС Linux на максимальную производительность и безопасность. Описаны потенциальные уязвимости и рекомендации по предотвращению возможных атак. Дается подробное описание настройки прав доступа и конфигурирования сетевого экрана. Показано, как действовать при атаке или взломе системы, чтобы максимально быстро восстановить ее работоспособность и предотвратить потерю данных.
Для пользователей, администраторов и специалистов по безопасности
Linux глазами хакера - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
□
mailq
— отобразить краткую информацию о сообщениях в очереди, ожидающих обработки. Пример результата выполнения команды:
/var/spool/mqueue (1 request)
----Q-ID---- --Size-- -----Q-Time----- -----Sender/Recipient-----
j0IAnST11838 6 Tue Jan 18 13:49
(host map: lookup (flenovm.ru): deferred)
Из первой строки видно, что в очереди находится одно сообщение. Вторая строка включает дату посылки и адрес отправителя —
flenov@flenovm.ru
. В последней строке отображается получатель сообщения — root@flenovm.ru
;
□
mailstats
— отобразить статистику сообщений, включая количество переданных байт;
□
sendmail
— это команда самого сервера sendmail. Запуская ее с различными ключами, можно увидеть достаточно много полезной информации. За более подробной справкой следует обратиться к документации man.
8.4. Безопасность sendmail
Безопасность сервиса sendmail далека от идеала, и в нем регулярно находят ошибки. По этому поводу администраторы и программисты начали слагать анекдоты и превратили сервис в объект насмехательств. Я слышал, что некоторые даже делали ставки на то, будет найдена ошибка в этом месяце или нет.
Как я и обещал, в данном разделе мы поговорим о некоторых параметрах, повышающих безопасность.
8.4.1. Баннер-болтун
Проблема безопасности начинается еще на этапе подключения. Сервис sendmail, как и большинство других служб, выдает строку приветствия, в которой содержится информация об имени и версии программы.
Хакер не должен знать об этих данных. Для этого необходимо изменить параметр
SmtpGreetingMessage
в файле /etc/sendmail.cf. В старых версиях sendmail этот параметр был равен:
SmtpGreetingMessage=$j Sendmail $v/$Z; $b
Самое опасное здесь — это ключ
$v/$z
, который отображает версию и само имя Sendmail
. Именно поэтому он был убран в последних версиях.
Теперь значение этому параметру присваивается следующим образом:
SmtpGreetingMessage=$j $b
Если в вашей системе отображается что-то лишнее, то это необходимо убрать. Можно даже поставить сообщение другого сервиса:
SmtpGreetingMessage=$j IIS 5.0.1 $b
Любая удачная попытка ввести хакера в заблуждение — это выигрыш во времени, что равносильно маленькой победе.
8.4.2. Только отправка почты
Очень часто почтовые сервисы используют только для отправки почты. Например, на Web-серверах sendmail может стоять для того, чтобы прямо из сценариев на Perl или PHP можно было отсылать письмо. Если ваш сервер не будет принимать писем, то необходимо запретить этот режим. Для этого откройте файл /etc/sysconfig/sendmailи измените его содержимое:
DAEMON=yes
QUEUE="qlh"
Вторая строка задает параметры, которые будут передаваться программе sendmail при запуске. Чтобы возобновить прием почты, измените значение на
-bd
.
Если у вас нет директории /etc/sysconfig/sendmail(используется не во всех дистрибутивах), то придется редактировать сценарий /etc/rc.d/init.d/sendmail. Найдите в этом файле параметры, которые передаются программе, и измените их на
qlh
прямо в тексте сценария.
8.4.3. Права доступа
Ни один сервис в ОС не должен работать от имени администратора root. Если в коде программы будет найдена лазейка, позволяющая запускать команды, то можно считать систему потерянной, потому что директивы будут выполняться с правами root. Опытные пользователи компьютеров, наверное, помнят, что несколько лет назад, в sendmail чуть ли не каждую неделю находили ошибки, и большинство из них были критичными.
Сервис должен работать с правами пользователя, которому доступны только необходимые для работы директории и файлы. В sendmail это возможно сделать, и в последних версиях уже реализовано с помощью параметра
RunAsUser
:
0 RunAsUser=sendmail
По умолчанию эта строка может быть закомментирована. Уберите комментарий. Можно также явно добавить описание группы, с правами которой должна происходить работа:
0 RunAsUser=sendmail:mail
В данном случае
sendmail
— это имя пользователя, a mail
— имя группы.
8.4.4. Лишние команды
Почтовый сервер обрабатывает множество команд, но не все из них могут оказаться полезными. Убедитесь, что в вашем конфигурационном файле присутствуют и не закрыты комментарием следующие строки:
0 PrivacyOptions=authwarnings
0 PrivacyOptions=noexpn
0 PrivacyOptions=novrfy
Можно также в одной команде перечислить все параметры через запятую:
0 PrivacyOptions=authwarnings,noexpn,novrfy
Наиболее опасной может оказаться для сервера опция VRFY, которая позволяет проверить существование почтового ящика. Именно ее запрещает третья строка в данном примере.
Вторая строка устанавливает параметр
noexpn
, запрещающий команду EXPN, которая позволяет по почтовому псевдониму определить E-mail-адрес или даже имя пользователя. С помощью этой директивы хакеры могут собирать себе списки для рассылки спама. Не стоит давать в руки злоумышленника такую информацию.
8.4.5. Выполнение внешних команд
В почтовом сервисе есть одна серьезная проблема — ему необходимо выполнять системные команды, а это всегда опасно. Если хакер сможет запустить такую команду без ведома администратора и с повышенными правами, то это грозит большими неприятностями. Именно поэтому мы понижали права, с которыми работает сервис, но этого недостаточно.
Чтобы запретить выполнение системных команд, необходимо заставить sendmal работать через безопасный интерпретатор команд. Для этого специально был разработан smrsh. Чтобы почтовый сервис использовал именно его, проще всего добавить следующую строку в файл sendmail.mc:
FEATURE('smrsh', '\bin\smrsh')
В данном случае в скобках указано два параметра: имя командного интерпретатора и каталог, в котором он располагается. Убедитесь, что в вашей системе именно такой путь, или измените параметр.
По умолчанию интерпретатор smrsh выполняет команды из каталога /usr/adm/sm.bin. Программы из других директорий запускать невозможно. Если в каталоге /usr/admsm.binнаходятся только безопасные программы, то ваша система будет менее уязвима.
8.4.6. Доверенные пользователи
В сервисе sendmail можно создать список пользователей, которым вы доверяете отправлять сообщения без каких-либо предупреждений. Этот перечень находится в файле /etc/mail/trusted-users. Я не рекомендую вам здесь указывать реальных пользователей.
Но файл все же может быть полезен. В него можно добавить пользователя apache, чтобы проще было рассылать письма из Web-сценариев.
8.4.7. Отказ от обслуживания
Интервал:
Закладка: