2. Что такое HTML? — Знакомство с HTML — codebra
Знакомство с HTML
Что такое HTML – это язык разметки документов. Он применяется во всем мире. Браузер интерпретирует код HTML для отображения его на компьютере, планшете или телефоне. Язык HTML был разработан британцем Тимом Бернерсом-Ли, в ЦЕРНе. В первую очередь язык HTML предназначался для обмена научными документами. Верстка документов происходит при помощи специальных дескрипторов (но чаще всего их называют тегами, это слово, думаю, многим знакомо). Если ответить проще на вопрос: «Что такое HTML документ?» — это простой текст, содержащий много тегов, который образует веб-страницу.
Было множество версий HTML, но я не хочу в них вдаваться. На данный момент самая последняя версия – HTML5. Первая бета версия HTML5 появилась осенью 2007 года. Для упрощения и удобства было введено понятие «гипертекст». Гиперссылка (или просто ссылка), является частью гипертекста, и она ссылается на другой HTML документ.
HTML был построен так, что страницы отображались на всех устройствах одинаково. Позже добавили графическое оформление (CSS).
Структура HTML документа
Думаю, вы поняли, что такое язык HTML. Как говорилось выше – этот язык полностью состоит из дескрипторов (тегов). У любой веб страницы есть начало и конец, они обозначаются парным тегом <html></html>
. Рассмотрим простой HTML документ:
Код HTML
<!DOCTYPE html>
<html>
<head>
<title>Заголовок сайта</title>
</head>
<body>
<h2>Заголовок первого уровня</h2>
<p>Абзац</p>
</body>
</html>
Как вы видите, HTML документ начинается с <!DOCTYPE html>
— каждая веб страница должна начинаться именно с него. Раньше было огромное количество вариантов тега DOCTYPE
, но в соответствии с новой версией HTML, нужен только этот !DOCTYPE
, который в примере.
DOCTYPE
? Это тег, который сообщает браузеру версию HTML. Этот тег должен быть написан на первой строчке HTML документа. В нашем примере указана пятая версия HTML (т.е. HTML5). Более подробная информация указана на сайте Консорциума Всемирной Паутины.После идет парный тег <html></html>
. Этот тег является контейнером веб страницы, то есть после него ничего не должно быть, а перед ним только тег DOCTYPE
.
В парном теге <head></head>
пишется обязательный тег <title></title>
. В теге title
пишется заголовок страницы, который отображается в выдаче поисковика и во вкладке браузера. В контейнере <head></head>
обычно находятся различные мета-теги и подключаются стили и скрипты, больше он не для чего не нужен.
Весь текст, графика и прочий код должен находиться внутри тегов
. В данном примере HTML документа создан заголовок первого уровня и абзац. Обратите внимание, что они находятся внутри тега <body>
. Более подробно разберем выше представленный код в следующих параграфах.
Английские слова по теме
Рано или поздно вы столкнетесь с англоязычными справочниками и руководствами. Вся свежая информация по фронтенду и различным веб технологиям (впрочем, по всему) пишется на английском языке, а потом переводится. Интернациональные слова здесь не стал приводить.
Markup – разметка; display – отображать; development, design – разработка; layout, page-proofs – верстка; search results – поисковая выдача; heading – заголовок.
Похожие уроки и записи блога
Первое знакомство с PythonЗнакомство с Python
Модули в PythonЗнакомство с Python
Теги в HTML. Одинарные и парные тегиЗнакомство с HTML
Типы данных в PythonЗнакомство с Python
Погружение в PythonЗнакомство с Python
Свойство background для работы с фономЦвета и фон
Первое знакомство с PHPБлог
Основы объектно-ориентированного программирования (ООП) в PythonЗнакомство с Python
Написание модулей в PythonЗнакомство с Python
Предыдущий урок «1. Вводный урок по курсу HTML и CSS» Следующий урок «3. Первое знакомство с HTML»
Что такое XML
Язык XML предназначен для хранения и передачи данных. HTML же предназначен для отображения данных.
Прежде чем продолжить, убедитесь, что вы обладаете базовыми знаниями в HTML. Если вы не знаете что такое HTML, то разобраться в этом вам поможет учебник HTML для начинающих. Итак,
Что такое XML?
- XML — аббревиатура от англ. eXtensible Markup Language (пер. расширяемый язык разметки).
- XML – язык разметки, который напоминает HTML.
- XML предназначен для передачи данных, а не для их отображения.
- Теги XML не предопределены. Вы должны сами определять нужные теги.
- XML описан таким образом, чтобы быть самоопределяемым.
Разница между XML и HTML
XML не является заменой HTML. Они предназначены для решения разных задач: XML решает задачу хранения и транспортировки данных, фокусируясь на том, что такое эти самые данные, HTML же решает задачу отображения данных, фокусируясь на том, как эти данные выглядят. Таким образом, HTML заботится об отображении информации, а XML о транспортировке информации.
XML ничего не делает
Возможно вам будет несколько странным это узнать, но XML ничего не делает. Он был создан для структурирования, хранения и передачи информации.
Следующий пример представляет некую заметку от Джени к Тови, сохраненную в формате XML:
<?xml version="1.0" encoding="UTF-8"?> <note> <to>Tove</to> <from>Jani</from> <heading>Напоминание</heading> <body>Не забудь обо мне в эти выходные!</body> </note>
Приведенная запись вполне самоописательна. Здесь есть информация об отправителе и получателе. Также присутствуют данные заголовка и само сообщение.
В XML вы изобретаете свои собственные теги
Теги в вышеприведенном примере (например, <to> и <from>) не определяются никакими стандартами XML. Эти теги были «изобретены» автором этого XML документа.
Все потому, что в языке XML нет предопределенных тегов.
Так, в HTML все используемые теги предопределены. HTML документы могут использовать только те теги, которые определяются в стандартах HTML (<p>, <li> и т. д.).
XML позволяет автору определять свои языковые теги и свою структуру документа.
XML – это не замена HTML
XML – это дополнение HTML.
Важно понять, что XML не является заменой HTML. В большинстве веб-приложениях XML используется для транспортировки данных, а HTML для форматирования и отображения данных.
XML – это программно- и аппаратно-независимый инструмент для транспортировки информации.
XML – везде
В настоящее время XML также важен для сети, как когда-то был важен HTML для рождения современного Интернета. XML – это общий инструмент передачи данных между всеми видами приложений.
Объяснение NTLM: определение, протоколы и многое другое
Для чего используется NTLM?
Windows New Technology LAN Manager (NTLM) — это набор протоколов безопасности, предлагаемых Microsoft для аутентификации пользователей и защиты целостности и конфиденциальности их действий. По своей сути NTLM представляет собой инструмент единого входа (SSO) , который использует протокол запроса-ответа для подтверждения пользователя, не требуя от него ввода пароля.
Несмотря на известные уязвимости, NTLM по-прежнему широко используется даже в новых системах для обеспечения совместимости с устаревшими клиентами и серверами. Хотя Microsoft по-прежнему поддерживает NTLM, он был заменен Kerberos в качестве протокола проверки подлинности по умолчанию в Windows 2000 и последующих доменах Active Directory (AD).
Как работает протокол NTLM?
NTLM аутентифицирует пользователей с помощью механизма запроса-ответа . Этот процесс состоит из трех сообщений:
- Сообщение согласования от клиента
- Сообщение о вызове с сервера
- Сообщение аутентификации от клиента
Процесс аутентификации NTLM
Аутентификация NTLM обычно следует следующему пошаговому процессу:
- Пользователь делится своим именем пользователя, паролем и доменным именем с клиентом.
- Клиент создает зашифрованную версию пароля — или хэш — и удаляет полный пароль.
- Клиент передает текстовую версию имени пользователя соответствующему серверу.
- Сервер отвечает клиенту вызовом, представляющим собой 16-байтовое случайное число.
- В ответ клиент отправляет вызов, зашифрованный хешем пароля пользователя.
- Затем сервер отправляет запрос, ответ и имя пользователя на контроллер домена (DC).
- Контроллер домена извлекает пароль пользователя из базы данных и использует его для шифрования запроса.
- Затем контроллер домена сравнивает зашифрованный запрос и ответ клиента. Если эти две части совпадают, то пользователь аутентифицируется и ему предоставляется доступ.
В чем разница между NTLM и Kerberos?
Подобно NTLM, Kerberos — это протокол проверки подлинности. Он заменил NTLM в качестве стандартного инструмента проверки подлинности по умолчанию в Windows 2000 и более поздних версиях.
Основное различие между NTLM и Kerberos заключается в том, как эти два протокола управляют проверкой подлинности. NTLM использует трехстороннее рукопожатие между клиентом и сервером для аутентификации пользователя. Kerberos использует процесс, состоящий из двух частей, который использует службу выдачи билетов или центр распределения ключей.
Еще одно важное отличие заключается в том, хешируются пароли или шифруются. NTLM использует хеширование пароля , которое представляет собой одностороннюю функцию, которая создает строку текста на основе входного файла; Kerberos использует шифрование , которое представляет собой двустороннюю функцию, которая шифрует и разблокирует информацию с использованием ключа шифрования и ключа дешифрования соответственно.
Несмотря на то, что сегодня протокол Kerberos является методом проверки подлинности Microsoft по умолчанию, NTLM служит в качестве резервного. Если Kerberos не сможет аутентифицировать пользователя, система вместо этого попытается использовать NTLM.
Почему NTLM был заменен на Kerberos?
NTLM подвергался нескольким известным уязвимостям безопасности, связанным с хешированием и добавлением соли паролей.
В NTLM пароли, хранящиеся на сервере и контроллере домена, не являются « с солью » — это означает, что к хешированному паролю не добавляется случайная строка символов для дополнительной защиты от методов взлома. Это означает, что злоумышленникам, обладающим хэшем пароля, не нужен базовый пароль для аутентификации сеанса. В результате системы были уязвимы для атаки грубой силы , когда злоумышленник пытается взломать пароль с помощью нескольких попыток входа в систему. Если пользователь выбирает слабый или распространенный пароль, он особенно восприимчив к такой тактике.
Криптография NTLM также не использует преимущества новых достижений в алгоритмах и шифровании, которые значительно повышают возможности безопасности.
Протокол Kerberos
Kerberos был разработан исследователями из Массачусетского технологического института (MIT) в 1980-е годы. Название происходит от греческого мифологического персонажа Кербера, трехголового пса, охраняющего подземный мир.
На практике три компонента безопасности в протоколе Kerberos представлены как:
- Клиент, ищущий аутентификацию
- Сервер, к которому клиент хочет получить доступ
- Служба продажи билетов или центр выдачи ключей (KDC)
Аутентификация Kerberos
Вот процесс аутентификации Kerberos из двенадцати шагов:
- Пользователь делится своим именем пользователя, паролем и доменным именем с клиентом.
- Клиент собирает пакет — или средство проверки подлинности, — который содержит всю необходимую информацию о клиенте, включая имя пользователя, дату и время. Вся информация, содержащаяся в аутентификаторе, кроме имени пользователя, шифруется паролем пользователя.
- Клиент отправляет зашифрованный аутентификатор в KDC.
- KDC проверяет имя пользователя, чтобы установить личность клиента. Затем KDC проверяет базу данных AD на наличие пароля пользователя. Затем он пытается расшифровать аутентификатор с помощью пароля. Если KDC может расшифровать аутентификатор, личность клиента проверяется.
- После проверки личности клиента KDC создает билет или сеансовый ключ, который также шифруется и отправляется клиенту.
- Билет или ключ сеанса хранится в области уведомлений Kerberos клиента; билет можно использовать для доступа к серверу в течение установленного периода времени, который обычно составляет 8 часов.
- Если клиенту необходимо получить доступ к другому серверу, он отправляет исходный билет в KDC вместе с запросом на доступ к новому ресурсу.
- KDC расшифровывает билет с помощью своего ключа. (Клиенту не нужно аутентифицировать пользователя, потому что KDC может использовать билет, чтобы убедиться, что личность пользователя была подтверждена ранее).
- KDC создает обновленный билет или ключ сеанса, чтобы клиент мог получить доступ к новому общему ресурсу. Этот билет также зашифрован ключом сервера. Затем KDC отправляет этот билет клиенту.
- Клиент сохраняет этот новый ключ сеанса в своем лотке Kerberos и отправляет копию на сервер.
- Сервер использует собственный пароль для расшифровки билета.
- Если сервер успешно расшифровывает сеансовый ключ, то билет является законным. Затем сервер откроет билет и просмотрит список управления доступом (ACL), чтобы определить, есть ли у клиента необходимые разрешения для доступа к ресурсу.
Приложения, использующие NTLM
NTLM был заменен в качестве протокола проверки подлинности по умолчанию в Windows 2000 на Kerberos. Однако NTLM по-прежнему поддерживается во всех системах Windows в целях совместимости между старыми клиентами и серверами.
Например, компьютеры, работающие под управлением Windows 95, Windows 98 или Windows NT 4.0, будут использовать протокол NTLM для проверки подлинности в сети с доменом Windows 2000. Тем временем компьютеры под управлением Windows 2000 будут использовать NTLM при аутентификации серверов с Windows NT 4.0 или более ранней версии, а также при доступе к ресурсам в доменах Windows 2000 или более ранней версии. NTLM также используется для аутентификации локальных входов в систему с контроллерами, не входящими в домен.
Преимущества и недостатки NTLM
Протокол NTLM считается устаревшим. Таким образом, его преимущества по сравнению с более современным решением, таким как Kerberos, ограничены. Тем не менее, первоначальное обещание NTLM остается верным: клиенты используют хеширование паролей, чтобы избежать отправки незащищенных паролей по сети.
На данный момент использование аутентификации NTLM имеет несколько очевидных недостатков:
- Одиночная аутентификация. NTLM — это единственный метод проверки подлинности. Для установления пользователя он использует протокол запрос-ответ. Он не поддерживает многофакторную аутентификацию (MFA), которая представляет собой процесс использования двух или более фрагментов информации для подтверждения личности пользователя.
- Уязвимости безопасности. Относительно упрощенная форма хеширования паролей делает системы NTLM уязвимыми для нескольких видов атак, включая атаки с передачей хэша и методом грубой силы.
Как защитить сеть с помощью NTLM?
Учитывая известные риски безопасности, связанные с NTLM, CrowdStrike рекомендует организациям максимально сократить использование NTLM в своей сети.
Для организаций, которые все еще полагаются на NTLM из соображений совместимости, CrowdStrike предлагает следующие рекомендации по повышению безопасности и минимизации рисков.
- Принудительное применение средств защиты NTLM. Чтобы полностью защититься от ретрансляционных атак NTLM, вам необходимо включить подписывание серверов и EPA на всех соответствующих серверах.
- Патч! Убедитесь, что ваши системы полностью защищены с помощью последних обновлений безопасности от Microsoft.
- Используйте передовые технологии. Применить передовые методы обнаружения и предотвращения ретрансляции NTLM, аналогичные тем, которые были раскрыты Preempt (теперь CrowdStrike) в нашем выступлении Black Hat 2019.
- Определение слабых вариантов. Некоторые клиенты NTLM используют слабые варианты NTLM (например, не отправляют MIC). Это подвергает вашу сеть большему риску быть уязвимой для ретрансляции NTLM.
- Мониторинг трафика NTLM в вашей сети. Попробуйте ограничить небезопасный трафик NTLM.
Избавьтесь от клиентов, отправляющих ответы LM, и задайте сетевую безопасность объекта групповой политики (GPO): уровень проверки подлинности LAN Manager для отказа от ответов LM.
Microsoft NTLM — приложения Win32
Редактировать
Твиттер LinkedIn Фейсбук Электронное письмо
- Статья
- 2 минуты на чтение
Windows Challenge/Response (NTLM) — это протокол проверки подлинности, используемый в сетях, включающих системы, работающие под управлением операционной системы Windows, и в автономных системах.
Пакет безопасности Microsoft Kerberos обеспечивает большую безопасность, чем NTLM, для систем в сети. Хотя Microsoft Kerberos является предпочтительным протоколом, NTLM по-прежнему поддерживается. NTLM также необходимо использовать для проверки подлинности при входе в автономные системы. Дополнительные сведения о Kerberos см. в разделе Microsoft Kerberos.
Учетные данные NTLM основаны на данных, полученных в процессе интерактивного входа в систему, и состоят из доменного имени, имени пользователя и одностороннего хэш пароля пользователя. NTLM использует зашифрованный протокол запроса/ответа для аутентификации пользователя без отправки пароля пользователя по сети. Вместо этого система, запрашивающая аутентификацию, должна выполнить вычисление, подтверждающее, что у нее есть доступ к защищенным учетным данным NTLM.
Интерактивная проверка подлинности NTLM по сети обычно включает две системы: клиентскую систему, где пользователь запрашивает проверку подлинности, и контроллер домена, где хранится информация, связанная с паролем пользователя. Неинтерактивная проверка подлинности, которая может потребоваться, чтобы позволить уже вошедшему в систему пользователю получить доступ к ресурсу, такому как серверное приложение, обычно включает три системы: клиент, сервер и контроллер домена, который выполняет расчеты проверки подлинности от имени сервера. .
Следующие шаги представляют схему неинтерактивной проверки подлинности NTLM. Первый шаг предоставляет учетные данные пользователя NTLM и выполняется только как часть процесса интерактивной проверки подлинности (входа в систему).
(только интерактивная проверка подлинности) Пользователь получает доступ к клиентскому компьютеру и предоставляет доменное имя, имя пользователя и пароль. Клиент вычисляет криптографический хэш пароля и отбрасывает фактический пароль.
Клиент отправляет имя пользователя на сервер (в открытый текст ).
Сервер генерирует 8-байтовое случайное число, называемое вызовом или одноразовым номером , и отправляет его клиенту.
Клиент шифрует этот вызов хэшем пароля пользователя и возвращает результат на сервер. Это называется ответом .
Сервер отправляет контроллеру домена следующие три элемента:
- Имя пользователя
- Вызов отправлен клиенту
- Получен ответ от клиента
Контроллер домена использует имя пользователя для извлечения хэша пароля пользователя из базы данных диспетчера учетных записей безопасности.