Я храню конфиденциальные данные в папке с названием /data/
. Эта папка содержит несколько файлов и подкаталог.
Подкаталог содержит измененную версию конфиденциальных данных с тем же именем файла.
Следовательно, у меня есть /data/file.exe
и /data/modified/file.exe
. Я установил некоторые правила в .htaccess
файл, чтобы заблокировать любой доступ извне сервера к /data/
папку, но не в /data/modified/
.
Поскольку имена файлов одинаковы, любой, кто имеет доступ к /data/modified/
папка знает, что исходный файл существует в /data/
с таким же названием.
Теперь вопрос: безопасно ли это? Может ли кто-нибудь перезаписать эти правила и получить доступ к этим файлам, не взламывая сервер или не изменяя .htaccess
файл? Я знаю, что вы можете делать все, что угодно, если у вас есть доступ к серверу.
Я использую веб-сервер Apache V.2.4 на сервере Windows Server 2008, но могу перейти на LiteSpeed в CentOS.
PS: Пожалуйста, скажите мне, если это неправильное место / формат, чтобы задать этот вопрос, чтобы я мог переместить, отредактировать или удалить его. Спасибо.
Это не идеальная установка, потому что ваша общая папка является подпапкой вашего защищенного каталога. Таким образом, каждый, кто просматривает / данные / изменяет, знает, что родительская папка запрещена. Это вопрос времени, когда кто-нибудь попытается проверить, содержится ли /data/modified/file.exe также в /data/file.exe, и он получит удар.
Я предлагаю разделить структуру папок следующим образом:
/ data_modified
/ data_secure (возможно, вы захотите проявить больше изобретательности с этим именем папки).
Теперь никто не знает новое имя безопасной папки, поэтому они не знают, где искать ваши конфиденциальные данные, поскольку вы больше не разглашаете имя папки.
В остальном, если вы используете .htaccess, чтобы запретить доступ к каталогу, это хорошо с точки зрения безопасности, и доступ к вашим данным не должен быть возможен без несанкционированного доступа к серверу.
Но если вы используете его для предоставления доступа по имени пользователя / паролю, вам следует быть предельно осторожным. Если вы не используете HTTPS, скорее всего, пара имени пользователя и пароля согласовывается в виде обычного текста по вашей сети.
Вы также можете взглянуть на эта почта о том, как защитить .htaccess, если вы предлагаете пользовательский / проходной доступ.