По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Существует большое количество методов аутентификации клиентов беспроводных сетей при подключении. Эти методы появлялись по мере развития различных беспроводных технологий и беспроводного оборудования. Они развивались по мере выявления слабых мест в системе безопасности. В этой статье рассматриваются наиболее распространенные методы проверки подлинности. Открытая аутентификация Стандарт 802.11 предлагал только два варианта аутентификации клиента: open authentication и WEP. Open authentication-предполагает открытый доступ к WLAN. Единственное требование состоит в том, чтобы клиент, прежде чем использовать 802.11, должен отправить запрос аутентификации для дальнейшего подключения к AP (точке доступа). Более никаких других учетных данных не требуется. В каких случаях используется open authentication? На первый взгляд это не безопасно, но это не так. Любой клиент поддерживающий стандарт 802.11 без проблем может аутентифицироваться для доступа к сети. В этом, собственно, и заключается идея open authentication-проверить, что клиент является допустимым устройством стандарта 802.11, аутентифицируя беспроводное оборудование и протокол. Аутентификация личности пользователя проводится другими средствами безопасности. Вы, вероятно, встречали WLAN с open authentication, когда посещали общественные места. В таких сетях в основном аутентификация осуществляется через веб-интерфейс. Клиент подключается к сети сразу же, но предварительно должен открыть веб-браузер, чтобы прочитать и принять условия использования и ввести основные учетные данные. С этого момента для клиента открывается доступ к сети. Большинство клиентских операционных систем выдают предупреждение о том, что ваши данные, передаваемые по сети, не будут защищены. WEP Как вы понимаете, open authentication не шифрует передаваемые данные от клиента к точке доступа. В стандарте 802.11 определен Wired Equivalent Privacy (WEP). Это попытка приблизить беспроводную связь к проводному соединению. Для кодирования данных WEP использует алгоритм шифрования RC4. Данный алгоритм шифрует данные у отправителя и расшифровывает их у получателя. Алгоритм использует строку битов в качестве ключа, обычно называемого WEP- ключом. Один кадр данных-один уникальный ключ шифрования. Расшифровка данных осуществляется только при наличии ключа и у отправителя, и у получателя. WEP- это метод безопасности с общим ключом. Один и тот же ключ должен быть как у отправителя, так и получателя. Этот ключ размещается на устройствах заранее. WEP-ключ также может использоваться в качестве дополнительного метода аутентификации, а также инструмента шифрования. Если клиент отправляет неправильный ключ WEP, он не подключится к точке доступа. Точка доступа проверяет знание клиентом ключа WEP, посылая ему случайную фразу вызова. Клиент шифрует фразу вызова с помощью WEP и возвращает результат точке доступа (АР). АР сравнивает шифрование клиента со своим собственным, чтобы убедиться в идентичности двух ключей WEP. Длина WEP - ключей могут быть длиной 40 или 104 бита, представленные в шестнадцатеричной форме из 10 или 26 цифр. Как правило, более длинные ключи предлагают более уникальные биты для алгоритма, что приводит к более надежному шифрованию. Это утверждение не относится к WEP. Так как WEP был определен в стандарте 802.11 в 1999 году, и соответственно сетевые беспроводные адаптеры производились с использованием шифрования, специфичного для WEP. В 2001 году были выявлены слабые места WEP, и началась работа по поиску более совершенных методов защиты беспроводной связи. К 2004 году поправка 802.11i была ратифицирована, и WEP официально устарел. Шифрование WEP и аутентификация с общим ключом WEP являются слабыми методами защиты WLAN. 802.1x/EAP При наличии только open authentication и WEP, доступных в стандарте 802.11, требовался более безопасный метод аутентификации. Аутентификация клиента обычно включает в себя отправку запроса, получение ответа, а затем решение о предоставлении доступа. Помимо этого, возможен обмен ключами сессии или ключами шифрования в дополнение к другим параметрам, необходимым для клиентского доступа. Каждый метод аутентификации может иметь уникальные требования как уникальный способ передачи информации между клиентом и точкой доступа. Вместо того чтобы встроить дополнительные методы аутентификации в стандарт 802.11, была выбрана более гибкая и масштабируемая структура аутентификации-разработан расширяемый протокол аутентификации (EAP). Как следует из его названия, EAP является расширяемым и не состоит из какого-либо одного метода аутентификации. Вместо этого EAP определяет набор общих функций, которые применяют фактические методы аутентификации, используемые для аутентификации пользователей. EAP имеет еще одно интересное качество: он интегрируется со стандартом управления доступом на основе портов стандарта IEEE 802.1X. Когда порт стандарта 802.1X включен, он ограничивает доступ к сетевому носителю до тех пор, пока клиент не аутентифицируется. Это означает, что беспроводной клиент способен связываться с точкой доступа, но не сможет передавать данные в другую часть сети, пока он успешно не аутентифицируется. Open authentication и WEP аутентификация беспроводных клиентов выполняется локально на точке доступа. В стандарте 802.1 x принцип аутентификации меняется. Клиент использует открытую аутентификацию для связи с точкой доступа, а затем фактический процесс аутентификации клиента происходит на выделенном сервере аутентификации. На рисунке 1 показана трехсторонняя схема стандарта 802.1x, состоящая из следующих объектов: Клиент: клиентское устройство, запрашивающее доступ Аутентификатор: сетевое устройство, обеспечивающее доступ к сети (обычно это контроллер беспроводной локальной сети [WLC]) Сервер аутентификации (AS): устройство, принимающее учетные данные пользователя или клиента и разрешающее или запрещающее доступ к сети на основе пользовательской базы данных и политик (обычно сервер RADIUS) На рисунке клиент подключен к точке доступа через беспроводное соединение. AP представляет собой Аутентификатор. Первичное подключение происходит по стандарту open authentication 802.11. Точка доступа подключена к WLC, который, в свою очередь, подключен к серверу аутентификации (AS). Все в комплексе представляет собой аутентификацию на основе EAP. Контроллер беспроводной локальной сети является посредником в процессе аутентификации клиента, контролируя доступ пользователей с помощью стандарта 802.1x, взаимодействуя с сервером аутентификации с помощью платформы EAP. Далее рассмотрим некоторые вариации протокола защиты EAP LEAP Первые попытки устранить слабые места в протоколе WEP компания Cisco разработала собственный метод беспроводной аутентификации под названием Lightweight EAP (LEAP). Для проверки подлинности клиент должен предоставить учетные данные пользователя и пароля. Сервер проверки подлинности и клиент обмениваются челендж сообщениями, которые затем шифруются и возвращаются. Это обеспечивает взаимную аутентификацию. Аутентификация между клиентом и AS осуществляется только при успешной расшифровке челендж сообщений. На тот момент активно использовалось оборудование, работавшее с WEP- протоколом. Разработчики протокола LEAP пытались устранить слабые места WEP применением динамических, часто меняющихся ключей WEP. Тем не менее, метод, используемый для шифрования челендж сообщений, оказался уязвимым. Это послужило поводом признать протокол LEAP устаревшим. Существуют организации, которые все еще используют данный протокол. Не рекомендуется подключаться к таким сетям. EAP-FAST EAP-FAST (Flexible Authentication by Secure Tunneling) безопасный метод, разработанный компанией Cisco. Учетные данные для проверки подлинности защищаются путем передачи зашифрованных учетных данных доступа (PAC) между AS и клиентом. PAC- это форма общего секрета, который генерируется AS и используется для взаимной аутентификации. EAP-FAST- это метод состоящий из трех последовательных фаз: Фаза 0: PAC создается или подготавливается и устанавливается на клиенте. Фаза 1: после того, как клиент и AS аутентифицировали друг друга обсуждают туннель безопасности транспортного уровня (TLS). Фаза 2: конечный пользователь может быть аутентифицирован через туннель TLS для дополнительной безопасности. Обратите внимание, что в EAP-FAST происходят два отдельных процесса аутентификации-один между AS и клиентом, а другой с конечным пользователем. Они происходят вложенным образом, как внешняя аутентификация (вне туннеля TLS) и внутренняя аутентификация (внутри туннеля TLS). Данный метод, основанный на EAP, требует наличие сервера RADIUS. Данный сервер RADIUS должен работать как сервер EAP-FAST, чтобы генерировать пакеты, по одному на пользователя. PEAP Аналогично EAP-FAST, защищенный метод EAP (PEAP) использует внутреннюю и внешнюю аутентификацию, однако AS предоставляет цифровой сертификат для аутентификации себя с клиентом во внешней аутентификации. Если претендент удовлетворен идентификацией AS, то они строят туннель TLS, который будет использоваться для внутренней аутентификации клиента и обмена ключами шифрования. Цифровой сертификат AS состоит из данных в стандартном формате, идентифицирующих владельца и "подписанных" или подтвержденных третьей стороной. Третья сторона известна как центр сертификации (CA) и известна и доверяет как AS, так и заявителям. Претендент также должен обладать сертификатом CA только для того, чтобы он мог проверить тот, который он получает от AS. Сертификат также используется для передачи открытого ключа на видном месте, который может быть использован для расшифровки сообщений из AS. Обратите внимание, что только AS имеет сертификат для PEAP. Это означает, что клиент может легко подтвердить подлинность AS. Клиент не имеет или не использует свой собственный сертификат, поэтому он должен быть аутентифицирован в туннеле TLS с помощью одного из следующих двух методов: MSCHAPv2; GTC (универсальная маркерная карта): аппаратное устройство, которое генерирует одноразовые пароли для пользователя или вручную сгенерированный пароль; EAP-TLS PEAP использует цифровой сертификат на AS в качестве надежного метода для аутентификации сервера RADIUS. Получить и установить сертификат на одном сервере несложно, но клиентам остается идентифицировать себя другими способами. Безопасность транспортного уровня EAP (EAP-TLS) усиливает защиту, требуя сертификаты на AS и на каждом клиентском устройстве. С помощью EAP-TLS AS и клиент обмениваются сертификатами и могут аутентифицировать друг друга. После этого строится туннель TLS, чтобы можно было безопасно обмениваться материалами ключа шифрования. EAP-TLS считается наиболее безопасным методом беспроводной аутентификации, однако при его реализации возникают сложности. Наряду с AS, каждый беспроводной клиент должен получить и установить сертификат. Установка сертификатов вручную на сотни или тысячи клиентов может оказаться непрактичной. Вместо этого вам нужно будет внедрить инфраструктуру открытых ключей (PKI), которая могла бы безопасно и эффективно предоставлять сертификаты и отзывать их, когда клиент или пользователь больше не будет иметь доступа к сети. Это обычно включает в себя создание собственного центра сертификации или построение доверительных отношений со сторонним центром сертификации, который может предоставлять сертификаты вашим клиентам.
img
В этой статье посмотрим как можно отправлять электронные письма при помощи Python. Есть и более простые способы это сделать, но мне больше подошел именно следующий вариант. Итак, вот как это выглядит: у вас есть имена и адреса электронной почты некоторой группы контактов. И вы хотите отправить каждому из них письмо, добавив в начале сообщения «Уважаемый [имя]». Для простоты вы можете хранить всю контактную информацию просто в файле, а не в базе данных. Также вы можете сохранить в файл шаблон сообщения, которое вы хотите отправить. Модуль smtplib в Python – это практически все, что вам понадобиться для отправки простых электронных писем без заполнения темы письма или какой-либо еще дополнительной информации. Но, конечно, для настоящих писем вам необходимо заполнить строку темы письма и другую информацию, и, возможно, даже прикрепить изображения или какие-то другие вложения. Вот тут и приходит на помощь пакет email в Python. Имейте в виду, что нельзя отправить сообщение через электронную почту, используя только этот пакет. Вам необходимо совместить email и smtplib. Обязательно ознакомьтесь с подробной официальной документацией для каждого из этих пакетов. Вот четыре основных шага для отправки электронных писем с помощью Python: Настройте SMTP-сервер и войдите в свою учетную запись. Создайте объект сообщения MIMEMultipart и загрузите его с соответствующими заголовками для полей From (От), To (Кому) и Subject (Тема). Добавьте тело сообщения. Отправьте сообщение с помощью объекта SMTP-сервера. А теперь давайте рассмотрим весь процесс. Допустим, что у вас есть файл контактов mycontacts.txt, который выглядит вот так: user@computer ~ $ cat mycontacts.txt john johndoe@example.com katie katie2016@example.com Каждая строка соответствует одному контакту. В каждой строке пишется имя, а за ним следует адрес электронной почты. У меня все сохранено в нижнем регистре. Я оставлю преобразования любых полей или некоторых начальных букв в верхний регистр логике программирования, если это будет необходимо. В Python это все довольно просто. Далее у нас есть файл с шаблоном сообщения message.txt. user@computer ~ $ cat message.txt Dear ${PERSON_NAME}, This is a test message. Have a great weekend! Yours Truly Обратили внимание на ${PERSON_NAME}? Это шаблонная строка в Python. Шаблонные строки можно легко заменить другими строками; в данном примере ${PERSON_NAME} будет заменено настоящим именем человека (вы скоро это увидите). А теперь давайте перейдем к коду Python. Для начала нам необходимо прочитать контакты из файла mycontacts.txt. Мы, кстати, можем обобщить это в отдельную функцию. # Function to read the contacts from a given contact file and return a # list of names and email addresses def get_contacts(filename): names = [] emails = [] with open(filename, mode='r', encoding='utf-8') as contacts_file: for a_contact in contacts_file: names.append(a_contact.split()[0]) emails.append(a_contact.split()[1]) return names, emails Функция get_contacts() в качестве аргумента принимает имя файла. Она откроет этот файл, прочитает каждую строку (то есть каждый контакт), разделит их на имя и адрес электронной почты, а затем добавит их в два отдельных списка. И, наконец, в качестве результата работы функции возвращаются эти два списка. Также нам нужна функция для того, чтобы прочитать шаблон сообщения (такой как message.txt) и вернуть объект типа Template, созданный из его содержимого. from string import Template def read_template(filename): with open(filename, 'r', encoding='utf-8') as template_file: template_file_content = template_file.read() return Template(template_file_content) Как и предыдущая функция, в качестве аргумента она принимает имя файла. Для того, чтобы отправить письмо, вам необходимо использовать протокол SMTP (Simple Mail Transfer Protocol – протокол простого обмена электронной почтой). Как уже упоминалось ранее, у Python есть необходимые для этого библиотеки. # import the smtplib module. It should be included in Python by default import smtplib # set up the SMTP server s = smtplib.SMTP(host='your_host_address_here', port=your_port_here) s.starttls() s.login(MY_ADDRESS, PASSWORD) В приведенном выше фрагменте кода вы импортируете smtplib, а затем создаете экземпляр SMTP, который формирует SMTP-соединение. В качестве параметра он принимает адрес хоста и номер порта, оба эти параметра полностью зависят от настроек SMTP вашего поставщика услуг электронной почты. Например, в случае Outlook строка под номером 4 будет выглядеть вот так: s = smtplib.SMTP(host='smtp-mail.outlook.com', port=587) Для того, чтобы все работало, вам необходимо использовать адрес хоста и номер порта конкретно вашего поставщика услуг электронной почты. MY_ADDRESS и PASSWORD – это две переменные, которые содержат полный адрес электронной почты и пароль от учетной записи, которую вы собираетесь использовать. А теперь самое время получить контактную информацию и шаблон сообщения, используя функции, которые мы определили ранее. names, emails = get_contacts('mycontacts.txt') # read contacts message_template = read_template('message.txt') А теперь давайте отправим отдельное письмо каждому из этих контактов. # import necessary packages from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # For each contact, send the email: for name, email in zip(names, emails): msg = MIMEMultipart() # create a message # add in the actual person name to the message template message = message_template.substitute(PERSON_NAME=name.title()) # setup the parameters of the message msg['From']=MY_ADDRESS msg['To']=email msg['Subject']="This is TEST" # add in the message body msg.attach(MIMEText(message, 'plain')) # send the message via the server set up earlier. s.send_message(msg) del msg Для каждого name (имя) и email (адрес электронной почты) (из файла с контактами) вы создаете объект MIMEMultipart, настраиваете заголовки типов содержимого From (от), To (кому), Subject (тема) как словарь ключевых слов, а затем прикрепляете тело сообщения к объекту MIMEMultipart в виде обычного текста. Возможно, вам захочется прочитать документацию, чтобы узнать больше о других типах MIME, с которыми вы также можете поэкспериментировать. Также обратите внимание, что в строке 10 выше я заменяю ${PERSON_NAME} фактическим именем, которое было извлечено из файла с контактами с помощью механизма шаблонизации в Python. В данном конкретном примере я каждый раз удаляю объект MIMEMultipart и создаю его заново при каждой итерации цикла. Как только вы проделаете все это, то сможете отправить сообщение, используя простую удобную функцию send_message() объекта SMTP, который вы создали ранее. А вот и полный код: import smtplib from string import Template from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText MY_ADDRESS = 'my_address@example.comm' PASSWORD = 'mypassword' def get_contacts(filename): """ Return two lists names, emails containing names and email addresses read from a file specified by filename. """ names = [] emails = [] with open(filename, mode='r', encoding='utf-8') as contacts_file: for a_contact in contacts_file: names.append(a_contact.split()[0]) emails.append(a_contact.split()[1]) return names, emails def read_template(filename): """ Returns a Template object comprising the contents of the file specified by filename. """ with open(filename, 'r', encoding='utf-8') as template_file: template_file_content = template_file.read() return Template(template_file_content) def main(): names, emails = get_contacts('mycontacts.txt') # read contacts message_template = read_template('message.txt') # set up the SMTP server s = smtplib.SMTP(host='your_host_address_here', port=your_port_here) s.starttls() s.login(MY_ADDRESS, PASSWORD) # For each contact, send the email: for name, email in zip(names, emails): msg = MIMEMultipart() # create a message # add in the actual person name to the message template message = message_template.substitute(PERSON_NAME=name.title()) # Prints out the message body for our sake print(message) # setup the parameters of the message msg['From']=MY_ADDRESS msg['To']=email msg['Subject']="This is TEST" # add in the message body msg.attach(MIMEText(message, 'plain')) # send the message via the server set up earlier. s.send_message(msg) del msg # Terminate the SMTP session and close the connection s.quit() if __name__ == '__main__': main()
img
Давайте окунемся в историю. Начиная с конца 1990-х, все коммутаторы Cisco поддерживали проприетарный протокол, который помогал инженерам настраивать одинаковые VLAN-ы на нескольких коммутаторах одновременно, и этот протокол называлcя Virtual Trunking Protocol (VTP). Мы не будем погружаться в детали работы VTP, но коснемся того, как различные режимы работы VTP влияют на коммутаторы и настройку VLAN-ов. VLAN (Virtual Local Area Network) – виртуальная локальная сеть, помогает создавать новые бродкастные домены, увеличивает сегментацию и безопасность сети. Изначально, Cisco поддерживала другой транковый протокол – Cisco Inter – Switch Link (ISL). Так как данный протокол поддерживал только создание VLAN-ов в диапазоне 1-1005, ранние версии VTP также поддерживали только данные VLAN-ы. Это означает, что если вы используете VTP версии 1 или 2 (по умолчанию), у вас будут доступны только VLAN-ы с 1 по 1001 (1002 – 1005 всегда зарезервированы). Катализатором изменений во много являлся новый стандарт IEEE 802.1Q, а именно, произошло увеличение количества поддерживаемых VLAN-ов до 4 094 штук – за исключением зарезервированных. Такая новость очень пришлась по вкусу инженерам, так как в большой сети возросшее количество VLAN-ов очень помогло в отношении гибкости и удобства. Но при этом третья версия VTP появилась только в 2009 году, поэтому многие привыкли настраивать сеть без использования VTP. Как это влияет на настройку VLAN-ов, спросите вы? Все коммутаторы Cisco поддерживают стандарт IEEE 802.1Q (некоторые так вообще поддерживают только его), некоторые свитчи поставляются с включенным VTP сервером, что означает, что из коробки они поддерживают только тысячу с небольшим VLAN-ов. Чтобы получить доступ ко всему диапазону VLAN-ов, необходимо настроить VTP версии 3, затем поставить его в прозрачный режим, либо просто выключить VTP целиком. Не все коммутаторы Cisco поддерживают 4 090 VLAN-ов. Это ограничение оборудования, как такового. При покупке оборудования из нижнего ценового диапазона, обязательно проверяйте этот момент в даташите Команды для настройки VLAN Ниже указаны основные необходимые для создания VLAN-а команды на коммутаторе: conf t - вход в режим конфигурации коммутатора; vlan %номер vlan-а% - создаие VLAN-а, нужно указать номер; name %имя vlan-а% - также VLAN-у можно присвоить имя; VLAN не будет создан, пока вы не выйдете из режима настройки VLAN-а. Однако, существует еще один способ создания VLAN-а – с помощью назначения интерфейса в VLAN. conf t - вход в режим конфигурации коммутатора; interface %номер интерфейса% - вход в конкретный интерфейс; switchport access vlan %номер vlan-а% - присваиваем VLAN интерфейсу, если VLAN не существовал, он будет автоматически создан; Как удалить VLAN? Об этом ниже: conf t - вход в режим конфигурации коммутатора no vlan %номер vlan-а% - удаление VLAN-а Для проверки созданных VLAN-ов, используйте следующие команды: show vlan show vlan brief Так как VTP по умолчанию настроен в режиме сервера на большинстве коммутаторов, создание VLAN-ов за пределами стандартного диапазона приведут к неудаче (способами, описанными выше). Ошибка вылетит только при выходе из режима конфигурации VLAN-а. Чтобы исправить данную проблему, необходимо переключить версию VTP на третью, или же режим VTP должен быть переключен на transparent или полностью выключен. Ниже показаны команды для изменения режима работы VTP. conf t - вход в режим конфигурации коммутатора; vtp mode {server / client / transparent / off} - настройка режима VTP, для использования расширенного диапазона VLAN-ов, вам нужны transparent или off; Маленькая компания переезжает в новый офис? Теперь приведем пример настройки коммутатора согласно следующему сценарию: организация переезжает в новое здание, причем отдел продаж и отдел разработки будут находиться на одном этаже. В целях экономии средств и времени, было решено, что все устройства будут подключены через единственный коммутатор. Так как у двух вышеупомянутых отделов должны быть разные права доступа, их необходимо виртуально разделить между собой. У продавцов будет VLAN 10, и все программисты будут находиться в VLAN 20. На коммутаторе все рабочие станции продавцов будут подключены к портам Fast Ethernet 0/1 – 0/12, а у программистов к портам 0/13 – 0/24. Для этого нам необходимо будет настроить каждый интерфейс в соответствии с нужным VLAN-ом. Для этого мы будет использовать команду interface range. Итак, внимание на команды: conf t - вход в режим конфигурации коммутатора; vlan 10 - создаем VLAN для команды продавцов; vlan 20 - создаем VLAN 20 для команды программистов. Обратите внимание, что даже команда сработала, несмотря на то, что вы были в режиме конфигурации VLAN-а, как будто это был глобальный режим конфигурации; interface range fastethernet0/1-12 - проваливаемся в режим конфигурации интерфейсов 1 – 12; switchport access vlan 10 - настраиваем интерфейсы для работы в VLAN 10; interface range fastethernet0/13-24 - проваливаемся в режим конфигурации интерфейсов 13 – 24; switchport access vlan 20 - настраиваем интерфейсы для работы в VLAN 20; do wr - сохраняем конфиг; Как только вы поймете основы создания VLAN-ов, вы увидите, что это совсем несложно. Основными подводными камнями являются различные режимы коммутации, но об этом мы расскажем в следующих статьях.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59