Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Безопасность в Интернет
Безопасность в Интернет #9 сентябрь 2000 |
Продолжение статьи "Здравый смысл брандмауэров"
Самые важные слабости Unix
Плохое администрирование
- После того, как система Unix переехала с больших компьютеров на рабочие станции и персональные компьютеры, ничего не подозревавшие пользователи неожиданно превратились в системных администраторов. У них было достаточно своих забот и, естественно, система начинала вскоре жить своей жизнью. А так как некоторые поставщики продают системы с давно известными дырками в защите и в процессе работы появляются новые, такие системы быстро становятся гостеприимным домом для нежданных гостей. Часто такие слабозащищенные системы интересны не сами по себе, а лишь как база для атаки других систем. Серьезный взломщик использует десятки компьютеров для атаки. Таким образом, чрезвычайно трудно определить его физический адрес.
- К сожалению, общий принцип гласит, что чем система защищеннее, тем менее удобно ей пользоваться. А так как большинство покупателей компьютеров заботит прежде всего удобство, безопасность неминуемо отодвигается на задний план.
- На мой взгляд, любой администратор может существенно повысить безопасность своего Unix, если
- ограничит число пользователей системы теми, кого он знает; позаботится о хороших паролях, и не будет создавать беспарольных; входов или входов с тривиальными паролями (например, guest с паролем guest); будет отслеживать сообщения о дырках в своей системе и вовремя применять рекомендуемые заплатки; будет советоваться с другими администраторами и читать компьютерные новости (учтите, что взломщики их итают очень внимательно); не будет надеятся на то, что "авось пронесет"; будет просматривать системные журналы; будет хорошо знать свою систему и знать, что для нее характерно, а что необычно; будет иметь представление об основных принципах работы Unix (почему-то большинство непрограммистов уверено, что самопроизвольное появление и исчезновение
Повторно используемые и плохие пароли
- Самый популярный способ атаки Unix систем - подбор, угадывание и подсматривание паролей. Первоначально взломщик пытается заполучить хоть какой-то вход в систему, а затем, используя известные ему дырки в защите и администрировании, расширить свое влияние и захватить всю систему, заполучив полномочия суперпользователя. Интересно решили проблему всевластного супер-пользователя в исследовательской системе Plan 9 - суперпользователем является лишь тот, кто зашел в систему с системной консоли.
- Как ни странно, придумывание пароля является весьма сложной задачей для любого пользователя компьютера. Вспомните, сколько раз вы в качестве пароля выбирали слова "aaa", "qqq", "123456", "password" и ваше имя! Те, у кого развита фантазия пишут имя своей любимой девушки. Все эти пароли очень плохи и регулярно раскалываются. Хороший пароль не должен быть никаким осмысленным словом никакого языка, должен обязательно содержать и большие и маленькие буквы, какие-нибудь специальные символы, достаточно хорошо запоминаться (чтобы его не пришлось записывать и приклеивать на монитор или, того хуже, напряженно пытаться вспомнить новый пароль для того, чтобы сделать срочную работу) и быстро набираться на клавиатуре (это защита от любителей смотреть через плечо). Более того, он должен регулярно обновляться (при этом нельзя использовать подержанные пароли из прошлой
Дырки в ftp- и HTTP-серверах и CGI скриптах
- Несметное количество HTTP-серверов по всему миру сделали Internet столь популярной средой проживания. Их устанавливают всюду, все и на всех системах. Такой сервер - достаточно большая и сложная программа, часто запускаемая от имени супер-пользователя и имеющая все свойства демона. Она умеет читать файлы в файловой системе и запускать программы. Эти программы генерят информации для пользователя и часто управляются данными, введенными пользователем. Неточности в написании CGI-скриптов позволяют взломщикам получать неожиданные привилегии.
- За пару дней существования моего HTTP-сервера к нему несколько раз обратились с просьбой прислать файл /etc/passwd (старые версии Apache содержали CGI-скрипт "phf", который позволял прочитать любой файл в системе). По случайности, у меня оказалась свежая версия демона и фокус не сработал.
- Несколько советов Web-администраторам:
- Используйте свежую версию HTTP демона Не запускайте его от имени root Ограничте зону действия сервера Внимательно читайте документацию по серверу и его конфигурации Не используйте CGI, если можете без него обойтись. Проверяйте CGI программы и очень аккуратно пишите свои.
- Если вы передаете данные пользователя внешним программам, проверяйте их на наличие опасных символов, имеющих специальную семантику для этих программ (например, командные интерпретаторы хорошо переваривают символы
Проблемы с NFS/NIS
- Сетевая файловая система NFS весьма удобна. Так удобна, что ее часто используют для объединения сотен и тысяч компьютеров в единое файловое пространство. Это самый настоящий Intranet, хотя никто не использовал этот термин для обозначения распределенных компьютерных сетей до недавнего времени маркетиговых терминов. Но, по старому правилу большое удобство ведет к слабой защищенности. NFS позволяет опытному взломщику получить доступ к любому файлу на экспортированной файловой системе, а NIS предоставляет в ваши руки зашифрованные пароли даже если ваш Unix использует механизм "теневых паролей". Поэтому, не выпускайте пакеты NFS (они обычно используют TCP и UDP порты 111 и 2049) за пределы вашей сети и отфильтровывайте их при попытке зайти к вам внутрь.
Программы с переполняющимися буферами
- Программисты и их программы несовершенны. Многие программы, (особенно старые) использующие функции gets() и puts(), которые не проверяют длину считываемой строки, позволяют переполнить буфер и испортить програмный стек. Именно эта ошибка была ислользована самым знаменитым вирусом в истории (это был вирус Морриса, поразившим в 1988 году большинство систем Unix, подключенных к Internet. Интересно, что отец Морриса работал в National Security Agency и занимался там проблемами компьютерной безопасности (NSA - организация занимающаяся прослушиванием всех средств коммуникации во всем мире. Она столь засекречена, что часто аббревиатура NSA расшифровывается как "No Such Agency").
Неправильная синхронизация событий
- Один популярный брандмауэр предоставлял взломщику возможность поработать в промежутке времени от загрузки системы до запуска самой системы защиты. Многие методы взлома используют временные файлы, ненадолго создаваемые программами. При запуске SUID-скриптов сначала запускается командный интерпретатор с полномочиями суперпользователя, а затем он считывает сам скрипт - за это время можно успеть подменить скрипт и выполниться совсем другой.
Ошибки в SUID программах
- Довольно часто CERT (Computer Emergency Respond Team) публикует сведения об ошибках в SUID-программах. Такие ошибки часто позволяют произвольному пользоватею системы стать суперпользователем.
Самая безопасная система
- Из предыдущего текста у вас может сложиться вполне справедливое впечатление, что Unix - не очень защищенная система (это не мешает, впрочем, конкретной системе правильно настроенной и хорошо администрируемой быть очень хорошо защищенной). Ну а что же с другими системами? Естественно, что компьютерная система, которая с самого начала разрабатывалось с учетом соображений безопасности (например
Выбираем пожарные стенки
- Итак, вы поняли, что обеспечить надежную защиту отдельных компьютеров сети достаточно сложно и решили защитить всю сеть в целом с помощью модной штуки под названием "Firewall" - брандмауэр, как его сейчас переводят (мне не очень нравится этот перевод, но лучше придумать не могу. К сожалению, слово "фиревал" не звучит). Как выбрать то, что вам нужно?
- Если вы опытный Unix-хакер, то смело собирайте свой собственный бастион на базе бесплатного FreeBSD или коммерческой BSDI/OS и свободных программ (tcp_wrappers, TIS Firewall Toolkit, tripwire, COPS, и т.д.). Набьете руку, получите удовольствие и будете знать что происходит. Но в случае взлома будьте готовы получить по заслугам.
- Проще купить готовый продукт - с ним меньше ответственности и хлопот. Купил, распаковал, включил - и безопасно вкушай прелести Internet! Однако продуктов много и это затрудняет жизнь. Как выбрать из них наилучший?
- На выставке Windows Expo"96 меня и представителя Micrisoft застал в коридоре посетитель и стал спрашивать - какой продукт лучше - DEC Firewall для NT или Microsoft Proxy - объявленный, но пока не существующий продукт. Мне лично кажется, что существующий продукт всегда лучше объявленного, но недоступного.
- Для того, чтобы сравнивать, необходимо выработать критерии - что значит "лучше и хуже". В противном случае развяжется очередная религиозная война, похожая на бушевавшие когда-то горячие войны о том, какая ОС и какой редактор лучше.
- Один из посетителей выставки предложил считать лучшим тот продукт, который меньше взламывали. Хорошая идея, но брандмауэр, который один раз взломали, является дорогой игрушкой. Это похоже на математическую теорему - одного контрпримера достаточно для опровержения и не поможет самое красивое доказательство. Самый лучший пользовательский интерфейс не перекроет одной маленькой дырки в защите. Самое главное требование к системе защиты - она должна надежно и безопасно защищать при любых условиях.
- Если защитное устройство выходит из строя, оно должно закрывать весь доступ в вашу сеть, а не открывать его. Маркус Ранум сравнивает Firewall с воротами и опускаемым мостом замка. Когда перетирается веревка, мост опускается, открывая проход. А входные ворота, оставшиеся без крепежа, проседают и никого не впускают. Поэтому смотрите, как ведет себя продукт в трудных ситуациях.
- Большинство систем защиты делятся на два класса. Пакетные фильтры, которые проверяют заголовки IP/TCP/UDP пакетов и принимают решение, исходя из адресов и протоколов. Proxy-серверы становятся между клиентом и серверам и пропускают через себя все прикладные запросы. Сравнивать эти два класса устройств непросто, потому что они работают на разных уровнях. Обычно бастионы с proxy-серверами надежнее, но менее удобны. Лучше всего использовать сочетание тех и других. Там где можно используйте пакетные фильтры, но основные сервисы пропускайте через proxy-серверы.
Большинство обзоров по брандмауэрам посвящают основную часть описания пользовательскому интерфейсу. В большинстве случаев брандмауэр - черный ящик, который, будучи настроенным стоит в хорошо закрытом месте и к нему не подходит никто, кроме специально обученных администраторов. Хорошо, если интерфейс красивый и удобный, но удобство внесения изменений в конфигурацию может спровоцировать пользователей на ослабление защиты. Поэтому, удобный интерфейс может быть и недостатком.
Ваши отклики - andboc@mail.ru |
Безопасность в Интернет #9 сентябрь 2000 |
Продолжение статьи "Здравый смысл брандмауэров"
Самые важные слабости Unix
Плохое администрирование
- После того, как система Unix переехала с больших компьютеров на рабочие станции и персональные компьютеры, ничего не подозревавшие пользователи неожиданно превратились в системных администраторов. У них было достаточно своих забот и, естественно, система начинала вскоре жить своей жизнью. А так как некоторые поставщики продают системы с давно известными дырками в защите и в процессе работы появляются новые, такие системы быстро становятся гостеприимным домом для нежданных гостей. Часто такие слабозащищенные системы интересны не сами по себе, а лишь как база для атаки других систем. Серьезный взломщик использует десятки компьютеров для атаки. Таким образом, чрезвычайно трудно определить его физический адрес.
- К сожалению, общий принцип гласит, что чем система защищеннее, тем менее удобно ей пользоваться. А так как большинство покупателей компьютеров заботит прежде всего удобство, безопасность неминуемо отодвигается на задний план.
- На мой взгляд, любой администратор может существенно повысить безопасность своего Unix, если
- ограничит число пользователей системы теми, кого он знает; позаботится о хороших паролях, и не будет создавать беспарольных; входов или входов с тривиальными паролями (например, guest с паролем guest); будет отслеживать сообщения о дырках в своей системе и вовремя применять рекомендуемые заплатки; будет советоваться с другими администраторами и читать компьютерные новости (учтите, что взломщики их итают очень внимательно); не будет надеятся на то, что "авось пронесет"; будет просматривать системные журналы; будет хорошо знать свою систему и знать, что для нее характерно, а что необычно; будет иметь представление об основных принципах работы Unix (почему-то большинство непрограммистов уверено, что самопроизвольное появление и исчезновение
Повторно используемые и плохие пароли
- Самый популярный способ атаки Unix систем - подбор, угадывание и подсматривание паролей. Первоначально взломщик пытается заполучить хоть какой-то вход в систему, а затем, используя известные ему дырки в защите и администрировании, расширить свое влияние и захватить всю систему, заполучив полномочия суперпользователя. Интересно решили проблему всевластного супер-пользователя в исследовательской системе Plan 9 - суперпользователем является лишь тот, кто зашел в систему с системной консоли.
- Как ни странно, придумывание пароля является весьма сложной задачей для любого пользователя компьютера. Вспомните, сколько раз вы в качестве пароля выбирали слова "aaa", "qqq", "123456", "password" и ваше имя! Те, у кого развита фантазия пишут имя своей любимой девушки. Все эти пароли очень плохи и регулярно раскалываются. Хороший пароль не должен быть никаким осмысленным словом никакого языка, должен обязательно содержать и большие и маленькие буквы, какие-нибудь специальные символы, достаточно хорошо запоминаться (чтобы его не пришлось записывать и приклеивать на монитор или, того хуже, напряженно пытаться вспомнить новый пароль для того, чтобы сделать срочную работу) и быстро набираться на клавиатуре (это защита от любителей смотреть через плечо). Более того, он должен регулярно обновляться (при этом нельзя использовать подержанные пароли из прошлой
Дырки в ftp- и HTTP-серверах и CGI скриптах
- Несметное количество HTTP-серверов по всему миру сделали Internet столь популярной средой проживания. Их устанавливают всюду, все и на всех системах. Такой сервер - достаточно большая и сложная программа, часто запускаемая от имени супер-пользователя и имеющая все свойства демона. Она умеет читать файлы в файловой системе и запускать программы. Эти программы генерят информации для пользователя и часто управляются данными, введенными пользователем. Неточности в написании CGI-скриптов позволяют взломщикам получать неожиданные привилегии.
- За пару дней существования моего HTTP-сервера к нему несколько раз обратились с просьбой прислать файл /etc/passwd (старые версии Apache содержали CGI-скрипт "phf", который позволял прочитать любой файл в системе). По случайности, у меня оказалась свежая версия демона и фокус не сработал.
- Несколько советов Web-администраторам:
- Используйте свежую версию HTTP демона Не запускайте его от имени root Ограничте зону действия сервера Внимательно читайте документацию по серверу и его конфигурации Не используйте CGI, если можете без него обойтись. Проверяйте CGI программы и очень аккуратно пишите свои.
- Если вы передаете данные пользователя внешним программам, проверяйте их на наличие опасных символов, имеющих специальную семантику для этих программ (например, командные интерпретаторы хорошо переваривают символы
Проблемы с NFS/NIS
- Сетевая файловая система NFS весьма удобна. Так удобна, что ее часто используют для объединения сотен и тысяч компьютеров в единое файловое пространство. Это самый настоящий Intranet, хотя никто не использовал этот термин для обозначения распределенных компьютерных сетей до недавнего времени маркетиговых терминов. Но, по старому правилу большое удобство ведет к слабой защищенности. NFS позволяет опытному взломщику получить доступ к любому файлу на экспортированной файловой системе, а NIS предоставляет в ваши руки зашифрованные пароли даже если ваш Unix использует механизм "теневых паролей". Поэтому, не выпускайте пакеты NFS (они обычно используют TCP и UDP порты 111 и 2049) за пределы вашей сети и отфильтровывайте их при попытке зайти к вам внутрь.
Программы с переполняющимися буферами
- Программисты и их программы несовершенны. Многие программы, (особенно старые) использующие функции gets() и puts(), которые не проверяют длину считываемой строки, позволяют переполнить буфер и испортить програмный стек. Именно эта ошибка была ислользована самым знаменитым вирусом в истории (это был вирус Морриса, поразившим в 1988 году большинство систем Unix, подключенных к Internet. Интересно, что отец Морриса работал в National Security Agency и занимался там проблемами компьютерной безопасности (NSA - организация занимающаяся прослушиванием всех средств коммуникации во всем мире. Она столь засекречена, что часто аббревиатура NSA расшифровывается как "No Such Agency").
Неправильная синхронизация событий
- Один популярный брандмауэр предоставлял взломщику возможность поработать в промежутке времени от загрузки системы до запуска самой системы защиты. Многие методы взлома используют временные файлы, ненадолго создаваемые программами. При запуске SUID-скриптов сначала запускается командный интерпретатор с полномочиями суперпользователя, а затем он считывает сам скрипт - за это время можно успеть подменить скрипт и выполниться совсем другой.
Ошибки в SUID программах
- Довольно часто CERT (Computer Emergency Respond Team) публикует сведения об ошибках в SUID-программах. Такие ошибки часто позволяют произвольному пользоватею системы стать суперпользователем.
Самая безопасная система
- Из предыдущего текста у вас может сложиться вполне справедливое впечатление, что Unix - не очень защищенная система (это не мешает, впрочем, конкретной системе правильно настроенной и хорошо администрируемой быть очень хорошо защищенной). Ну а что же с другими системами? Естественно, что компьютерная система, которая с самого начала разрабатывалось с учетом соображений безопасности (например
Выбираем пожарные стенки
- Итак, вы поняли, что обеспечить надежную защиту отдельных компьютеров сети достаточно сложно и решили защитить всю сеть в целом с помощью модной штуки под названием "Firewall" - брандмауэр, как его сейчас переводят (мне не очень нравится этот перевод, но лучше придумать не могу. К сожалению, слово "фиревал" не звучит). Как выбрать то, что вам нужно?
- Если вы опытный Unix-хакер, то смело собирайте свой собственный бастион на базе бесплатного FreeBSD или коммерческой BSDI/OS и свободных программ (tcp_wrappers, TIS Firewall Toolkit, tripwire, COPS, и т.д.). Набьете руку, получите удовольствие и будете знать что происходит. Но в случае взлома будьте готовы получить по заслугам.
- Проще купить готовый продукт - с ним меньше ответственности и хлопот. Купил, распаковал, включил - и безопасно вкушай прелести Internet! Однако продуктов много и это затрудняет жизнь. Как выбрать из них наилучший?
- На выставке Windows Expo"96 меня и представителя Micrisoft застал в коридоре посетитель и стал спрашивать - какой продукт лучше - DEC Firewall для NT или Microsoft Proxy - объявленный, но пока не существующий продукт. Мне лично кажется, что существующий продукт всегда лучше объявленного, но недоступного.
- Для того, чтобы сравнивать, необходимо выработать критерии - что значит "лучше и хуже". В противном случае развяжется очередная религиозная война, похожая на бушевавшие когда-то горячие войны о том, какая ОС и какой редактор лучше.
- Один из посетителей выставки предложил считать лучшим тот продукт, который меньше взламывали. Хорошая идея, но брандмауэр, который один раз взломали, является дорогой игрушкой. Это похоже на математическую теорему - одного контрпримера достаточно для опровержения и не поможет самое красивое доказательство. Самый лучший пользовательский интерфейс не перекроет одной маленькой дырки в защите. Самое главное требование к системе защиты - она должна надежно и безопасно защищать при любых условиях.
- Если защитное устройство выходит из строя, оно должно закрывать весь доступ в вашу сеть, а не открывать его. Маркус Ранум сравнивает Firewall с воротами и опускаемым мостом замка. Когда перетирается веревка, мост опускается, открывая проход. А входные ворота, оставшиеся без крепежа, проседают и никого не впускают. Поэтому смотрите, как ведет себя продукт в трудных ситуациях.
- Большинство систем защиты делятся на два класса. Пакетные фильтры, которые проверяют заголовки IP/TCP/UDP пакетов и принимают решение, исходя из адресов и протоколов. Proxy-серверы становятся между клиентом и серверам и пропускают через себя все прикладные запросы. Сравнивать эти два класса устройств непросто, потому что они работают на разных уровнях. Обычно бастионы с proxy-серверами надежнее, но менее удобны. Лучше всего использовать сочетание тех и других. Там где можно используйте пакетные фильтры, но основные сервисы пропускайте через proxy-серверы.
Большинство обзоров по брандмауэрам посвящают основную часть описания пользовательскому интерфейсу. В большинстве случаев брандмауэр - черный ящик, который, будучи настроенным стоит в хорошо закрытом месте и к нему не подходит никто, кроме специально обученных администраторов. Хорошо, если интерфейс красивый и удобный, но удобство внесения изменений в конфигурацию может спровоцировать пользователей на ослабление защиты. Поэтому, удобный интерфейс может быть и недостатком.
Ваши отклики - andboc@mail.ru |
![]() |
![]() |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
В избранное | ||