чи добре використовувати випадкові URL-адреси замість паролів? [зачинено]


12

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

http://example.com/EU3uc654/Photos

Я хотів би розмістити деякі файли / галереї зображень на веб-сервері, доступ до якого має лише невелика група користувачів. Моє основне занепокоєння полягає в тому, що файли не повинні збиратись пошуковими машинами або допитливими енергокористувачами, які б’ють навколо мого сайту.

Я створив http://user:pass@url/.


Ні. Ви можете використовувати це, але не як єдиний або основний механізм аутентифікації.
Ендрю Сміт

1
Я вже багато разів пробував це як експеримент, і кожен раз, коли посилання забиваються в пошукових системах. Я не знаю як, але я знаю, що це відбувається.
Девід Шварц

Ви можете налаштувати SSL, щоб зупинити попередження. Ви можете отримати безкоштовні сертифікати від startssl.com, і SSL вже не обчислювально інтенсивно (доки його правильно налаштовано).
Хуберт Каріо

Це запитання є класичним прикладом "Неконструктивного характеру". Ми не знаємо, наскільки ви цінуєте безпеку ваших фотографій. Єдиний спосіб ви могли повідомити про важливість безпеки - це методологія авторизації, яку ви застосовуєте, щоб захистити доступ до цих зображень. У вас є "дискусійні аргументи" у формі "Відповіді". Але жоден з них не є повним оглядом сучасних наслідків безпеки та технічних наслідків. Ви повинні прочитати методи безпеки, що надаються вашою платформою, і оцінити значення кожного для вашої ситуації; якщо у вас виникли додаткові запитання, як тільки ви це зробите, то запитайте ще раз.
Кріс С

Відповіді:


17

Буде це "добре" чи ні, залежить від того, наскільки чутливі зображення.

Якщо ви не використовуєте SSL, URL-адреси, HTML та самі зображення будуть кешовані на комп'ютерах вашого користувача. Це може витікати, але я вважаю це малоймовірним.

Панелі інструментів веб-переглядача, особливо ті, що виробляються компаніями, які працюють із сканерами, такими як Alexa та Netcraft, можуть повідомляти про відвідувані URL-адреси на свої батьківські сайти, готові бот прийти та сканувати пізніше.

Належна аутентифікація, така як HTTP auth або змінна POST, не повинна кешуватися таким чином або повідомлятися на будь-якому батьківському веб-сайті.

Ще одна методика - використовувати унікальні та короткочасні URL-адреси. Таким чином, навіть якщо вони просочуються, це не має великого значення. Звичайно, вам доведеться постійно оновлювати законних користувачів нових URL-адрес.


+1 для згадування панелей інструментів браузера.
Хуберт Каріо

23

Ні, насправді це просто безпека через неясність, яка взагалі не є безпекою. Все, що безпосередньо доступне з Інтернету без якоїсь форми реального захисту, буде знайдено, індексовано та кешовано.


10
Чи не всі паролі - це лише безпека через невідомість?
Вінстон Еверт

4
@WinstonEwert: Самі паролі не мають нічого спільного з безпекою через невідомість, що стосується секретності проектування / реалізації. Наприклад, наприклад, Apache basic auth, його дизайн / реалізація повністю відкриті для всіх.
користувач9517

10
нісенітниця - все це безпека через неясність. Вся справа в тому, що для того, щоб потрапити туди, вам потрібна інформація, яка навряд чи може бути здогадана. Словосполучення "Безпека через непритомність" масово зловживається. Випадковий фрагмент URL точно рівнозначний введенню "пароля" в URL. Питання лише в тому, - хто це бачить, і відповідь, як я зазначив у своєму коментарі, - "проміжні проксі, плюс це http, тому кожен, хто може ридати"
Брон Гондвана

1
Одна помилка (або повернення до конфігурації за замовчуванням) в apache config і ваших каталогах показують індекси з усіма файлами та каталогами на долоні, а не з паролями.
Хуберт Каріо

4
Ви кажете, що безпека через неясність "стосується таємниці проектування / реалізації". Але очевидно, що випадкові URL-адреси не пов’язані із секретністю проектування / впровадження. Таким чином, випадкові URL-адреси, незалежно від їх помилок, не можуть бути класифіковані як безпека через невідомість.
Вінстон Еверт

6

Вони будуть зареєстровані у кожному проксі-сервері по дорозі. Ви будете в безпеці від допитливих користувачів енергії та пошукових систем, якщо хтось фактично не опублікує посилання.

І слідкуйте за випадковістю вашого генератора, звичайно.

Я здогадуюсь, ви тут не шукаєте надвисокої безпеки.


