Linux глазами хакера
Шрифт:
7.7.3. Секреты и советы
Как бы аккуратно программист не писал сценарии, как бы вы их не защищали с помощью специальных модулей, неплохо предпринять дополнительные меры безопасности. Есть еще ряд параметров, которыми можно воспользоваться для этих целей. В данном разделе я собрал небольшие рекомендации, которые вам помогут сделать необходимые настройки.
Во-первых, ограничьте выполнение сценариев только отдельной директорией. Чаще всего это каталог cgi-bin. Однажды я видел систему, в которой для этих целей администратор
Никогда не сохраняйте резервные копии сценариев в каталогах, доступных Web-серверам. Рассмотрим пример. Если на сервере есть PHP-скрипты, то пользователи видят только результат их выполнения. Чтобы посмотреть исходный код, хакеру необходим доступ к серверу, например FTP или Telnet, т.к. сервер Apache не передает таких данных клиенту.
Перед тем как вносить изменения в сценарий, программисты любят создавать на сервере резервные копии, чтобы в случае ошибки можно было восстановить старую, но рабочую версию. Для этого очень часто содержимое файла копируется в тот же каталог, под тем же именем, но с другим расширением, например, old или bak (наиболее часто встречаемые).
Такие программы уже не выполняются сервером, и если хакер запросит файл, то он увидит его исходный код, что поможет быстрее найти ошибки в скриптах.
Когда злоумышленник исследует сценарии на сервере, то никто не мешает проверить наличие резервной копии. Допустим, что у вас есть файл www.servername.com/index.php, хакер попробует загрузить www.servername.com/index.bak или www.servername.com/index.old. На любительских сайтах такие версии встречаются очень часто. Не допускайте подобных промахов.
Любой специалист по безопасности должен запретить пользователям работу с резервными копиями. Сколько бы мы не говорили программистам о том, что нельзя держать на сервере ничего лишнего, они все равно продолжают это делать, потому что им так удобно. Наша задача — сделать хранение этих копий безопасными, т.е. запретить доступ со стороны Web-клиентов.
Это можно сделать, используя следующие директивы:
7.8. Индексация Web-страниц
За последние 10 лет Интернет разросся до таких размеров, что найти в нем что-либо без хорошей поисковой системы стало невозможным. Первые системы просто индексировали страницы по их содержимому и потом использовали полученную базу данных для поиска, который давал очень приблизительные результаты. Если ввести в качестве контекста слово "лук", то будет отобрано огромное количество сайтов по пищевой промышленности и по стрельбе из лука. В большинстве языков есть слова, которые имеют несколько значений, и по ним поиск затруднителен.
Проблема не
Один из самых простых способов взлома — найти с помощью поисковой системы закрытую Web-страницу. Некоторые сайты имеют засекреченные области, к которым доступ осуществляется по паролю. Сюда же относятся платные ресурсы, где защита основана на проверке пароля при входе, а не на защите каждой страницы и использовании SSL. В таких случаях Google проиндексирует запрещенные страницы, и их можно будет просмотреть через поиск. Для этого всего лишь надо четко знать, какая информация хранится в файле, и как можно точнее составить строку поиска.
С помощью google.com можно найти достаточно важные данные, которые скрыты от пользователя, но по ошибке администратора стали доступными для индексирующей машины Google. Во время поиска нужно правильно задавать параметры. Например, можно ввести в строку поиска следующую команду:
Или
И вы найдете все файлы в формате Word и Excel, содержащие слова "Годовой отчет". Возможно, документов будет слишком много, поэтому запрос придется ужесточить, но кто ищет, тот всегда найдет. Существуют реальные примеры из жизни, когда таким простым способом были найдены секретные данные, в том числе действующие номера кредитных карт и финансовые отчеты фирм.
Давайте рассмотрим, как можно запретить индексацию каталогов Web-страниц, которые не должны стать доступными для всеобщего просмотра. Для этого необходимо понимать, что именно индексируют поисковые системы. На этот вопрос ответить легко — все, что попадается под руку: текст, описания, названия картинок, документы поддерживаемых форматов (PDF, XLS, DOC и т.д.).
Наша задача — ограничить настойчивость индексирующих роботов поисковых машин, чтобы они не трогали то, что запрещено. Для этого робот должен получить определенный сигнал. Как это сделать? Было найдено достаточно простое, но элегантное решение — в корень сайта помещается файл с именем robots.txt, который содержит правила для поисковых машин.
Допустим, что у вас есть сайт www.your_name.com. Робот, прежде чем начать свою работу, пробует загрузить файл www.your_name.com/robots.txt. Если он будет найден, то индексация пойдет в соответствии с описанными в файле правилами, иначе процесс затронет все подряд.
Формат файла очень простой и состоит всего лишь из двух директив:
□