По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Было время, когда все, что связано с установкой, конфигурацией, обслуживанием инфраструктуры, выполнялось вручную. Для одной работы привлекались много сотрудников. Все было вручную. Этот процесс имел значительный риск человеческих ошибок, что приводило к понижению доступности, безопасности и производительности приложений. Не стоит забывать и общую стоимость инфраструктуры. Но благодаря современным технологиям и философии, таким как DevOps, это больше не проблема.
Теперь у нас есть несколько инструментов для выполнения задач создания, развертывания и управления инфраструктурой. Используя правильное программное обеспечение, можно автоматизировать всю инфраструктуру приводя участие человека к минимуму. Я говорю не о простых вещах, а о сложных задачах, таких как выделение ресурсов инфраструктуре, полная настройка приложений и т.д.
Автоматизация инфраструктуры - это процесс развертывания аппаратных/программных компонентов, операционной системы, сетевых компонентов, компонентов хранения данных с использованием IaC (Infrastructure as Code). Этот процесс имеет вмешательство человека только для написания такого кода, который будет иметь все детали для создания и развертывания необходимых компонентов.
Вот список наиболее популярных средств автоматизации инфраструктуры, широко используемых в отрасли.
1. Ansible
Ansible - это ядро с открытым исходным кодом, который автоматизирует развертывание приложений, управление конфигурацией, организацию ИТ. Основана в 2012 году и написана на самом трендовом в настоящее время языке - Python. Для реализации всей автоматизации Ansible использует плейбуки, где все конфигурации написаны на удобочитаемом языке - YAML.
Anible имеет безагентную архитектуру, то есть не нужно устанавливать какое-либо программное обеспечение отдельно на всех серверах. Он следует модели на основе push, где необходимо иметь локальную систему со всеми необходимыми конфигурациями, и эти конфигурации перемещаются на целевые серверы.
Доступные функции:
Автоматизация с помощью простого удобочитаемого языка;
Безагентная архитектура позволяет подключаться к серверам через обычный SSH;
Модель push передает конфигурации на сервер с локальной машины, управляемой вами.
Построен на Python, поэтому поддерживает множество библиотек и функциональных возможностей данного скриптового языка;
Кураторская коллекция модулей Ansible инженерной команды Red Hat.
Для больших предприятий Red Hat предлагает Ansible Tower.
2. SaltStack
Stack может с высокой скоростью выполнять управление инфраструктурой, управление конфигурацией и оркестровку. По сравнению с другими подобными инструментами, такими как Chef и Puppet, быстрота SaltStack является существенным отличием. Данное решение было представлено в 2011 году, и так же, как и Anible, он написан на Python.
Он имеет архитектуру master-slave, где Salt Master является главным демоном, который управляет всем, а Salt Minions являются подчиненными демонами, установленными на каждой управляемой системе для выполнения команд, отправленных Salt Master. Salt Master отправляет необходимые настройки и команды Salt Minions, а Salt Minions выполняют их на своей машине, чтобы применить всю IT-автоматизацию.
Функции Stack:
Рассчитанный на масштаб и скорость, один мастер может работать с 10000 миньонов.
Очень прост в настройке, имеет единую архитектуру удаленного выполнения.
Файлы конфигурации в Stack поддерживают все виды языков.
Он может выполнять команды на удаленных системах параллельно, что помогает ускорить автоматизацию.
Предоставляет простой интерфейс программирования с использованием API Python.
3. Chef
Одной из основных причин производственных инцидентов является несогласованность приложения или конфигурации. Это обычная проблема, и Chef стремится исправить это.
Chef - это инструмент управления конфигурацией для управления инфраструктурой. Он был написан на Ruby, а первый релиз состоялся в 2009 году компанией OpsCode.
Продукт Chef Infrastructure Management обеспечивает соответствие всех сред одним и тем же конфигурациям в инфраструктуре. Она предоставляет различные инструменты для управления инфраструктурой вроде Chef Infra, Chef Automate, Chef Enterprise и Chef Community.
Функции Chef Infrastructure Management:
Конфигурации написаны на языке YAML;
Она поставляется с несколькими инструментами разработки для написания книг рецептов (конфигураций), тестирования и разрешения зависимостей;
Корпоративная версия предоставляет возможности совместной работы для упрощения обработки сложных сред.
Поддержка интеграции с сотнями инструментов DevOps, таких как GitHub, Jenkins, Azure Terraform.
4. Bolt
Bolt - один из открытых проектов Puppet.
Это безагентный инструмент для автоматизации ИТ. С помощью Bolt можно автоматизировать все задачи, выполняемые вручную, что необходимо сделать сегодня в соответствии с требованиями. Я говорю о таких задачах, как развертывание приложения, устранение неполадок серверов, остановка и перезапуск службы, исправление и обновление систем и т.д.
Поскольку Bolt не содержит агентов, нет необходимости устанавливать какое-либо программное обеспечение агента на удаленных целевых машинах. Необходимо установить Bolt в локальной системе и подключить удаленные целевые системы с помощью SSH или WinRM.
Основные возможности Bolt:
Запишите план болта (сочетание команд, сценариев и задач) в YAML, простой в использовании и изучении.
Многие существующие планы и рабочие процессы доступны в Puppet Forge (библиотека модулей).
Переместите автоматизацию с Bolt на Puppet Enterprise для лучшей масштабируемости.
5. Terraform
Terraform - это средство выделения ресурсов инфраструктуры с открытым исходным кодом, используемое для создания и развертывания инфраструктуры с использованием инфраструктуры в качестве кода (IaC). Hashicorp представила его в 2014 году.
Terraform довольно хорошо работает с такими поставщиками облачных технологий, как AWS, Azure, GCP, Alibaba. С помощью Terraform можно развертывать инфраструктуру и управлять ею на любом из этих облачных поставщиков. В настоящее время Terraform широко используется многими организациями для управления Kubernetes кластерами.
Преимущества Terraform:
Простое управление конфигурацией неизменяемой инфраструктуры.
Может выполнять полную оркестровку инфраструктуры, а не только управление конфигурацией.
Использует язык конфигурации HashiCorp (HCL), который удобочитаем и очень прост для изучения.
Предоставляет готовые модули и провайдеров для сотен инструментов, и технологий через реестр terraform.
Заключение
Это был мой список самых популярных решений для автоматизации инфраструктуры, которые предлагают продукты для организаций среднего размера на уровне предприятия. Если вы попадаете в домен DevOps и хотите автоматизировать свою инфраструктуру и связанные с ней монотонные задачи, это подходящее время, чтобы выбрать одно из вышеупомянутых решений и начать автоматизацию.
Привет мир! Вы наверняка слышали аббревиатуру - VPN, и возможно даже пользовались этим. А знаете ли что это вообще такое и как это работает? Ну да, как то так... Но лучше - давайте разбираться!
Видеопособие
VPN расшифровывается как Virtual Private Network, или по русски Виртуальная частная сеть. В названии отражена суть этой технологии - она позволяет установить виртуальное соединение, которое называют туннелем, между вашим устройством, или даже целой сетью и другим удаленным устройством, или же - другой удаленной сетью.
Что значит виртуальное? Это значит что несмотря на то, что ваши данные будут также передаваться в публичную сеть, как правило Интернет, между вами и второй стороной будет образован защищенный виртуальный туннель, и вы окажетесь в одной сети, даже несмотря на то, что вас могут разделять тысячи километров.
VPN часто спасает, например, в случае удаленной работы, когда сотрудник, находясь вне офиса может подключаться к необходимым ресурсам в офисной сети, как если бы он находился там и сидел бы за своим рабочим местом. Или когда необходимо объединить сети, которые территориально располагаются в разных городах в одну большую сеть с единым адресным пространством!
Типы VPN
Глобально, не обращая внимания на различные протоколы, можно обозначить два типа VPN соединения: Site-to-Site и Remote Access.
Соединение Site-to-Site - это когда с пограничного маршрутизатора или межсетевого экрана, которые называют VPN шлюзом, строится туннель до такого же оборудования, стоящего в другом месте. Таким образом, сотрудники в сети, находящейся за одним VPN-шлюзом получают доступ к ресурсам, находящимся в сети за другим шлюзом через тот самый туннель и в этом случае по туннелю гоняет трафик всех и всего, что находится в этих сетях.
Remote Access, в свою очередь, это построение туннеля только с вашего индивидуального устройства, компьютера, ноутбука, айфона, планшета, например, до определенного VPN-сервера, и как раз такой способ чаще всего и используется для обхода блокировок и каких-нибудь темных дел. Ведь при таком подключении - реальный IP-адрес Вашего устройства будет изменен, а вместо него Вы получите адрес от VPN-сервера. И если Вы находясь где нибудь под Смоленском построите туннель с сервером, который живет на Сейшелах, то в Интернете Ваша геолокация молниеносно изменится. Именно поэтому так сложно определить реальное местоположение из которого осуществлялась кибератака. Злоумышленники никогда не светят свой реальный IP, чтобы к ним раньше времени не пришли из правоохранительных органов. Но не обольщайтесь - сегодня способов определения даже "заVPNненного" девайса более чем достаточно.
Отличаются эти два типа тем, что для Remote Access VPN требуется клиент или расширение для веб-браузера, чтобы можно было на чем-то приземлить туннель, а в случае site-to-site, всё происходит на уровне маршрутизации и все компьютеры, телефоны и прочая инфраструктура могут слать трафик в туннель без всяких дополнительных ухищрений.
Как VPN защищает подключение?
Защита заключается в том, что вся передаваемая информация по VPN туннелю шифруется тем или иным алгоритмом шифрования, и за счет этого, злоумышленники или другие неавторизованные личности не могут получить доступ к информации для ее прочтения или модификации.
Существует множество алгоритмов шифрования, но все они делятся на симметричные и асиметричные. Симметричное шифрование использует один и тот же ключ и для зашифровывания, и для расшифровывания. Пример такого алгоритма - AES (Advanced Encryption Standard).
Асимметричное шифрование использует два разных ключа: один для зашифровывания, который также называется открытым, другой для расшифровывания - он называется закрытым. Пример такого алгоритма шифрования - RSA.
Кстати, оба типа алгоритмов могут быть криптостойкими, то есть устойчивыми ко взлому и некриптостойкими. Как пример некриптостойкого алгоритма можно привести DES (Data Encryption Standard), длина ключа которого составляет всего 56 бит, за счет этого сегодня его можно взломать с использованием ну оооочень простых современных компьютеров. И противоположный ему - AES256, у которого длина ключа составляет, как можно догадаться, 256 бит. Перебор всех возможных комбинаций для такой длинны ключа занимает астрономически долгое время, поэтому AES не взломан и по сей день.
Как VPN помогает обходить блокировки?
Что если нужно добавить партнера по бизнесу из другой страны в LinkedIn, но он заблокирован у Вас? Тут поможет VPN, который создает защищенное соединение с VPN сервером, который может находится в другой стране, в которой доступ до нужного ресурса не ограничен, а затем оттуда к самому ресурсу. Погодите, а тогда в чем отличие VPN от прокси?
В зависимости от выполняемой задачи, существует много прокси-серверов, но в контексте этой статьи, прокси сервер - это посредник между пользователем и целевым ресурсом, который может быть заблокирован. Этот сервер тоже может находиться на другом континенте и соответственно иметь доступ туда, куда не имеем мы.
В случае с прокси - Вы просто указываете в своём браузере или другом клиенте адрес прокси сервера, порой с логином и паролем.
При этом виртуальный шифрованный туннель, как в случае с VPN, между Вами не строится, прокси сервер просто передаёт запросы от вас к другим ресурсам и пересылает ответы от них вам.
Помните, что при подключении к любому ВПН или прокси серверу, его администратор может увидеть к каким сайтам вы пробуете получить доступ и какую информацию передаете даже несмотря на то, что она может быть зашифрована.
Поэтому - просто будьте осторожны. Не подключайтесь к серверам и сервисам, которым не доверяете и не используйте VPN и прокси для противозаконных действий, ведь эти технологии разрабатывались совсем не для этого.
Apache - популярный бесплатный opensource веб-сервер. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), который обеспечивает большую часть Интернета. Мы уже рассказывали про его установку на Windows и сравнивали его с nginx, а сегодня расскажем про то как установить Apache на Linux.
А про то как установить nginx на Linux, можно прочитать в нашей статье.
Установка веб-сервера Apache на Linux
Установка Apache на CentOS и RHEL
Откройте окно терминала и обновите списки пакетов репозитория, введя следующее:
sudo yum update
Теперь вы можете установить Apache с помощью команды:
sudo yum –y install httpd
httpd - это имя службы Apache в CentOS. Опция –y автоматически отвечает да на запрос подтверждения.
Готово, Apache установлен.
Установка Apache на Ubuntu и Debian
В Ubuntu и Debian пакет и служба Apache называются apache2. Сначала также обновите инструмент управления пакетами apt.
sudo apt update
Теперь устанавливаем Apache:
sudo apt install apache2
Запуск и управление веб-сервером Apache
Apache - это сервис, работающий в фоновом режиме. В Debian и Ubuntu он автоматически запустится после установки, а в CentOS его нужно запустить вручную.
Не забывайте что в командах в CentOS нам нужно использовать httpd, а в Debian и Ubuntu apache2
Запустите службу Apache, введя следующее:
sudo systemctl start httpd
Система не возвращает вывод, если команда выполняется правильно.
Чтобы настроить автозагрузку Apache при запуске используйте команду:
sudo systemctl enable httpd
Чтобы проверить состояние службы Apache:
sudo systemctl status httpd
Чтобы перезагрузить Apache (перезагрузит файлы конфигурации, чтобы применить изменения):
sudo systemctl reload httpd
Чтобы перезапустить весь сервис Apache:
sudo systemctl restart httpd
Чтобы остановить Apache:
sudo systemctl stop httpd
Чтобы отключить Apache при запуске системы:
sudo systemctl disable httpd
Проверить веб-сервер Apache
Задача вашего программного обеспечения Apache - обслуживать веб-страницы по сети. Ваша новая установка Apache имеет тестовую страницу по умолчанию, но вы также можете создать собственную тестовую страницу.
Проверьте тестовую страницу Apache
В окне терминала найдите IP-адрес вашей системы:
hostname -I | awk '{print $1}'
Если вы знакомы с командами ip addr show или ifconfig, вы можете использовать их вместо этого. Подробно про команду ip можно прочитать тут.
Откройте веб-браузер и введите IP-адрес, отображаемый в выводе. Система должна показать тестовую страницу HTTP-сервера Apache, как показано на скриншоте ниже:
Или так, если у вас Ubuntu:
Если ваша система не имеет графического интерфейса, используйте команду curl:
curl [your_system's_IP_address]:80
Примечание. В конце: 80 обозначает порт 80, стандартный порт для интернет-трафика. Обязательно напишите соответствующий IP-адрес вместо [your_system's_IP_address].
Создать HTML-файл для тестирования
Если по какой-либо причине вам нужна или у вас уже есть пользовательская HTML-страница, которую вы хотите использовать в качестве тестовой страницы, выполните следующие действия:
В окне терминала создайте новый индекс файл HTML:
echo My Apache Web Server > /var/www/html/index.html
Отредактируйте файл по своему вкусу и сохраните его.
Теперь вы можете выполнить действия, описанные в предыдущем разделе, и если ваш сервер Apache работает правильно, если он отобразит указанную пользовательскую страницу.
Настройка фаервола для Apache
Фаервол в вашей системе блокирует трафик через разные порты. Каждый порт имеет свой номер, и разные виды трафика используют разные порты. Для вашего веб-сервера вам нужно разрешить HTTP и HTTPS трафик через порты 80 и 443.
В терминале введите следующее:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Еще раз проверьте, правильно ли настроен ваш фаервол:
sudo firewall-cmd --list-all | grep services
Вы должны увидеть http и https в списке разрешенных сервисов.
Если вы пользуйтесь UFW, то можно открыть порты HTTP (80) и HTTPS (443), включив профиль Apache Full:
sudo ufw allow 'Apache Full'
Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимые порты, введя следующую команду:
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Файлы и каталоги Apache
Apache управляется путем применения директив в файлах конфигурации:
/etc/httpd/conf/httpd.conf - основной файл конфигурации Apache
/etc/httpd/ - Расположение всех файлов конфигурации
/etc/httpd/conf.d/ - Все конфигурационные файлы в этом каталоге включены в основной файл настроек
/etc/httpd/conf.modules.d/ - Расположение конфигурационных файлов модуля Apache
Примечание. При внесении изменений в файлы конфигурации не забывайте всегда перезапускать службу Apache, чтобы применить новую конфигурацию.
Логи Apache расположены тут:
/var/log/httpd/ - расположение файлов логов Apache
/var/log/httpd/access_log - показывает журнал систем, которые обращались к серверу
var/log/httpd/error_log - показывает список любых ошибок, с которыми сталкивается Apache
Назначьте каталог для хранения файлов для вашего сайта. Используйте файлы конфигурации, чтобы указать каталог, который вы выбрали. Некоторые типичные места включают в себя:
/home/username/my_website
/var/www/my_website
/var/www/html/my_website
/opt/my_website