Вопросы и ответы по безопасности данных в WWW
Настоящий документ является переводом документа
The World Wide Web Security FAQ
Lincoln D. Stein
<[email protected] >
Version 1.9.0, June 30, 1998
Перевод - Дмитрий Громов
<[email protected] >
От переводчика: Я добавил страничку с
сылками на другие сайты с полезной информацией по технологии WWW на
русском языке.
Предупреждения
Исходные тексты вставок на сервере, включая Allaire Cold
Fusion pages, могут быть взломаны на некоторых серверах для Windows NT. См. Что нового .
Зеркальные копии оригинала (на английском языке)
Оригинал находится на:
http://www.w3.org/Security/Faq/ .
Смотрите здесь если Вас интересуют зеркальные
копии или Вы сами хотите установить зеркальную копию.
Введение
Что нового?
Вопросы общего порядка
В1 О чем беспокоиться?
В2 О каких конкретных опасностях мы
говорим?
В3 Являются ли какие-либо Web
серверы и операционные системы более безопасными, чем другие?
В4 Являются ли какие-либо программы
- Web серверы более безопасными, чем другие?
В5 Опасны ли CGI - скрипты?
В6 Опасны ли вставки на сервере?
В7 Какие предосторожности общего
порядка следует соблюдать?
В8 Где можно получить
дополнительную информацию по безопасности в сетях?
Поддержка Безопасного Сервера
В9 Как следует регулировать права
доступа к файлам моего сервера и корневым документам?
В10 Я использую сервер, снабженный
большим количеством дополнительных функций. Привносят ли
какие-либо из них дополнительные риски?
В11 Я слышал, что запускать сервер
с правами пользователя "root" небезопасно. Так ли это?
В12 Я хочу использовать одно и то
же дерево подкаталогов для моих серверов ftp и Web. Есть ли
в этом кикие-либо опасности?
В13 Могу ли я полностью
обезопасить свой сервер, запуская его в среде "chroot"?
В14 Моя локальная сеть защищена
брандмауэром. Как я могу использовать его для увеличения
безопасность моего узла Web?
В15 Моя локальная сеть защищена
брандмауэром. Как я могу предоставить внешнему миру доступ
к моему Web серверу?
В16 Как я могу определить, что
мой узел был взломан?
Защита Частных Документов на вашем узле
В17 Какие существуют типы
ограничения доступа?
Q18 Насколько надежно ограничение доступа по IP адресу или имени домена?
В19 Насколько надежно ограничение доступа по имени пользователя и паролю?
В20 Что такое проверка пользователя (user verification)?
В21 Как ограничить доступ к
документам на основе IP адреса или имени домена удаленного
браузера?
В22 Как добавить нового
пользователя и пароль?
В23 Существуют ли скрипты CGI,
позволяющие пользователям менять их пароли в процессе работы?
В24 Использование файла .htaccess
для управления доступом к отдельным директориям так удобно,
почему я должен использовать access.conf
?
В25 Как работает шифрование?
В26 Что такое: SSL, SHTTP, Shen?
В27 Существуют ли какие-либо
некоммерческие ("freeware") защищенные серверы?
В28 Можно ли использовать "личные удостоверения" (Personal Certificates) для контроля доступа к серверу?
В29 Как принимать заказы по
кредитным картам через Web?
В30 Что такое: First Virtual Accounts, DigiCash,
Cybercash?
Скрипты CGI
В31 В чем проблема CGI скриптов?
В32 Что лучше: хранить скрипты в
директории cgi-bin или давать им расширение .cgi?
В33 Являются ли компилируемые
языки, такие как C, более безопасными, чем интерпритируемые -
Perl и командные языки оболочек ОС?
В34 Я нашел в Сети замечательный
скрипт CGI и хочу его установить у себя. Как я могу проверить
его безопасность?
В35 Какие скрипты CGI имеют
известные проблемы с безопасностью?
В36 Я разрабатываю собственные
скрипты CGI. Чего мне следует избегать?
В37 Но если я не использую eval(),
exec(), popen() и system(), то как я обеспечу доступ к моей
базе данных/поисковой системе/графическому пакету?
В38 Безопасно ли использовать
переменную окружения PATH для запуска внешних программ?
В39 Я слышал, что существует
программный пакет cgiwrap, который делает скрипты
безопаснее?
В40 Пользователи могут получать
доступ к скриптам только через формы ввода, имеющиеся в моей
системе, правильно?
В41 Могут ли пользователи видеть
или изменять значения "спрятанных" ("hidden") переменных в
формах ввода?
В42 Является ли использование
метода "POST" для посылки формы более защищенным, чем
использование "GET"?
В43 Где можно получить
дополнительную информацию по безопасному использованию CGI?
Безопасное Программирование на Perl
В44 Как избежать передачи
пользовательских переменных через оболочку ОС (shell) при
вызове exec() и system()?
В45 Что такое "проверки зараженности" (taint checks) в Perl?
Как их активировать?
В46 Хорошо, я включил проверки зараженности
так, как Вы советовали. Теперь мой скрипт прекращает работу
и выводит сообщение "Insecure path at line XX"
при каждом запуске!
В47 Как "обеззаразить" (untaint) переменную?
В48 После удаления метасимволов
из переменной Perl продолжает думать, что она заражена!
В49 Правда ли, что операция
замены (pattern matching) $foo=~/$user_variable/
небезопасна?
В50 Мой скрипт CGI требует большие
привилегии, чем он получает как пользователь "nobody". Как
я могу запустить скрипт с правами супер-пользователя (suid)?
Запись Истории Сервера и Защита Частной Жизни Пользователей
В51 Какую информацию пользователи
могли бы желать сохранить в тайне?
В52 Следует ли мне принимать во
внимание защиту частной жизни моих пользователей?
В53 Как избежать сбора излишней
информации?
В54 Как я могу защитить частную
информацию моих пользователей?
Безопасность на Стороне Клиента
В55 Мне посоветовали
сконфигурировать /bin/csh для просмотра документов, имеющих
тип application/x-csh. Хорошо ли это?
В56 Нужно ли учитывать что-либо
еще при выборе внешних программ просмотра?
В57 Как выключить сообщение
"You are submitting the contents of a form insecurely" (Вы
посылаете форму ввода небезопасным путем) в
Netscape? Нужно ли обращать на него внимание?
В58 Насколько надежно шифрование,
используемое в SSL?
В59 При попытке просмотра защищенной страницы мой браузер
сообщает, что сертификат узла не соответствует серверу (the site certificate doesn't
match the server) и спрашивает меня,
хочу ли я продолжить. Следует ли мне продолжать просмотр страницы?
В60 При попытке просмотра защищенной страницы мой браузер
сообщает, что он не распознает организацию (authority), выдавшую сертификат, и спрашивает меня,
хочу ли я продолжить. Следует ли мне продолжать просмотр страницы?
В61 Насколько доступна информация
о моих обращениях к документам Web?
В62 Какие различия существуют между
Java и JavaScript?
В63 Известны ли какие-либо риски,
связанные с использованием Java?
В64 Известны ли какие-либо риски,
связанные с использованием JavaScript?
В65 Что такое ActiveX? Есть ли риск
в его использовании?
В66 Связан ли какой-либо риск с
"Cookies"?
В67 Может ли ваш браузер выдать ваше
имя пользователя и пароль в локальной сети?
В68 Известны ли какие-либо проблемы
с безопастностью в Microsoft Internet Explorer?
В69 Известны ли проблемы в Netscape
Communicator?
В70 Известны ли проблемы в браузере
Lynx для Unix?
Конкретные Серверы
Серверы для Windows NT
В71 Известны ли какие-либо проблемы в серверах Netscape?
В72 Известны ли проблемы в WebSite сервере?
В73 Известны ли проблемы в Purveyor?
В74 Известны ли проблемы в Microsoft IIS?
В75 Известны ли проблемы с безопасностью в сервере
JavaWebServer от Sun?
В76 Известны ли проблемы с безопасностью в сервере
MetaWeb Server от MetaInfo?
Серверы для UNIX
В77 Известны ли проблемы в NCSA httpd?
В78 Известны ли проблемы в Apache httpd?
В79 Известны ли проблемы в серверах Netscape?
В80 Известны ли проблемы в сервере Lotus Domino Go?
В81 Известны ли проблемы в сервере WN?
Серверы для Macintosh
В82 Известны ли проблемы в WebStar?
В83 Известны ли проблемы в MacHTTP?
В84 Известны ли проблемы в Quid Pro Quo?
Другие серверы
В85 Известны ли проблемы в сервере Novell WebServer?
Библиография
Lincoln D. Stein
([email protected] )
WWW Consortium
Перевод - Дмитрий Громов
Last modified: Tue Jun 30 23:04:39 EDT 1998