Защищаем папки image и другие

Аватар пользователя qwert123 qwert123 24 декабря 2013 в 13:46

Я тут начитался ужасных историй про то как php скрипты заливают под видом jpeg изображений и решил найти решение для защиты. Вот есть такой чудесный код который вставляем в .htaccess и кидаем файл в нужную папку:

<?php
<FilesMatch "\.(php|php3|php4|php5|php6|phtml|phps)$|^$">
Order allow,deny
Deny from all
</FilesMatch?>

Он как бы не дает исполняться скриптам в этой папке. Только я не понял одного, вот у нас файлы изображений находятся в files/styles/... и далее идет еще разделение на подпапки по размерам и т.д. Так что нужно в каждую конечную папку закидывать этот файл или как?

0 Thanks

Комментарии

Аватар пользователя Lotar Lotar 24 декабря 2013 в 14:03

в папку стулес друпал сам заливает картинки которые генерит модулем image. Тамбнейлы всякие и тд.

Аватар пользователя alex_shut alex_shut 24 декабря 2013 в 14:08

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

Аватар пользователя ihappy ihappy 24 декабря 2013 в 16:17
"qwert123" wrote:

Я тут начитался ужасных историй про то как php скрипты заливают под видом jpeg изображений

В друпале это не возможно.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 24 декабря 2013 в 16:25
"iHappy" wrote:

В друпале это не возможно.

В друпале это возможно.
А вот на нормально настроенном сервере это ни к чему не приведёт.
И уж .htaccess от этой уязвимости не спасёт

Аватар пользователя qwert123 qwert123 25 декабря 2013 в 15:29
RxB wrote:
"iHappy" wrote:

В друпале это не возможно.

В друпале это возможно.
А вот на нормально настроенном сервере это ни к чему не приведёт.
И уж .htaccess от этой уязвимости не спасёт

а если речь идет не о своем выделенном сервере, а о виртуальном хостинге, тоже нет смысла?

Аватар пользователя ihappy ihappy 24 декабря 2013 в 16:52
"RxB" wrote:

В друпале это возможно.

Сколько раз не пытался, не получалось. В чем секрет?

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 24 декабря 2013 в 17:07
"iHappy" wrote:

Сколько раз не пытался, не получалось. В чем секрет?

В особенностях форматов графических файлов.
Не является проблемой залить jpg, в конце которого будет похапе-код.
Но этот код ещё надо выполнить.
А выполнить его получится далеко не апачем, так что .htaccess в данном случае как порваный кондом

Аватар пользователя deb deb 24 декабря 2013 в 19:58

Нафига? Друпал при заливе переименовывает все файлы с опасными (с его точки зрения) расширениями. Причем, насколько я помню, переименовывает даже файлы типа foo.php.bar, это вторая ступень защиты (помимо .htaccess со строкой SetHandler SECURITY_DO_NOT_REMOVE) от чудо-особенности апача передавать файлы с неизвестными расширениями другим обработчикам.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 25 декабря 2013 в 18:02
"qwert123" wrote:

а если речь идет не о своем выделенном сервере, а о виртуальном хостинге, тоже нет смысла?

Пользоваться плохо настроенными шаредами вообще не стоит.
Лежит у меня в черновиках статья про один шаред (не евробайт) который тут рекламировался как "Профессиональный", так там можно было к любому сайту на чтение доступ получить

Аватар пользователя qwert123 qwert123 26 декабря 2013 в 6:55
RxB wrote:
"qwert123" wrote:

а если речь идет не о своем выделенном сервере, а о виртуальном хостинге, тоже нет смысла?

Пользоваться плохо настроенными шаредами вообще не стоит.
Лежит у меня в черновиках статья про один шаред (не евробайт) который тут рекламировался как "Профессиональный", так там можно было к любому сайту на чтение доступ получить

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

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

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 26 декабря 2013 в 9:46
"qwert123" wrote:

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

Я не понимаю с чего было решено, но соглашусь, вам нужен

Аватар пользователя qwert123 qwert123 26 декабря 2013 в 16:16

я тут опытным путем выяснил что код действует на все вложенные, хотя и так можно было догадаться, поэтому размещаем в папку files. И у приведенного в топике кода есть недостатки какие уже не помню, поэтому лучше вот этот:

<?phpOptions -Indexes
php_flag engine 0
RemoveHandler 
.phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application
/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
?>
Аватар пользователя qwert123 qwert123 26 декабря 2013 в 16:43

это снова я ученики мои. В общем там в директории уже есть файл .htaccess с определенной записью которая как я понял запрещает все к чертовой матери, поэтому наверное можно не вставлять мой чудо код.

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 26 декабря 2013 в 16:43
"qwert123" wrote:

это снова я ученики мои. В общем там в директории уже есть файл .htaccess с определенной записью которая как я понял запрещает все к чертовой матери, поэтому наверное можно не вставлять мой чудо код.

Я думал больной совсем безнадёжен

Аватар пользователя deb deb 27 декабря 2013 в 4:59
"qwert123" wrote:

это снова я ученики мои. В общем там в директории уже есть файл .htaccess с определенной записью которая как я понял запрещает все к чертовой матери, поэтому наверное можно не вставлять мой чудо код.

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

Например, есть файл foo.php.bar Поскольку апач не знает что делать с файлами .bar но знает .php то он передаст его интерпретатору и выполнит код. Файл защищает от такой вот самодеятельности.

Аватар пользователя qwert123 qwert123 27 декабря 2013 в 7:42
deb wrote:
"qwert123" wrote:

это снова я ученики мои. В общем там в директории уже есть файл .htaccess с определенной записью которая как я понял запрещает все к чертовой матери, поэтому наверное можно не вставлять мой чудо код.

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

Например, есть файл foo.php.bar Поскольку апач не знает что делать с файлами .bar но знает .php то он передаст его интерпретатору и выполнит код. Файл защищает от такой вот самодеятельности.

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