По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сетевая инфраструктура (роутеры, коммутаторы, МСЭ, АТС и так далее) являются очень важными ресурсами организации, и поэтому очень важно корректно настроить доступ к данным устройствам – для достижения нужного уровня защиты. Множество корпораций фокусируются на защите своих серверов, приложений, баз данных и прочих компонентов сети, но они могут совершенно забыть о том, что часть установленных у них устройств содержат, к примеру, дефолтные логин и пароль. К примеру, скомпрометированный маршрутизатор может доставить гигантское количество проблем – злоумышленники могут получить доступ к информации, трафик может улетать на другое направление и так далее. Так что корректная настройка устройств с точки зрения сетевой безопасности является крайне важным моментом при обеспечении защиты информации вашей организации. К примеру Cisco разделяет любое сетевое устройство на 3 функциональных плоскости, а именно: Плоскость менеджмента – это все о том, как непосредственно управлять железкой. То есть данная плоскость используется для доступа, настройки и мониторинга устройства. В нашей статье мы непосредственно расскажем, как защитить данную плоскость; Плоскость управления – данная плоскость содержит в себе сигнальные протоколы и процессы, которые отвечают за связность между устройствами – например такие известные вам протоколы как OSPF, EIGRP и так далее; Плоскость данных – плоскость, ответственная за перемещение информации по сети от источника до ее назначения. В данной плоскости и происходит, как правило, обмен пакетами между устройствами; Из этих трех плоскостей наиболее защитить первую и вторую плоскости, однако в нашей статье мы сконцентрируемся на плоскости менеджмента и обсудим 10 важных шагов по улучшению защищенности сетевого устройства Cisco с IOS. Десять пунктов ниже не являются избыточными, но они включают в себя наиболее важные команды и настройки, которые позволят «закрыть» устройство от нежелательного доступа и повысить степень защищенности. Данные пункты применимы как к маршрутизаторам, так и к коммутаторам. Создание секретного пароля В целях предоставления доступа к IOS устройству только людям, имеющим право (например, сисадмину/эникею/инженеру) всегда нужно создавать сложный «секретный» пароль (enable secret). Мы советуем придумать/сгенерировать пароль минимум 12 знаков, содержащий цифры, буквы и специальные символы. Проверьте, что вы вводите именно enable secret - тогда в конфиге пароль будет отображаться в зашифрованном виде. Router# config terminal Router(config)# enable secret сложныйпароль Зашифруйте пароли на устройстве Все пароли, настроенные на устройстве (за исключением «секретного»), не шифруются от слова совсем и легко видны в конфиге. Чтобы зашифровать все пароли в конфиге, необходимо использовать глобальную команду service password encryption Router# config terminal Router(config)# service password-encryption Используйте внешний сервер авторизации для аутентификации пользователей Вместо использования локальных учетных записей на каждом устройстве для доступа администратора, мы рекомендуем использование внешнего AAA сервера (TACACS+ или RADIUS) для обеспечения Аутентификации, Авторизации и Учета (вольный перевод Authentication, Authorization, Accounting). С централизованным ААА сервером гораздо проще управлять учетными записями, реализовывать политики безопасности, мониторить использование аккаунтов и многое другое. Ниже на схеме вы можете видеть как настроить TACACS+ и RADIUS серверы с использованием enable secret пароля в случае отказа этих серверов. TACACS+ Router# config terminal Router(config)# enable secret K6dn!#scfw35 //создаем “секретный ” пароль Router(config)# aaa new-model //включаем ААА службу Router(config)# aaa authentication login default group tacacs+ enable //Используем TACACS сервер и обычный пароль на случай отказа Router(config)# tacacs-server host 192.168.1.10 //указываем внутренний ААА сервер Router(config)# tacacs-server key ‘secret-key’ //указываем секретный ключ для ААА сервера Router(config)# line vty 0 4 Router(config-line)# login authentication default //применяем ААА аутентификацию для линий удаленного доступа (telnet, ssh) Router(config-line)# exit Router(config)# line con 0 //применяем ААА аутентификацию для консольного порта Router(config-line)# login authentication default RADIUS Router# config terminal Router(config)# enable secret K6dn!#scfw35 //создаем “секретный ” пароль Router(config)# aaa new-model //включаем ААА службу Router(config)# aaa authentication login default group radius enable //Используем RADIUS сервер и обычный пароль на случай отказа Router(config)# radius-server host 192.168.1.10 //указываем внутренний ААА сервер Router(config)# radius-server key ‘secret-key’ //указываем секретный ключ для ААА сервера Router(config)# line vty 0 4 Router(config-line)# login authentication default //применяем ААА аутентификацию для линий удаленного доступа (telnet, ssh) Router(config-line)# exit Router(config)# line con 0 //применяем ААА аутентификацию для консольного порта Router(config-line)# login authentication default Создайте отдельные аккаунты для пользователей Если у вас отсутствует возможность использовать внешний ААА сервер, по инструкции, описанной в предыдущем шаге, то как минимум, вам необходимо создать несколько отдельных локальных аккаунтов для всех, у кого должен быть доступ к устройству. Приведем пример создания трех локальных аккаунтов для троих системных администраторов. Кроме того, в версии IOS начиная с 12.2(8)T и позднее, есть возможность настроить повышенную надежность паролей (Enhanced Password Security) для локальных учетных записей – это зашифрует пароли с помощью MD5 хэша. Ниже пример настройки трех учетных записей: Router# config terminal Router(config)# username efstafiy-admin secret Lms!a2eZf*%_rete Router(config)# username evlampiy-admin secret d4N3%sffeger Router(config)# username vova-admin secret 54sxSFT*&_(!zsd Настройте лимит возможных попыток подключения Для того, чтобы избежать взламывания вашей учетной записи на маршрутизаторе с помощью брутфорса, вы можете настроить ограничение количества попыток подключения, когда после определенного предела система заблокирует пользователя. Это работает для локальных учетных записей. Router# config terminal Router(config)# username john-admin secret Lms!a2eZSf*% Router(config)# aaa new-model Router(config)# aaa local authentication attempts max-fail 5 //max 5 failed login attempts Router(config)# aaa authentication login default local Открытие доступа на управление устройством только для определенных IP – адресов Данный пункт является одним из наиболее важных для сетевых устройств Cisco – необходимо оставить доступ к Telnel или SSH только для определенных сетевых адресов (например, рабочей станции системного администратора). В нашем примере сисадмин находится в пуле 192.168.1.0/28 Router# config terminal Router(config)# access-list 10 permit 192.168.1.0 0.0.0.15 Router(config)# line vty 0 4 Router(config)# access-class 10 in //применить ограничения на все VTY линии (SSH/Telnet) Включить логирование Логирование является очень полезной функцией для отслеживания, аудита и контроля инцидентов. Вы можете включить логирование во внутренний буфер устройства или на внешний лог-сервер. Вторая опция является более предпочтительной, так как вы можете хранить там больше информации и проще производить различного рода аналитику. Всего существует 8 уровней логирования (от 0 до 7), каждый из которых делает лог более насыщенным деталями. Лучше всего избегать 7 уровень логирования (дебаг), т.к это может легко потратить все ресурсы вашего устройства. Ниже пример, как включить логирование и на внешний сервер, и на сам девайс (можно использовать два варианта одновременно). Router# config terminal Router(config)# logging trap 6 //Включить 6 уровень логирования для логов, отправляемых на внешний сервер Router(config)# logging buffered 5 //Включить 5 уровень логирования для логов, хранимых на самом девайсе Router(config)# service timestamps log datetime msec show-timezone //Включить таймстампы с милисекундной точностью Router(config)# logging host 192.168.1.2 //Отправлять логи на внешний сервер Router(config)# logging source-interface ethernet 1/0 //Использовать интерфейс Eth1/0 для отправки логов Включение NTP (Network Time Protocol) Данный шаг необходим для корректной работы логирования – т.к вам необходимо синхронизированное и точное системное время на всех сетевых устройствах, для правильного понимания ситуации при траблшутинге. Вы можете использовать как публичный, так и свой собственный NTP cервер. Router# config terminal Router(config)# ntp server 3.3.3.3 Router(config)# ntp server 4.4.4.4 Использование безопасных протоколов управления По умолчанию, протоколом, с помощью которого можно управлять устройством является Telnet. Однако весь трафик передается в незашифрованном виде – поэтому предпочтительно использовать SSH. Важно – для использования SSH необходимо настроить хостнейм и доменное имя, а также сгенерировать SSH ключи. Также следует разрешить только протокол SSH на VTY линиях Защитить SNMP доступ Про SNMP мы писали в одной из наших статей – это протокол для управления сетью, который, однако, также может служить «дырой» для доступа в вашу сеть. Для защиты данного направления, вам необходимо установить сложную Community String (что-то вроде пароля для SNMP) и разрешить доступ только с определенных рабочих станций. Давайте настроим две Community String – одну с правами на чтение, и другую с правами на чтение и изменение. Также добавим ACL с нужными сетевыми адресами. Router# config terminal Router(config)# access-list 11 permit 192.168.1.0 0.0.0.15 Router(config)# access-list 12 permit 192.168.1.12 Router(config)# snmp-server community Mer!0nET RO 11 //создание community string с правами на чтение и использование ACL 11 для SNMP доступа Router(config)# snmp-server community Mer!0NeTRules RW 12 //создание community string с правами на чтение/запись и использование ACL 12 для SNMP доступа Команды выше позволят сети сисадмина 192.168.1.0/28 иметь доступ на чтение и хосту 192.168.1.12 иметь полный доступ на SNMP чтение / запись к устройствам.
img
Языки сценариев пользуются большей популярностью для автоматизации определенных задач. Кроме того, языки сценариев являются менее ресурсоемкими по сравнению с традиционными языками программирования. Они не требуют этапа компиляции и вместо этого интерпретируются. Например, программа Java должна быть скомпилирована перед запуском, тогда как приложение, написанное на языке сценариев, таких как Python, JavaScript или PHP, не требует компиляции. В Java-программировании сначала создаются файлы классов, а затем отображаются выходные данные. Напротив, в Python все коды выполняются во время запуска скрипта, поэтому языки программирования компилируются, тогда как языки сценариев интерпретируются. Языки сценариев относятся к определенному типу, который используется для предоставления инструкций через код веб-браузерам или автономным приложениям. Они делают кодирование более простым и быстрым, поэтому они широко используются в веб-разработке. Языки сценариев также используются в операционных системах для создания и автоматизации файлов запуска, игр, программного обеспечения статистического анализа, офисных приложений и многих других. Они могут эффективно работать в нескольких средах. Вот список наиболее популярных языков сценариев, с которых можно начать знакомиться с миром программирования. 1. JavaScript JavaScript - наиболее популярный язык сценариев, используемый разработчиками. Он следует спецификации ECMAScript, которая отвечает за определение стандартов. Этот язык разработан компанией Sun Microsystems и увидел свет в 1995 году. Крупные организации, такие как PayPal, Walmart и Netflix, созданы на основе JavaScript. Такие технологические гиганты, как Facebook и Google, вложили большие средства в этот язык. JavaScript широко используется для создания веб- или мобильных приложений, инструментов командной строки, сетевых приложений реального времени, таких как службы потоковой передачи видео, игры и т.д. Можно сказать, JavaScript является базовой технологией для создания современных веб-сайтов с уникальными функциями. Ранее JavaScript использовался только для работы в браузере, но теперь существуют фреймворки на основе JavaScript, такие как Node, которые позволяют использовать JavaScript в бэкэнде. Есть несколько популярных JavaScript фреймворков для фронтэнда, вроде Angular и React. Преимущества JavaScript: Простота в изучении и внедрении Много возможностей для работы в качестве фронтэнда, бэкэнда или фулстек разработчика. Одно из самых активных сообществ разработчиков Обеспечивает отличную интерактивность веб-сайтов Легко справляется с высокой нагрузкой и пропускной способностью сервера Возможность эффективной работы с другими языками программирования для создания разнообразных приложений 2. Python Python - второй по популярности скриптовый язык в настоящее время. Python создал Гвидо ван Россум, и первый релиз вышел в 1991 году. Код на Python прост в чтении, он похож на английский. Чтобы начат работу с Python достаточно создать файл с расширением .py, написать сам скрипты и, наконец, запустить этот файл, чтобы выполнить инструкции указанные в нем. Код в скриптах python исполняется сверху вниз, один за другим. Руководство для начинающих с примерами по изучению Python можно прочесть здесь. Разработчики в основном используют скрипты Python для автоматизации ежедневных задач, создания отчетов, обеспечения безопасности и т.д. Задачу автоматизации с Python можно выполнять за меньшее количество кода, чем в любых других языках программирования, таких как Java, C++. Преимущества Python: Очень легок в изучении Портативный, может работать на любой платформе, как Windows/Mac/Linux Может дополняться компонентами на других языках программирования Огромное сообщество поддержки Обеспечивает поддержку программирования GUI Может легко интегрироваться с другими языками программирования, вроде C, C++ и т. д. Богатый набор библиотек и модулей для больших функциональных возможностей 3. PHP PHP - это серверный язык сценариев, который является языком для создания динамических и интерактивных веб-страниц. PHP расшифровывается как гипертекстовый препроцессор. Он является открытым и бесплатным для использования. Даже если это язык, который может делать почти все, что может язык программирования, он в основном используется для выполнения логики на стороне сервера. Когда вы нажимаете кнопку входа на странице входа в Facebook, логика, которая позволяет вам войти в ваш аккаунт, выполняется на PHP. Руководство для начинающих с примерами по изучению PHP можно прочесть здесь. С помощью PHP можно создавать динамичные и красивые веб-страницы; можно собирать данные из формы, созданной в формате HTML, и использовать их для шифрования данных. Из множества функциональных возможностей PHP можно использовать PHP для создания простого приложения CRUD, которое расшифровывается как создание, чтение, обновление и удаление. Такие компании, как Википедия и Facebook, используют PHP, так как он может легко обрабатывать миллионы трафика. Преимущества PHP: Широко используемый и чрезвычайно гибкий язык Поддерживает несколько типов баз данных (MySQL, PostgreSQL, NoSQL) Поддержка нескольких типов серверов (Apache, TLS сервер) Обеспечение эффективной производительности веб-сайтов с интенсивным трафиком Предоставляет разработчикам больше возможностей управления, значит удобен для разработчиков Совместимость с большинством операционных систем и простота интеграции с несколькими технологиями 4. R R в основном используется для статистических вычислений и графики. Он широко используется аналитиками данных, учеными и статистиками. Этот язык сценариев используется через интерпретатор командной строки. R обычно называют языком науки о данных. Разработчики пишут сценарии на R для выполнения нескольких команд за один раз; это экономит много времени. Здесь сценарий представляет собой набор команд, который обычно включает в себя комментарии о том, для чего предназначен каждый фрагмент кода. Сценарий R должен быть сохранен с расширением .r. Преимущества R: Активное сообщество, поддерживающее этот язык сценариев Поддержка векторных операций Он поставляется с тысячами готовых к использованию пакетов Кроссплатформенна Наилучшим образом подходит для сложных статистических вычислений Мощные графические возможности 5. Ruby Ruby является одним из самых гибких языков программирования, и он сходит с вашего пути, если вы не кодируете так, как хотите. Создатели Ruby вложили много работы, чтобы сделать его максимально простым в использовании. Ruby может спасти тебя от набора большого количества кода. Гибкость Ruby позволила разработчикам создать невероятно инновационное программное обеспечение. Есть такие инструменты, как Chef, которые Facebook использует для автоматизации своей конфигурации сервера, или SAS, который помогает обеспечить стиль для веб-сайтов Pandora, и самое главное, Ruby разрабатывает Ruby on Rails, который, возможно, является самым популярным в мире веб- фреймворком. Airbnb и Kickstarter, как и многие другие компании, используют Ruby on Rails, в разработке своих свои веб-сайтов. Преимущества Ruby: Можно выполнять задачу за меньшее количество кода, по сравнению с другими языками программирования. Помогает ускорить разработку программного обеспечения Хорошо подходит для автоматизации тестов Предоставляет множество встроенных инструментов и библиотек, помогающих разработчикам Следует кодированию по конвенции строго в соответствии со стандартами 6. Perl Perl - язык программирования с открытым исходным кодом и огромным сообществом программистов, библиотек и ресурсов. Он имеет очень мощную встроенную структуру регулярного выражения, благодаря чему программисты и решают использовать Perl для массовой обработки текста. Perl не зависит от платформы и также используется для генерации HTML-страниц. Perl носит прозвище «Швейцарский нож скриптового языка» благодаря своей гибкости и мощи. Преимущества Perl: Относительно мало ключевых слов, простая структура и простота в изучении Поддержка широкого спектра аппаратных платформ с одним и тем же интерфейсом Обеспечивает поддержку всех коммерческих баз данных CPAN (Comprehensive Perl Archive Network), архив библиотеки Perl, включает в себя тысячи готовых модулей Поддержка автоматического управления памятью и сбора мусора Включает простые методы отладки 7. Groovy Groovy очень похож на Java. Он имеет Java-подобный синтаксис, и, если вы уже знаете Java, вам будет легче изучать его. Это мощный динамический язык с эстетической типизацией и статической компиляцией. Groovy разработан, чтобы быть менее подробным, чем Java. Синтаксис менее сложен и следует простой структуре без ненужных точек с запятой. Преимущества Groovy: Поддерживает как статическую, так и динамическую типизацию Поддержка существующих библиотек Java Сценарии Groovy могут иметь операторы без объявлений классов Легко интегрируется с существующими приложениями Java Поддержка списков, карт, регулярных выражений 8. Bash Язык сценариев Bash также известен как Bourne Again Shell. Это язык программирования сценариев оболочки, где команды оболочки выполняются через сценарий оболочки с расширением .sh. Эти команды оболочки используются на терминале с интерпретатором оболочки. В сценарии оболочки bash необходимо добавить полный путь к исполняемому двоичному файлу bash. Преимущества Bash: Самый простой способ автоматизации повседневных задач Кроме односимвольных параметров командной строки оболочки, она также поддерживает многосимвольные Выполняет все файлы запуска при запуске системы Соответствует стандарту оболочки и инструментов IEEE POSIX P1003.2/ISO 9945.2 9. PowerShell Windows PowerShell - оболочка командной строки, созданная Microsoft. Системные администраторы главным образом используют его для администрирования ОС Windows и приложений. Он построен на платформе .NET. Команды, используемые в Windows PowerShell, называются командлетами. Преимущества PowerShell: Очень легко для изучения и внедрения Предоставляет объектно-ориентированные языковые функции Простая автоматизация множества задач администрирования Нет необходимости определять тип переменной в PowerShell Позволяет выполнять задания в фоновом режиме на локальных или удаленных компьютерах Использование фоновой интеллектуальной службы передачи (BITS) поддерживает передачу файлов Написанные сценарии можно использовать повторно
img
В данной статье мы рассмотрим, что такое Terraform и для чего он нужен. 1.Обзор Terraform – Open Source проект от HashiCorp создан в 2014 году. Является превосходным инструментом для создания Инфраструктуре в коде (Infrastructure as a Code). Проект абсолютно бесплатный и можно даже скомпилировать его из исходников, изменить его, т.е полностью открытый проект. Данный продукт является превосходным инструментом для создания инфраструктуры в коде. Сайт продукта https://www.terraform.io. И так, что это такое? Язык программирования инфраструктуры в cloud, не важно какой cloud. AWS, Google Cloud, Microsoft Azure, Digital Ocean, Yandex, AliCloud и есть поддержка многого другого, в том числе плагины под VMware. С помощью данного программного обеспечения можно даже управлять репозиторием Git Hub. Данный продукт является отличным для написания IaaS кода. Синтаксис кода пишется на Hashicorp Configuration Language (HCL). Файлы, содержащие написанный вами код, должны иметь расширение tf. Это обычные текстовые файлы на программном языке. Можно использовать любой текстовый редактор с дополнительными плагинами для Terraform, чтобы система подсказывала, поправляла, давала подсветку или раскрашивала код для удобства, чтения. Очень удобный для этой цели использовать текстовый редактор Atom. Код после написания не требует никакой компиляции, т.е просто пишите свой текстовый файл на HCL и запускаете просто с помощью Terraform. Terraform работает на Windows, MacOS, Linux, т.к он написан на языке Go, компилируете под операционную систему и запускаете, где угодно. Если рассмотреть конкурентов, то это AWS CloudFormation – инструмент для написания кода для AWS, он не кроссплатформенный и позволяет писать код только для AWS. Следующий конкурент Ansible - с помощью него тоже можно создавать инфраструктуру, через код, но он на мой взгляд слишком громоздкий и не очень удобный. Есть еще Puppet и Chef. Вот самые популярные инструменты конкуренты для создания инфраструктуры из кода. 2. Установка на Windows Установка на операционную систему MS Windows достаточна простая. Переходим на основной сайт продукта и выбираем операционную систему MS Windows нужной разрядности нажимаем, скачиваем. После закачки мы получим файл в zip архиве. Распаковываем и получаем файл terraform.exe. В принципе этого для работы достаточно, но неудобно. В такой конфигурации необходимо каждый раз вводить путь к файлу terraform.exe. Чтобы этого избежать необходимо добавить путь в переменные среды Windows. В операционной системе Windows 10 нажимаем правой кнопкой Пуск, выбираем Система, в открывшемся окне слева выбираем Сведения о cистеме, далее переходим на вкладку Дополнительно, далее внизу кнопка Переменные среды. В нижнем окне создаем новую переменную terraform и путь к месту, где лежит файл. 3. Установка в Linux Установка Terraform на Linux происходит не сложнее, чем на Windows. Открываем в браузере официальный сайт, выбираем разрядность Linux и копируем адрес ссылки на файл в буфер обмена. Открываем Terminal. Создаем или переходим в нужную директорию mkdir terraform или cd /tmp. Скачиваем wget URL и в директории появляется нужный файл. Распаковываем unzip terraform_0.15.1_linux_amd64.zip. В результате распакуется один исполняемый файл terraform. Осталось перенести файл откуда он будет запускаться с любой директории sudo mv terraform /bin. Директория с бинарными файлами. После этого мы можем вызывать терраформ из любого места командой terraform.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59