Якщо хтось опублікує URL, ніщо не завадить йому опублікувати пароль. Автентифікація знаннями як фактором завжди може бути "вимальована" так.
Мануель Фокс

@ManuelFaux: Звичайно, якщо це навмисно. Але це може бути і випадковим. Наприклад, він може використовувати інструмент, який перевіряє URL-адреси, які він відвідує, і перевіряє, чи не повідомлялося про шкідливість. Інструменти знають, що паролі повинні зберігатися в таємниці. Вони знають, що параметри в URL-адресах можуть бути чутливими. Але вони не знають, які шляхи в URL-адресах є. (Наприклад, http referer .)
Девід Шварц

5

Криптична URL-адреса зручна для одноразового завантаження, але не забезпечує реального захисту. Вам потрібно пам’ятати, що не всі боти шанують файл robots.txt, тому якщо на вашому веб-сайті є якесь посилання, яке веде до замаскованої папки, воно буде індексовано деякими пошуковими системами, і після того, як він запуститься, немає повернення назад.

Я б запропонував використовувати просту систему аутентифікації на основі .htaccess або на додаток до того, що ви пропонуєте.


5

Я хотів би додати ще одну, можливо, більш страшну точку зору на неясні URL-адреси, як цей приклад. Навіть якщо Ваша URL-адреса не надана невірно, вона може бути надана пошуковим системам:

  • Інтернет-провайдер відвідувача. Відвідини HTTP збираються, передаються в дані та іноді навіть прямо продаються третім сторонам провайдерами.
  • Хмарне сховище для відвідувачів. Існує ряд служб, що зберігають закладки та історію безкоштовно для синхронізації між установками браузера. Якщо вони заздалегідь не зашифрують дані, як це робить Mozilla, можуть бути використані ті самі методи вилучення даних.

YMMV.


о так - або просто плагіном браузера, який шукає пов’язані сайти або дозволяє користувачам ділитися нотатками про сторінку
Брон Гондвана

2

Раніше я використовував подібний метод, щоб дозволити користувачам створювати спільні простори в системі управління документами. Спільний вміст не був найпотаємнішим, тому системі не потрібно було бути надто захищеним.

Щойно я зробив URL-адресу кожного користувача, що містить часову позначку та термін дії електронної пошти MD5.

Так URL-адреса виглядала так:

http://my-url.com/1343689677-cba1f2d695a5ca39ee6f343297a761a4/

З вищезазначеним, якщо користувач введе електронну пошту user@gmail.com до 30 липня, їм було б добре піти.

Не зовсім військовий клас безпеки, але зробив цю роботу.


0

Це подібна вразливість, як зберігання sessionID в URL. Хтось може випадково скопіювати та вставити посилання на інших, забути провести цензуру на скріншоті або дозволити комусь подивитися, оскільки це не вказано зірочкою, як паролі.

Крім того, якщо якийсь вміст захищений паролем, увійшовши в систему Ви знаєте, що це секрет. Якщо ви отримаєте посилання, ви можете легко його забути.

Інша справа - це видалення прав користувача. Ви можете видалити користувача, щоб він більше не міг увійти, але за допомогою посилань Вам потрібно змінити їх усіх і надіслати всім (крім видаленого користувача) нові URL-адреси.

Я думаю, що непогано, якщо це просто зображення. Але якщо це якісь образи, якими ви б дійсно не хотіли ділитися;), то я пропоную вам використовувати довші випадкові слова, більш схожі на представлене Дейв е.

EDIT: Додайте? DO_NOT_SHARE_THIS_LINK до URL: http://example.com/DO_NOT_SHARE_THIS_LINK/EU3uc654-this-should-be-longer/Photos?DO_NOT_SHARE_THIS_LINK

Це те, що, наприклад, Kongregate робить, коли вбудовуються ігри, розміщені в іншому місці (він ставить автентичні облікові дані в URL-адресу кадру). BTW, Kongregate також використовує гостьові посилання для доступу до неопублікованих ігор, як саме ви хочете використовувати.


Насправді це набагато гірше, ніж ідентифікатори сеансу, оскільки сеанси закінчуються через деякий час. Пошукові системи, які отримують ідентифікований сеанс входу, зазвичай в кінцевому підсумку представляють мертве посилання / не вхід в сеанс в результатах. Або якщо сервер не піклується, він може синхронізувати сеанс багатьох користувачів, і коли хтось із них увійде в систему, вони все роблять. У будь-якому разі, не так вже й погано, як постійно зареєстрований URL :-)
korkman

Звичайно, це гірше, і ви також можете запам’ятати IP-адресу під час сеансу, оскільки вам потрібно спочатку увійти, щоб отримати sessid в URL-адресі, а потім Ви можете знищити сеанс, якщо IP змінився.
Маркус фон Броаді
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.