4th Февраль 2011 в 21:13
Спасибо большое за труды с большим удовольствием пожираю infu.Так как я студент в этом нелегком деле не могу нечего добавить. А где народ ? почему нет дискуссий на тему???
4th Февраль 2011 в 02:14
Так, например, файл /home/chroot/etc/passwd может содержать неверные па]роли. На работу системы в целом это не повлияет, потому что система будет брать пароли из файла /etc/passwd, а службе реальные пароли системы не нужны, поэтому в файл /home/chroot/etc/passwd можно засунуть что угодно.
Если хакер проникнет в систему через защищенную службу и захочет про]смотреть каталог /etc, то он увидит /home/chroot/etc, но никак не системный. Чтобы взломщик ничего не заподозрил, в каталоге /home/chroot/etc можно расположить все необходимые файлы, но содержащие некорректную инфор]мацию. Взломщик, запросив файл /etc/passwd через уязвимую службу, получит доступ к /home/chroot/etc/passwd, потому что служба видит его системным.
На рис. 1.6 в рамку обведены папки, которые будут видны службе. Именно в этом пространстве будет работать служба и будет считать, что это и есть реальная файловая система сервера.
Выше этого каталога программа, работающая в окружении, попасть не мо]жет. Посмотрите на рис. 1.6. Здесь показана часть файловой системы Linux. Во главе всего стоит корневой каталог /. В ней находятся /bin, /usr, /var, /home и т. д. В /home расположены каталоги пользователей системы. Мы создаем здесь новый каталог, для примера назовем ее chroot, и он будет корневым для службы. В нем будут свои каталоги /bin, /usr и т. д. и служба будет работать с ними, а все, что выше /home/chroot, будет для нее недоступно. Просто служба будет считать, что /home/chroot это и есть корень файловой системы.
Наилучшим вариантом будет перенести работу MySQL и Apache в окруже]ние chroot. Как работает это окружение? В системе создается каталог (в Linux для этого существует команда chroot), который является для программы корневым.
/usr/bin/mysql admin -u root password newpass
Учетная запись администратора по умолчанию, о которой мы уже сказали, есть практически во всех СУБД. В MS SQL Server это учетная запись sa, ко]торая может быть без пароля, если администратор не установил его во время инсталляции, а в MySQL это root, также без пароля. Чтобы изменить пароль для MySQL, выполните команду:
Необходимо удалить все базы данных, созданные для тестирования и от]ладки. По умолчанию в большинстве СУБД (в том числе и в MySQL) устанавливается тестовая база данных. В работающей системе ее не должно быть.
Лучше всего запретить удаленное подключение к СУБД. Например, если к MySQL обращаются только локально расположенные сценарии, то ни]кто не должен иметь права подключения с удаленной машины (в настрой]ках MySQL есть такая опция);
необходимо заблокировать анонимный доступ к СУБД. Подключения должны осуществляться только авторизованными пользователями;
СУБД устанавливается с настройками по умолчанию, при которых адми]нистраторский доступ разрешен пользователю root с пустым паролем. Это не хорошо. Необходимо как минимум установить сложный пароль, а луч]ше переименовать учетную запись root. Если вы работали с ОС Linux, то должны знать, что в этой системе администратором тоже является root. Имя администратора в ОС и в СУБД никак не связаны;
Давайте рассмотрим пример защиты MySQL и Apache в операционной сис]теме Linux. Мы опустим защиту самой ОС, потому что это отдельная и очень большая тема, да и весь Apache мы трогать не будем, пусть живет. Итак, за]щита начинается с установки и предварительного конфигурирования. В слу]чае с MySQL необходимо выполнить следующие действия:
Защита Web-сервера
PHP, Perl, JavaScript, Delphi кодинг
Блог программиста » Защита Web-сервера
Комментариев нет:
Отправить комментарий