РАЗРЕШЕНИЯ
Эрик смог получать конфиденциальные пароли базы данных, просматривая файлы в директории «/include». Без этих паролей выполнение его миссии было бы очень затруднено. Получение паролей к важной базе данных в файлах, которые может читать кто угодно, — это все, что ему было нужно для проникновения. Очень важно для обеспечения безопасности избегать хранения незашифрованных паролей в файлах программ или других текстах. Должно быть принято строгое корпоративное правило, запрещающее хранение зашифрованных паролей без крайней необходимости. Во всяком случае, файлы, содержащие незашифрованные пароли, должны быть тщательно защищены, чтобы предотвратить проникновение в них.
В компании, которую атаковал Роберт, сервер Microsoft IIS4 не был сконфигурирован так, чтобы не позволять гостям читать и записывать файлы в директорию Интернет-сервера. Внешний файл паролей, используемый в сочетании с Microsoft Visual SourceSafe, может прочесть любой пользователь, который вошел в систему. Из-за этих неправильных конфигураций хакер может получить полный контроль над атакуемым доменом Windows. Развертывание систем с организованной структурой директорий для приложений и баз данных повышает эффективность управления доступом.
ПАРОЛИ
В дополнение ко всем уже перечисленным в этой книге предложениям по управлению паролями, описанный в этой главе успех атакующих выявляет некоторые важные дополнительные меры. Эрик рассказывал, что он смог понять принцип конструкции паролей в компании на базе анализа тех паролей, которые он смог взломать. Если ваша компания использует для создания паролей какие-то стандартные, предсказуемые методы, то это становится еще одной возможностью для хакеров проникнуть в вашу систему.
После того, как атакующий получает привилегированный доступ в систему, его главной задачей становится получение паролей других пользователей или баз данных. Тактика поиска их в электронных письмах или среди файлов является очень распространенной.
Компания, которая использует операционные системы Windows, должна конфигурировать их так, чтобы зашифрованные пароли для LAN Manager не хранились в регистре. Если атакующий получит привилегии администратора, то он сможет получить в свои руки все зашифрованные пароли, а затем — взломать их. Персонал ИТ-де-партамента может легко сконфигурировать систему так, что эти пароли не будут сохраняться, что существенно усложнит хакеру процесс взлома паролей. Однако, после получения доступа к системе, атакующий может «прослушать» весь ваш сетевой трафик или установить добавление паролей извне, чтобы узнать пароли пользователей.
В качестве альтернативы отключению паролей LAN Manager можно сконструировать пароли из символов, которых нет на клавиатуре с помощью ключа <alt> и численного обозначения символа, как это описано в Главе 6. Широко используемые программы для взлома паролей даже не пробуют взламывать пароли, где есть символы из греческого, еврейского, латинского и арабского алфавитов.
ПРИЛОЖЕНИЯ ДРУГИХ КОМПАНИЙ
Используя обычное приложение для сканирования сети, Эрик обнаружил незащищенный архивный файл записей, созданный коммерческим FTP-приложением. Этот файл содержал полную информацию о тех файлах, которые передавались из системы или в систему. Не полагайтесь на изначальную конфигурацию тех приложений других компаний, которые вы устанавливаете у себя. Старайтесь устанавливать ту конфигурацию, которая минимизирует утечку информации (такой, как log-записи), которую можно использовать для проведения атаки на сеть.
ЗАЩИТА ОБЩЕДОСТУПНЫХ ФАЙЛОВ
Общедоступные сетевые файлы — это обычная методика организации общего доступа к файлам и директориям в корпоративной сети. ИТ-персонал может принять решения не вводить паролей или контроля доступа к подобным файлам, поскольку добраться до них можно только из внутренней сети. Как уже не раз отмечалось в этой книге, компании стремятся, прежде всего, обеспечить сохранность периметра и гораздо меньше думают о защите сети от проникновения изнутри. Как это было в случае Роберта, атакующие, проникшие в сеть, будут искать общедоступные сетевые файлы с именами, которые указывают на ценную информацию. «Описательные» имена типа «research» или «backup» существенно упрощают задачу атакующего. Самая лучшая защита в этом случае — это специальная защита всех общедоступных сетевых файлов, содержащих ценную информацию.
ПРЕДОТВРАЩЕНИЕ РАСКРЫТИЯ DNS
Роберт использовал программу для отгадывания DNS, чтобы определить имена узлов в зоне публичного доступа домена. Предотвратить раскрытие этих имен можно с помощью хорошо известного метода горизонтального расщепления DNS, что относится, как к внешнему, так и внутреннему серверу имен. Только общедоступные узлы перечислены в файловой зоне внешнего сервера имен. Внутренний сервер имен гораздо лучше защищен от атак, он должен отличать внутренние DNS-запросы для корпоративной сети.
ЗАЩИТА MICROSOFT SQL-СЕРВЕРА
Эрик обнаружил, что резервный сервер электронной почты и Интернет-сервер используют Microsoft SQL-сервер, на котором имя пользователя и пароль записаны так же, как и в файлах директории «include». SQL-сервер не должен подключаться к Интернету без серьезной бизнес-необходимости. Даже если аккаунт «SA» был переименован, атакующий может идентифицировать новое имя аккаунта и пароль в незащищенном файле кодов. Оптимальным решением для этого будет блокирование порта 1433 (Microsoft SQL Server) до тех пор, пока он действительно не понадобится.
ЗАЩИТА ВАЖНОЙ ИНФОРМАЦИИ
Описанные в этой главе атаки оканчиваются успехом, потому что коды программ хранятся на серверах, которые не защищены так, как это должно быть сделано. Для такой важнейшей информации, как результаты групповых исследовательских разработок, должны применяться специальные методы безопасности на основе технологий шифрования.
Для одиночного разработчика (в отличие от группы разработчиков, где целый ряд людей должен иметь доступ к разрабатываемому коду) наиболее приемлемо шифрование самой ценной информации, такой как коды программы, при помощи программ PGP Disk или PGP Corporate Disk. Эти программы создают виртуальные зашифрованные диски и функционируют понятным для пользователя образом.
ЗАЩИТА АРХИВИРОВАННЫХ ФАЙЛОВ
Как стало ясно из рассказанных историй, сотрудники — даже те из них, кто серьезно думает о безопасности — часто упускают из виду необходимость обеспечения безопасности архивов, включая архивы электронной почты, от доступа посторонних людей. В процессе моей хакерской карьеры я не раз замечал, что многие системные администраторы оставляют сжатые архивы или директории важной информации незащищенными. Работая в ИТ-департаменте крупной больницы, я видел, что все защищенные базы данных архивируются обычным образом и хранятся потом безо всякой з а щ и т ы так, что любой сотрудник может получить к ним доступ.
Роберт использовал еще один аспект этого распространенного упущения, когда он обнаружил копии кодов программы коммерческого приложения в директории общего доступа на Интернет-сервере.
ЗАЩИТА ОТ АТАК MS SQL INJECTION
Роберт сознательно удалил все проверки входных команд из Интернет-приложений, которые должны были предотвращать атаки SQL-injection. Следующие шаги могут защитить вашу компанию от атаки, которую использовал Роберт:
• никогда не запускайте сервер Microsoft SQL в контексте работы системы — старайтесь запускать его иным способом;
• разрабатывая программы, создавайте коды так, чтобы не генерировать динамические SQL-запросы;
• используйте процедуры хранения, чтобы выполнять SQL-запро-сы, создайте аккаунт только для выполнения таких сохраненных процедур и определите систему защиты от проникновения в этот аккаунт.
ИСПОЛЬЗОВАНИЕ СЕРВИСОВ MICROSOFT VPN
В качестве средства авторизации Microsoft V P N применяет авторизацию Windows, что позволяет атакующему использовать недостаточно защищенные пароли для проникновения в VPN. В некоторых ситуациях можно потребовать для доступа к V P N авторизации при помощи смарт-карт. Иногда имеет смысл контролировать доступ к V P N при помощи проверки IP-адресов клиентов.
В атаке Роберта системный администратор должен был контролировать VPN-сервер на появление новых пользователей в группе VPN. Другие меры тоже очевидны, это: удаление «спящих» аккаунтов из системы (как уже не раз было отмечено), гарантированное удаление всех уволенных сотрудников, и ограничение времени доступа рабочими днями и рабочими часами.