Страницы

Поиск по вопросам

среда, 20 февраля 2019 г.

Почему небезопасно хранить данные в файле?

Всем известен факт, что хранить закрытую информацию в файлах небезопасно. Я сделал проект, где данные (куки и другие) хранятся в файлах. Папка с такими файлами имеет непрогнозируемое название, файлы имеют непрогнозируемое название и расширение, доступ к папке производится исключительно на стороне сервера, в папке прописан .htaccess, поэтому я на сегодняшний день не вижу возможности получить к папке несанкционированный доступ. Какие скрытые (неизвестные мне) способы существуют чтобы вот так просто взломать такую папку на сервере?
Ссылка на проект (не сочтите за пиар) - http://js-games.hol.es


Ответ

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

Комментариев нет:

Отправить комментарий