#php #файлы #безопасность
Всем известен факт, что хранить закрытую информацию в файлах небезопасно. Я сделал проект, где данные (куки и другие) хранятся в файлах. Папка с такими файлами имеет непрогнозируемое название, файлы имеют непрогнозируемое название и расширение, доступ к папке производится исключительно на стороне сервера, в папке прописан .htaccess, поэтому я на сегодняшний день не вижу возможности получить к папке несанкционированный доступ. Какие скрытые (неизвестные мне) способы существуют чтобы вот так просто взломать такую папку на сервере? Ссылка на проект (не сочтите за пиар) - http://js-games.hol.es
Ответы
Ответ 1
Кто вам сказал, что информацию в файлах хранить небезопасно? А в чем хранить? Если вы посмотрите на строение любого хранилища или базы данных, все ваши данные - это файл. Специального формата, требующий действий для получения из него данных, по возможности защищенный криптографическими алгоритмами. Записали вы свои сессии предположим в файловое хранилище с доступом по паролю и что? Злоумышленник получил доступ к серверу и открыл ваш конфиг, где этот ключ лежит. Небезопасно - это хранить эти файлы в системе которая не соблюдает основные методы защиты. Неясность - это еще не безопасность В Москве на Ходынском поле рабочие во время ремонта дороги повредили кабель специальной связи, который не был указан в документации в связи с большой секретностью расположения кабеля. Это хорошая иллюстрация того, что при использовании принципа «безопасность через неясность» безопасность может быть нарушена не только злоумышленником, но даже и случайным человеком Товарищ @Ипатьев верно заметил, что обеспечение безопасности только через неясность - детский лепет, а точнее очень короткий промежуток времени перед окончательным взломом и то, что вы сделали, лишь усложнило работу с данными для Вас, но не для хакера. Поиск ваших файлов через специальное ПО при доступе на сервере не займет много времени. Например, если вы запихнули базу данных в одну из миллиона папок, но на нее не стоит пароля, я как хакер предположу, что она весит больше всех остальных файлов, и отсортирую файлы по размеру. Используйте комплексный подход Создавая сайт, используйте комплекс методов защиты от НСД на ваш сервер: директория с данными вне доступа для пользователя, все порты на сервер закрыты, кроме 443 и 80, ssh-доступ ограничен ключом, и ключ хранится в безопасности, скрипты не дают возможности выполнять произвольные команды на сервере и выходить за пределы ограниченной директории, использовать надежные пароли, скрипты не выполняются от root, ПО стоит из проверенных и надежных источников и т.д. В целом это позволит вам избежать НСД в 99 процентах случаев. Будем честны, все можно взломать, и это лишь вопрос времени. Любая система безопасности, в принципе, может быть вскрыта. Эффективной считают такую защиту, стоимость взлома которой соизмерима с ценностью добываемой при этом информации. В некотором случае, вас может подвести хостинг-провайдер, который использует старое ПО, не соблюдает правила безопасности, и не поставил обновление, исправляющее возможность кражи виртуальных машин (см. атаки на гипервизор). Вы не защищены от этого, и можно купить сервер, самому все настроить, нанять специалиста, выделить отдельную сеть внутри дата-центра, на одном сервере хранить файлы, на другом сервере в другом дата-центре хранить ключи, все и везде шифровать и т.д, нанять полк с танками, которые будут бегать вокруг стойки, но вопрос в том, сколько стоят данные, которые вы защищаете? Не будет ли система защиты дороже, чем стоимость потери ваших данных?Ответ 2
Во-первых, закрытая информация не должна храниться нигде в открытом виде (требования нормативов) Во-вторых, есть вещи, типа атак обхода директорий (Directory Traversal) и т.п. В-третьих, Вы доверяете защиту серверу (его владельцу). Если с его стороны что-то глюкнет, он извинится, а Вы потеряете...
Комментариев нет:
Отправить комментарий