Основні дані автентифікації HTTP, передані в URL-адресі та шифруванні


250

У мене є питання щодо облікових даних HTTPS та HTTP Authentication.

Припустимо, я захистив URL-адресу за допомогою аутентифікації HTTP:

<Directory /var/www/webcallback>
AuthType Basic
AuthName "Restricted Area"
AuthUserFile /var/www/passwd/passwords
Require user gooduser
</Directory>

Потім я отримую доступ до цієї URL-адреси з віддаленої системи через HTTPS, передаючи облікові дані в URL-адресу:

https://gooduser:secretpassword@www.example.com/webcallback?foo=bar

Чи автоматично буде зашифровано SSL ім'я користувача та пароль? Чи однаково це для GET та POST? Мені важко знайти достовірне джерело з цією інформацією.



Дуже давнє запитання, але все-таки: цей підхід застарів ietf.org/rfc/rfc3986.txt : "Використання формату" user: password "у полі інформації про користувача застаріле."
Madbreaks

Відповіді:


237

Чи автоматично буде зашифровано SSL ім'я користувача та пароль? Те саме стосується GET та POST

Так Так Так.

Весь зв’язок (за винятком пошуку DNS, якщо IP для імені хоста ще не кешовано) шифрується під час використання SSL.


25
+1. GETs та POSTs, включаючи URL, шифруються. Додам лише - такі інструменти, як firebug та Tamper, можуть показувати незашифровані результати лише тому, що вони є частиною браузера і, отже, можуть перехопити запит до його зашифрування. Після надсилання по дроту все шифрується.
Сріпати Крішнан

21
Щоб було зрозуміло, все, крім домену, зашифровано. Якщо хтось натрапляє на це і хотів би більш детальної відповіді, дивіться answer.google.com/answers/threadview/id/758002.html
rcourtna

7
Для повноти " Internet Explorer не підтримує імена користувачів та паролі в адресах веб-сайтів (URL-адреси HTTP або HTTPS) " Схоже, лише Internet Explorer версії 3.0 до 6.0 підтримує наступний синтаксис для HTTP або HTTPS URL: http (s): //username:password@server/resource.ext Примітка. Ця зміна поведінки за замовчуванням не впливає на інші протоколи. Наприклад, ви все ще можете включити інформацію про користувачів у URL-адресу FTP після встановлення оновлення безпеки 832894.
Лука

ця відповідь не містить жодного достовірного джерела та додаткових пояснень.
Jens Piegsa

26

Так, він буде зашифрований.

Ви зрозумієте це, якщо просто перевірити, що відбувається за лаштунками.

  1. Веб-переглядач або програма спочатку розбить URL-адресу та спробують отримати IP-адресу хоста за допомогою DNS-запиту. тобто: буде зроблений запит DNS для пошуку IP-адреси домену (www.example.com). Зверніть увагу, що жодна інша інформація не надсилатиметься за допомогою цього запиту.
  2. Веб-переглядач або програма ініціюватиме SSL-з'єднання з IP-адресою, отриманою від запиту DNS. Обмінятимуться сертифікатами, і це відбувається на транспортному рівні. На даний момент інформація про рівень додатків не передаватиметься. Пам'ятайте, що автентифікація Basic є частиною HTTP, а HTTP є протоколом рівня додатків. Не завдання транспортного шару.
  3. Після встановлення з’єднання SSL тепер необхідні дані будуть передані серверу. тобто: шлях або URL, параметри та базове ім'я користувача та пароль для автентифікації.

-5

Не обов'язково правда. Він буде зашифрований на дроті, однак він все ще залишається в простому тексті журналів


17
Який веб-сервер реєструє ім’я користувача та паролі від запитів? Це було б пекло незахищеного веб-сервера.
Ендрю Барбер

1
Так, це просто неправда. Ймовірно, можна доручити апашеві реєструвати цю інформацію, але це, звичайно, не робиться так за замовчуванням.
DougW

27
@Brandon, ймовірно, думав, що "URL-адреса" означає рядок запиту (наприклад,? User = bob & pw = 123hackmeplz). Це може закінчитися в журналах сервера.
Майк Граф

5
Пов’язано: "Коли ви зателефонуєте за цією URL-адресою клієнта, наприклад, curl, ім'я користувача та пароль будуть добре видно у списку процесів і можуть з’явитися у файлі історії башів." - stackoverflow.com/a/4981309
Hawkeye Parker

1
@ zb226 запитувач спеціально згадав про внесення облікових даних у URL.
Ламбарт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.