По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
На самом деле, чего только не происходит в компьютерных сетях. Разобраться сложно, а особенно сложно, когда речь заходит об адресации и приеме/передаче данных. Вопрос усложняется тем, что каждый из адресов функционирует на своем уровне модели OSI (Open Systems Interconnection). Но, не нужно переживать. В этой статье, мы самым простым, но профессиональным языком объясним, что такое Media Access Control, или как сокращенно его называют MAC - адрес. Этот тип адреса живет на втором (канальном, или Data Link) уровне модели OSI и является главным адресом на этом уровне.Устраивайтесь поудобнее, наливайте "чайковского" - будем разбираться. Если вы не слышали про модель OSI ранее, то мы очень рекомендуем прочитать сначала статью про OSI, а потом уже приступать к изучению MAC - адреса. Media Access Control (MAC) Address - я выбираю тебя! MAC - адрес представляет собой уникальную комбинацию цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования (компьютера, сервера, роутера, порта коммутатора, да чего угодно), который, внимание, присваивается сетевой карте устройства еще на фабрике, то есть в момент производства. Да - да, MAC - адрес устройства это вам не IP - адрес устройства, который можно легко поменять. Этот адрес вшит аппаратно. Хотя, конечно, надо быть честными - как специалисты из Мытищ в гаражных условиях "перебьют" VIN номер автомобиля, так и MAC - адрес можно "перебить". MAC - адрес еще называют уникальным физическим адресом устройства, помогающим идентифицировать устройство среди миллионов других устройств. В стандарте IEEE 802, канальный (второй, Data Link) уровень модели OSI разделен на два подуровня: Logical Link Control (LLC) или подуровень управления логической связью Media Access Control (MAC) или подуровень управления доступом к среде И как раз, как можно догадаться, MAC - адрес используется на втором подуровне, Media Access Control, который является частью канального уровня модели OSI. А теперь поговорим про то, как выглядит MAC - адрес из из чего он состоит. Берем лист А4 и маркер - начинаем рисовать. Форма MAC - адреса "Я нарисоваль!" Вот картинка. Мы правда старались: Стандартный MAC выглядит примерно вот так: 00-50-B6-5B-CA-6A. Смотрите: мак - адрес это 12 - значное шестнадцатеричное число, или 6 - байтовое двоичное число. Чаще всего MAC - адрес представляют именно в шестнадцатеричной системе. На картинки мы изобразили 6 октетов (неких групп), из которых состоит MAC. Каждый из октетов состоит из 2 знаков, итого получается 12 - значное число. Первые 6 цифр (к примеру 00-50-B6) обозначают производителя сетевой карты. Его также называют OUI (Organizational Unique Identifier) - мы отобразили эту часть на картинке выше. Вот, например, известные MAC OUI популярных вендоров: CC:46:D6 - Cisco 3C:5A:B4 - Google, Inc. 3C:D9:2B - Hewlett liackard 00:9A:CD - HUAWEI TECHNOLOGIES CO.,LTD И, собственно, вторые 6 цифр (6 цифр справа) уникальны и идентифицируют NIC (Network Interface Controller). Часто, MAC адреса записывают по-разному: через тире, двоеточие, или точки. Например: 00-50-B6-5B-CA-6A - самая распространенная и привычная для всех форма записи; 00:50:B6:5B:CA:6A - форма записи используется части всего в Linux системах; 005.0b6.5bc.a6a - такой формат записи MAC - адреса используется компанией Cisco. Как узнать MAC - адрес? Итак, чтобы узнать MAC - адрес в UNIX/Linux системах, подключитесь по SSH к вашему серверу и дайте команды: ifconfig -a ip link list ip address show Чтобы узнать MAC - адрес в Windows системах, откройте командную строку машины/сервера. Сделать это можно нажав комбинацию клавиш Win + R, ввести cmd и нажать Enter. Как только откроется консоль, дайте следующие команду: ipconfig /all А если вы обладатель Macbook да и вообще OS X устройства (любите посидеть в Starbucks и здорово провести время на заводе "Флакон"), то сделать нужно следующее: Откройте в Launchliad "Терминал". Введите команду ifconfig. В строке ether будет указан MAC-адрес
img
В начале пути веб-разработки вы, скорее всего, часто будете слышать такие понятия, как аутентификация (authentication) и авторизация (authorization). И здесь не сильно помогает тот факт, что они оба обычно сокращаются до «auth», и их легко перепутать.  Из этой статьи вы узнаете: о различиях между аутентификацией и авторизацией о том, как работают эти процессы примеры авторизации и аутентификации из реальной повседневной жизни Итак, давайте начнем! Что такое аутентификация? Аутентификация – это процесс проверки учетных данных, которые предоставляет пользователь, с теми, что хранятся в системе, с целью подтверждения того факта, что пользователь является тем, за кого себя выдает. Если учетные данные совпадают, вы предоставляете пользователю доступ, если нет – то доступ для пользователя запрещается.  Методы аутентификации Однофакторная аутентификация Такой метод аутентификация обычно используется в системах с низким уровнем риска. Для этого метода требуется всего один фактор; чаще всего это пароль. Именно поэтому системы с однофакторной аутентификацией наиболее уязвимы для фишинговых атак и клавиатурных шпионов.  Плюс ко всему, в недавно опубликованной сайтом DataProt статье было продемонстрировано, что 78% представителей поколения Z используют один и тот же пароль для нескольких сервисов. А это значит, что, если злоумышленник получит доступ к одной учетной записи пользователя, то с большей долей вероятности он получит доступ и к другим с помощью того же пароля.  Двухфакторная аутентификация Метод двухфакторной аутентификации является более безопасным, поскольку он включает в себя два фактора; обычно это то, что вы знаете, например, имя пользователя и пароль, и что-то, что у вас есть или чем вы владеете, например, SMS, отправленное на ваш телефон, или маркер доступа.  Для двухфакторной аутентификации вам потребуется ввести одноразовый пароль, который был отправлен в SMS-сообщении на ваш телефон, или, возможно, код привязанного приложения-аутентификатора и предоставить код доступа, который постоянно меняется.  Как вы уже могли понять, это намного безопаснее, чем просто ввести пароль или учетные данные для аутентификации. Для того, чтобы получить доступ, вам необходимо будет не только знать учетные данные для входа в систему, но и иметь доступ к физическому устройству.  За последние несколько лет двухфакторная аутентификация стала достаточно распространенной среди различных онлайн-сервисов, а многие крупные компании используют этот метод в качестве стандартного метода аутентификации. В некоторых случаях обязательным требованием использования сервиса является настройка двухфакторной аутентификации.  Многофакторная аутентификация Если вы хотите пойти дальше и сделать процесс аутентификации еще более безопасным, то можете использовать три и более факторов. Такой формат аутентификации, как правило, работает по следующей схеме: то, что вы знаете (имя пользователя + пароль или имя пользователя + пароль + контрольный вопрос и ответ) то, что у вас есть (SMS, отправленное на ваш телефон, приложение-аутентификатор, USB-ключ) то, чем вы являетесь (отпечаток пальца, распознавание лица) Именно поэтому многофакторная аутентификация обеспечивает наибольшую защиту, поскольку для получения доступа необходимо предоставить несколько факторов, а их не так просто «взломать» или воспроизвести.  Есть у этого метода один недостаток, он же причина, по которой многофакторная аутентификация не используется в среднестатистических системах – этот метод может оказаться слишком трудным в настройке и обслуживании. И поэтому данные или система, которую вы защищаете таким образом, должны полностью оправдывать необходимость использования такой системы безопасности.  Итак, а сколько информации необходимо для аутентификации? Этот вопрос часто поднимается на многих совещаниях по архитектуре безопасности. И ответ на него следующий: «это зависит от…».  Компании часто совмещают несколько различных методов аутентификации в зависимости от специфики приложения для того, чтобы повысить уровень безопасности.  Возьмем, к примеру, банковское приложение. Оно содержит конфиденциальную информацию, и если она попадет не в те руки, то банку это грозит последствиями, которые отразятся на финансовой части и на репутации банка. Банк может совмещать вопросы личного характера, на которые пользователю необходимо ответить, с номером клиента и надежным паролем.  В случае с социальными сетями вам могут потребоваться лишь имя пользователя и пароль, которые проверяются и подтверждаются, после чего пользователю разрешается доступ. Все упирается в уровень риска и в то, кто к какой информации может получить доступ, находясь в приложении. Это позволяет определить уровень аутентификации, который вам нужен. Если вы или ваша команда неверно оцените, а именно недооцените, необходимый для вашего приложения уровень аутентификации, то вас могут привлечь к ответственности за недостаточную защиту данных в вашей системе. Именно поэтому компании нанимают специалистов по безопасности, чтобы они проконсультировали их по передовым методам и нашли подходящие решение.  Как работает аутентификация в реальной жизни? Для примера возьмем аккаунт в социальной сети. Вы выбираете социальную сеть (сайт размещен на сервере), которую вы больше предпочитаете. Сервер потребует предоставить учетные данные для доступа к сайту через страницу входа в систему. Здесь вы должны ввести свое имя пользователя и пароль, которые были использованы для создания учетной записи.  Иллюстрация процесса аутентификации После чего эти данные отправляются на сервер, и начинается процесс аутентификации. Данные, которые вы предоставили, проверяются в базе данных сервера, и в случае, если они совпадают с данными в записи, вы проходите процесс аутентификации. Затем вам предоставляется форма данных, подтверждающих личность, например, cookie-файл или веб-токен JSON (JWT – JSON Web Token).  Отлично! Вы получили доступ к сайту и вошли в учетную запись.  Теперь рассмотрим процесс авторизации. Что такое авторизация? Авторизация – это процесс проверки того, что вам разрешен доступ к определенной области приложения или что вы можете выполнять определенные действия на основании определенных критериев или условий, которые были установлены приложением. Также этот процесс называют «управлением доступом» или «управлением привилегиями».  Авторизация может как предоставить право на выполнение неких задач или на доступ к определенным областям приложения, так и не дать его.  Давайте рассмотрим на примере: Мы уже получили доступ к социальной сети, но то, что мы можем там делать, зависит от того, какие у нас есть полномочия.  Если мы попробуем получить доступ к чьему-либо профилю, с которым мы не «дружим» (владелец профиля не принял запрос на «дружбу»), то мы не сможем просмотреть его – у нас не будет на это права. Это значит, что нам отказано в доступе к публикациям, которые сделал владельц этого профиля.  Процесс авторизации Как реализовать авторизацию В зависимости от фреймворков, которые вы используете, есть большое количество способов, как можно реализовать авторизацию.  Например, на платформе .NET вы можете использовать ролевое управление доступом или управление доступом на основе утверждений.  Ролевое управление доступом в своей основе имеет идеологию, которая подразумевает, что каждому пользователю в вашей системе назначается какая-то определенная роль. Эти роли имеют заранее определенные права доступа для каждого пользователя. Пользователь, которому была предоставлена та или иная роль, автоматически получает эти права доступа. Роли назначаются в процессе создания и настройки пользователя.  Затем, когда пользователь попытается получить доступ, например, к области администрирования, конечная точка или сайт просто проверят, имеет ли текущий пользователь роль администратора.  Недостаток данного подхода заключается в том, что иногда пользователям предоставляются слишком много прав доступа, некоторые из которых им не нужны или не должны были быть им предоставлены.  Например, если пользователю предоставили роль администратора (Admin), то это значит, что у него есть право доступа пользователя на комплексное создание (Advanced Create), редактирование (Edit), удаление (Delete) и просмотр (View). В то время как вы можете предоставить им право только на просмотр (View) и первичное создание (Basic Create).  Управление доступом на основе утверждений позволяет выполнить более точную настройку прав доступа конкретного пользователя. Приложение может проверить, закреплено ли за пользователем утверждение или присвоено ли утверждению конкретное значение. Например, пользователю может быть передано утверждение CreateUser; оно проверяется при создании пользователя. Или вы можете присвоить тому же утверждению значение Advanced, а затем получить доступ к различным действиям и пользовательскому интерфейсу в зависимости от того, присвоили вы значение Advanced или Basic. В чем разница между аутентификацией и авторизацией? Итак, теперь, когда мы рассмотрели оба термина и разобрались в том, что они означают, давайте взглянем на сценарий, с которым, я думаю, многие знакомы и который включает в себя оба процесса.  На званом ужине с особым списком гостей каждому гостю присваивается имя и секретный пароль.  По прибытии сотрудник охраны спрашивает у вас ваше имя и секретный пароль. Далее они аутентифицируют ваши учетные данные по списку, который у них имеется. Если ваши учетные данные совпадают, то вам вручают конверт, который показывает, что вас допустили. Оказавшись внутри, у вас есть право получить доступ к званому ужину и общим зонам заведения, поскольку для них авторизация не требуется (у всех есть право быть допущенным до званого ужина). Однако после вы захотите посетить VIP-зону.  Когда вы подходите к ней, то другой сотрудник охраны просит открыть конверт, который вам вручили (в нем описаны ваши права доступа и роли). Он смотрит, но, к сожалению, у вас нет роли VIP, и поэтому вы не можете быть авторизованы. Если простыми словами, то аутентификация проверяет личность пользователя или службы, разрешающей доступ, а авторизация определяет, что они могут делать, после того, как окажутся внутри.  Почему следует реализовать как аутентификацию, так и авторизацию? Как вы могли заметить, несмотря на то, что аутентификация и авторизация сами по себе очень разные, каждый из этих процессов играет свою неотъемлемую роль в обеспечении безопасности и целостности приложения или системы.  Эти процессы действуют заодно, и один без другого не имеет смысла. Если вы можете получить доступ к области администрирования и при этом делать там все, что вам вздумается, то это может привести к серьезным проблемам.  А с другой стороны, вы не сможете авторизовать людей, не зная, кто они! Именно поэтому аутентификация всегда идет до авторизации.  Заключение Я надеюсь, что данная статья оказалась полезной, и теперь вы знаете, чем авторизация отличается от аутентификации и как их использовать.  И запомните: Аутентификация = проверяет личность пользователя или процесса Авторизация = определяет, есть ли у пользователя/системы права доступа на использование какого-либо ресурса или выполнения какого-либо действия. 
img
Сейчас существует очень много различных программ, которые помогают правильно настроить то или иное программное обеспечение. Для того, чтобы программа эффективно работала, необходимо воспользоваться реальной или виртуальной машиной. Также, имеет смысл воспользоваться программным окружением Vagrant, которое поставляется вместе с программой Ansible после покупки лицензии. Прежде чем приступать непосредственно к настройке программы, необходимо узнать, что это вообще такое и какие функции выполняет. Что такое программа Ansible и для чего она нужна? Данная программа нужна для того, чтобы управлять различными программными конфигурациями для того, чтобы разрабатывать приложения на языке Python. Ansible представляет собой список программ, объединенных в пакет для управления специальными конфигурациями. Благодаря данному пакету программ можно настраивать те или иные удалённые машины и управлять ими на большом расстоянии. На сегодняшний день настройка программы Ansible осуществляется путём изучения пособия по следующим главам: Прежде всего, специалисты обучают новичка работе с установщиком. При этом, нужно будет установить программу Ansible вместе с утилитой под названием Vagrant. Далее идет полное изучение так называемого файла инвентаризации. После того, как файл инвентаризации был настроен и как следует изучен пользователем, необходимо перейти к непосредственному сбору факторов, переменных, copy и shell. Всё это нужно установить и настроить, дабы не возникало никаких проблем, связанных с дальнейшей эксплуатацией пакета Ansible для настройки удалённых машин. После этого осуществляется процесс, в который входит детальная настройка нескольких хостом. Немаловажным этапом идёт настройка плейбуков. В качестве примера стоит вспомнить настройку кластера через Apache, который включает в себя поэтапный балансировщик уровня нагрузки на удалённую машину. После того, как все предыдущие 6 шагов были совершены, необходимо перейти к откату и изучению ошибок. С каждым запуском ошибок должна становится всё меньше, что приведет к формированию паттерна действий системы. Установка программы Ansible завершается установкой и настройкой ролей каждого узла. Сама по себе, данная программа (один из вариантов графического интерфейса) выглядит так: В чём заключается настройка программы Ansible на практике? Утилита Ansible работает в проталкивающимся режиме. Он включает в себя использование всех настроек главной машины, с которой и осуществляются все наработки и разработки узлов. Основная машина тянет определенные узлы и ветки, осуществляя поэтапную постепенную нагрузку системы вместе с ее настройкой. Какие пакеты и модули нужны для работы утилиты Ansible? Как показала практика, для работы данной утилиты достаточно иметь следующие типы модулей: Модуль под названием jinja2 Вспомогательный модуль типа yaml Следует сказать, что прежде чем устанавливать данную программу, необходимо понять, что она работает исключительно на Linux и его дистрибутивах. Как правило, самыми популярными дистрибутивами Linux для работы программы Ansible являются Ubuntu или дебиан. Через командную строку нужно запустить соответствующую команду, которая отправить запросы на запуск установщика Ansible. Внутри нужно будет найти соответствующие пакеты, которые потом должны быть переписанные в командную строку. После того, как программа Ansible было установлена, нужно будет постепенно перейти к установке дополнительной утилиты, которое было упомянута выше. Данная утилита носит название Vagrant. Как правильно установить Vagrant на Linux систему? В качестве основной среды для установки данной программы лучше всего использовать так называемую виртуальную машину. Виртуальная машина нужна для того, чтобы не нагружать основную систему и создать дополнительную среду для Vagrant. Сам по себе, процесс установки данной программы включает в себя скачивание следующего софта: Непосредственно сама виртуальная машина или Virtualbox. В том случае, если после установки Virtualbox не возникло никаких проблем, стоит перейти к поиску ещё 1 немаловажной программы под названием Ruby. Если речь идёт о современных дистрибутивах Linux, таких, как Debian или Ubuntu, то стоит с уверенностью сказать, что программа уже имеется в системе. Если же я говорится о старых версиях Ubuntu или Debian, то нужно будет перейти на файлообменники и скачать Ruby на свой персональный компьютер. Завершающим этапом установки является скачивание на персональный компьютер ещё 1 немаловажной программы под названием Vagrant 1.1+. Ее можно найти на официальном сайте. Дальнейшим этапом будет создание работающего файла виртуальной машины. Команда, запускающая программу в виртуальной машине, выглядит таким образом: «vagrant up». После ее активации процесс запустится и можно переходить к другим шагам. Для некоторых систем потребуется получить права суперпользователя или ввести Root ключ. Его нужно заранее узнать у администратора или вспомнить, если речь идёт о домашнем персональном компьютере. В виртуальной машине нужно будет добавить соответствующие ключи SSH, дабы продолжить процесс. Процесс будет запущен спустя несколько минут после того, как соответствующие команды будут введены. Программа взаимодействует следующим образом: Дальнейшим этапом будет создание файла inventory. Для того, чтобы создать соответствующий файл, необходимо прописать в нём следующие команды. host0.example.org ansible_ssh_host=192.168.33.10 ansible_ssh_user=root host1.example.org ansible_ssh_host=192.168.33.11 ansible_ssh_user=root host2.example.org ansible_ssh_host=192.168.33.12 ansible_ssh_user=root Следует сказать, что строка под названием «ansible_ssh_host» содержит в себе уникальный адрес IP хоста. Его должен знать каждый человек, который устраивает полную настройку системы. Завершающим этапом всех манипуляций, которые были приведены выше, является полная проверка путем вписывания соответствующих строк кода в командную строку. Первым делом нужно будет выполнить следующую команду: ansible -m ping all -i step-01/hosts При первых этапах проверки Ansible пытается запустить модуль под названием ping. В том случае, если программа работала верно, то и результат будет выглядеть следующим образом: host0.example.org | success >> { "changed": false, "ping": "pong" } host1.example.org | success >> { "changed": false, "ping": "pong" } host2.example.org | success >> { "changed": false, "ping": "pong" } Если данного кода нет, то что-то не так и необходимо будет искать решение проблемы на сторонних ресурсах. Консультирование со специалистом поможет избежать проблем в будущем. Всё, узлы настроены и теперь можно переходить к дальнейшим действиям. Как правильно настраивать отдельные узлы, используя основную машину? Для того, чтобы узлы могли взаимодействовать между собой, необходимо воспользоваться одноимённой командой ansible. После того, как она была введена, узлы будут взаимодействовать между собой и передавать друг другу определенные массивы зашифрованной информации. Как запустить много хостов, если использовать всего лишь одну команду? Использование одной команды для запуска нескольких узлов является очень важной вещью в создании качественно работающих систем. Если в одну систему были собраны определённые машины под управлением одной и той же операционной системы, то стоит ввести следующую команду, так как вся информация будет собрана на одну машину, с которой эта самая команда и была введена. ansible -i step-02/hosts -m shell -a 'uname -a' host0.example.org Если всё было правильно сделано, то все хосты должны дать следующий вывод касательно своего статуса: host1.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host2.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host0.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 Каждый элемент будет подсвечен, а также будет передан его статус. Для того, чтобы получить гораздо больше информации касательно того или иного элемента, нужно вести другую команду с модулем setup. Данный модуль собирают гораздо больше информации с каждого узла, точно также передавая ей на основную платформу. В качестве примера ответа будет следующая конструкция: "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.0.60" ], "ansible_all_ipv6_addresses": [], "ansible_architecture": "x86_64", "ansible_bios_date": "01/01/2007", "ansible_bios_version": "Bochs" }, ---snip--- "ansible_virtualization_role": "guest", "ansible_virtualization_type": "kvm" }, "changed": false, "verbose_override": true Выводы можно сокращать для того, чтобы получать более простые конструкции, однако их суть останется прежней. Особенности архитектуры программы Ansible Архитектура Ansible включает в себя следующие разнообразные модули: Модуль Cloud позволяет управлять публичными или частными облаками от таких компаний, как Amazon, Azure , Docker, Openstack и другие; Command делает выполнение консольных команд максимально простым и отлаженным; Monitoring занимается мониторингом всех данных. Также, сюда можно включить еще множество различных модулей для правильной работы удаленных машин. И, как мы уже говорили, Ansible работает исключительно на дистрибутивах Linux и не содержит в себе протоколов для работы с Windows или Mac OS. Основными дистрибутивами для работы Ansible являются Debian и Ubuntu. Удачи вам в освоении мира DevOps!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59