вопросы безопасности с корявым админом на хостинге

aZa

Новичок
вопросы безопасности с корявым админом на хостинге

Есть хостинг, путем несложных проверок было установлено, что процессы пхп-скриптов открываются от имени собственно пользователя этих скриптов.

Однако, с помощью нехитрых манипуляций с backstick-ом в пхп-скрипте было установлено, что у хостера без проблем "вылезти" за пределы своего homedir-a и соответсвенно полазить по директориям других пользователей, посмотреть их файлы и тд.

Так вот, смогу ли я обезопасить свои *важные* файлы вида db.inc.php, config.inc.php, где храняться пароли и тд, от такого вот броузинга злонамеренным юзером того же хостера с помощью изменений этим файлам permission-ов на -rw------- ? (по умолчанию каждый заливаемый файл получает пермишены вида -rw-r--r--)

То есть получается что читать и изменять эти файлы сможет только процесс, запущенный с моим именем и соответственно их не смогут прочитать скрипты других пользователей того же хостера, а только мои? Верно ли я сделал?
 

McUrex_

ururunet
Re: вопросы безопасности с корявым админом на хостинге

Да конечно все правильно.
 

ClayRabbit

Guest
Re: вопросы безопасности с корявым админом на хостинге

Однако, с помощью нехитрых манипуляций с backstick-ом в пхп-скрипте было установлено, что у хостера без проблем "вылезти" за пределы своего homedir-a и соответсвенно полазить по директориям других пользователей, посмотреть их файлы и тд.
Т.е. вам это удалось?
По идее, на пути к содержимому сайта должна быть папка с владельцем user:apache и правами 750, что не позволяет другим пользователям читать файлы "cоседей". Если нет - не забудте обратить на это внимание техподдержки вашего хостера :)
 

McUrex_

ururunet
750 -
владелец - читать, писать, исполнять
группа - читать, исполнять
остальные - нах

если я правильно понял с Ваших слов, при одинаковой группе у всех пользователей хостинга, как раз и будет именна такая проблема, т.к. группе можно читать и исполнять, а стало быть получать листинг и читать контент файлов.
 

aZa

Новичок
ClayRabbit, нет, никаких папок-"стен" с дополнительной проверкой пермишенов нет - просто ../../u/user/ .... а там уже находяться такие директории как htdocs, cgi-bin, etc, logs и залезть мне туда никаких проблем не составляет. Я просто полазил по сайтам парочки пользователей, свободно нашел файлы-скрипты с паролями к их БД на том же хостинге и стало как-то грустно. :D

Сам то я себе пермишены на эти файлы поменял, а вот проверить работают или нет не вышло - похоже кроме меня на этом хостинге никто не практикует "безопасный секс" (по крайней мере мне надоело искать ;) )

Ясен пень, что хостинг корявый и админу надо руки поправить, однако на мое письмо они вообще никак не отреагировали, а посему нужно самому ручками было что-то срочно сделать.

Вот и спрашивал совета насколько правильно я поступил. поменяв пермишены на свои важные файлы на 600 ...

Что еще советуете сделать, чтоб обезопасить себя уже окончательно и чувствовать более-менее уверенно?
 

McUrex_

ururunet
1. Хранить критичную информацию иначе (удаленный узел?)
2. Криптовать, хешить файлы и обратить при чтении (инклюде)...
 

ClayRabbit

Guest
McUrex_, что-то ты не то говоришь :)
1. Если скрипт прочитался - информация для доступа к удаленному узлу также будет прочитана злоумышленником.
2. Если скрипт прочитался - алгоритм декриптования будет доступен злоумышленнику и он также сможет "обратить" все что захешировано.

Т.е. гимору полно, а толку - ноль...
 

corda

Новичок
Обычно, админы с таким хостингом в ответ на такие просьбы предлагают использовать перл :)
 

aZa

Новичок
corda, да уж :) ... не, мои просто промолчали, когда я им дал ссылку на свой прстенький скриптец, который показывал список всех папок корня :), видно дошло, что

вообщем, я считаю, что более-менее себя обезопасил, поменяв пермишены на файлы, в которых в явном виде указываются пароли к базе данных, а обычные скрипты не дадут себя "переписать" стороннему пользователю (-rw-r--r--), директории тоже, а соответственно никак, кроме как кражи "сырцов" нашкодить мне никто не сможет. конечно неприятно и думают стоит задуматься о написании какого-нибудь index.php, который просто будет инклудить все остальное. :D

Кстати, а если у директории стоит пермишены типа drwx------, а вот у файлов под этой директорией стоят, скажем стандартные -rw-r--r--, то можно ли будет их (файлы) прочитать под 'All' (файловые пермишены вроде же позволяют ...)
 

McUrex_

ururunet
Originally posted by ClayRabbit
McUrex_, что-то ты не то говоришь :)
1. Если скрипт прочитался - информация для доступа к удаленному узлу также будет прочитана злоумышленником.
2. Если скрипт прочитался - алгоритм декриптования будет доступен злоумышленнику и он также сможет "обратить" все что захешировано.

Т.е. гимору полно, а толку - ноль...
1. то что он прочтет, еще не значит что сможет воспользоваться - на мой взгляд очевидно, элементарно на ip адрес проверить на удаленном узле, авторизовать в конце концов.
2. напиши мне что за слово тут закриптовано в md5 хеше: 9500430574bdb6fb7ae50883bea5c46a
 

ClayRabbit

Guest
1. Элементарно. На шаред-хостинге злоумышленнику несложно получить аккаунт. Подсоединится с того же IP.
2. Элементарно. Напиши, как будет его "декриптовать" твой скрипт. Я посмотрю исходник и сделаю также :) (Кстати, уже ли md5 хеширование стало обратимым? ;) )

aZaНе парьтесь, вобщем. Файл с правами 600 может прочитать только ваш пользователь или рут. Чтобы злоумышленник не получил рута - забота админов. Ваша забота - не допустить наличия дырок в собственных скриптах.
Если на папку права 700 - никто кроме юзера-владельца не сможет добраться до файлов и подкаталогов в ней, какие бы там дальше пермишшены не стояли.
 

aZa

Новичок
Всем спасиб за консультацию!

Итог: даже при корявом админе хостера можно жить относительно спокойно, если у самого руки не из одного места растут! ;)
 

#!/Perlik

Guest
Автор оригинала: ClayRabbit
Хм. А зачем им одинаковая групппа?...
Обычно для апачевских папок в дереве, я ставлю, и так многие делают, устанавливают группу nobody.
 

ClayRabbit

Guest
ну это-то понятно. но вроде McUrex_ говорил о пользователях а не о папках, вот я и не понял к чему это...
 

#!/Perlik

Guest
Смотри, если ты создаешь сразу дтректорию для сайта, ты должен ей дать соотвествующие права для просмотра содержимого. Иначе попытака обратиться к сайту тебе Апач напишет что Forbbiden. Обычно по дэфолту owner nobody group nobody chmod 755. Ты ставишь пользователя nobody на директорию с твоим вэб-сайтом.
Собсно для защиты директирии из браузера создаешь файл
.htaccess прописываешь в нем имя индекс файла, обычно это index.php
или все это прописыаешь в твоем вирт. хосте.
Удачи!
 

ClayRabbit

Guest
Вы это кому? Вы о чем? Какой еще 755?
Я уже писал - user:nobody 750 - и все.
 

#!/Perlik

Guest
Лана, проехали, разобрались уже....

Цитата:

Даже при корявом админе хостера можно жить относительно спокойно, если у самого руки не из одного места растут!
 
Сверху