- nginx: пакеты для Linux
- Поддерживаемые дистрибутивы и версии
- Инструкции по установке
- RHEL/CentOS
- Debian
- Ubuntu
- Alpine
- Amazon Linux
- Пакеты с исходным кодом
- Динамические модули
- Подписи
- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- Evilginx
- Описание Evilginx
- Справка по Evilginx
- Руководство по Evilginx
- Примеры запуска
- Установка Evilginx
- Скриншоты Evilginx
- Инструкции по Evilginx
- Установка и базовая настройка nginx и php-fpm для разработки проектов локально в Ubuntu 16.04
- Установка пакетного менеджера aptitude, обновление индекса и пакетов
- Установка и настройка nginx (версия >= 1.10.0)
- Файл hosts
- Установка php-fpm (>=7.0)
nginx: пакеты для Linux
Поддерживаемые дистрибутивы и версии
Пакеты nginx доступны для следующих дистрибутивов Linux и их версий:
Версия Поддерживаемые платформы 7.4+ x86_64, ppc64le, aarch64/arm64 8.x x86_64, aarch64/arm64
Версия Поддерживаемые платформы 10.x “buster” x86_64, i386, aarch64/arm64 11.x “bullseye” x86_64, aarch64/arm64
Версия Поддерживаемые платформы 18.04 “bionic” x86_64, aarch64/arm64 20.04 “focal” x86_64, aarch64/arm64 21.04 “hirsute” x86_64, aarch64/arm64
Версия Поддерживаемые платформы 12 SP5+ x86_64 15 SP2+ x86_64
Версия Поддерживаемые платформы 3.11 x86_64 3.12 x86_64, aarch64/arm64 3.13 x86_64, aarch64/arm64 3.14 x86_64, aarch64/arm64
Версия Поддерживаемые платформы 2 (LTS) x86_64, aarch64/arm64
Инструкции по установке
Для того, чтобы поставить nginx на новой машине, необходимо подключить и настроить репозиторий пакетов nginx. После этого можно будет установить и обновлять nginx из этого репозитория.
RHEL/CentOS
Установите пакеты, необходимые для подключения yum-репозитория:
Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:
По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду:
Чтобы установить nginx, выполните следующую команду:
При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 , и, если это так, подтвердите его.
Debian
Установите пакеты, необходимые для подключения apt-репозитория:
Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:
Проверьте, верный ли ключ был загружен:
Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 :
Если отпечаток отличается от вышеуказанного, удалите файл ключа.
Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:
Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настройте закрепление:
Чтобы установить nginx, выполните следующие команды:
Ubuntu
Установите пакеты, необходимые для подключения apt-репозитория:
Теперь нужно импортировать официальный ключ, используемый apt для проверки подлинности пакетов. Скачайте ключ:
Проверьте, верный ли ключ был загружен:
Вывод команды должен содержать полный отпечаток ключа 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 :
Если отпечаток отличается от вышеуказанного, удалите файл ключа.
Для подключения apt-репозитория для стабильной версии nginx, выполните следующую команду:
Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
Для использования пакетов из нашего репозитория вместо распространяемых в дистрибутиве, настройте закрепление:
Чтобы установить nginx, выполните следующие команды:
Установите пакеты, необходимые для подключения zypper-репозитория:
Для подключения zypper-репозитория для стабильной версии nginx, выполните следующую команду:
Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
Теперь нужно импортировать официальный ключ, используемый zypper/rpm для проверки подлинности пакетов. Скачайте ключ:
Проверьте, верный ли ключ был загружен:
Вывод команды должен содержать полный отпечаток ключа 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 :
Импортируйте ключ в базу данных rpm:
Чтобы установить nginx, выполните следующую команду:
Alpine
Установите пакеты, необходимые для подключения apk-репозитория:
Для подключения apk-репозитория для стабильной версии nginx, выполните следующую команду:
Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду вместо предыдущей:
Теперь нужно импортировать официальный ключ, используемый apk для проверки подлинности пакетов. Скачайте ключ:
Проверьте, верный ли ключ был загружен:
Вывод команды должен содержать следующий модуль:
Переместите ключ в каталог доверенных ключей apk:
Чтобы установить nginx, выполните следующую команду:
Тэг @nginx должен быть указан и при установке пакетов с динамическими модулями:
Amazon Linux
Установите пакеты, необходимые для подключения yum-репозитория:
Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:
По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду:
Чтобы установить nginx, выполните следующую команду:
При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 , и, если это так, подтвердите его.
Пакеты с исходным кодом
Исходные коды пакетов находятся в соответствующем репозитории.
Ветка репозитория default содержит исходные коды пакетов для mainline-версии, в то время как ветки stable-* содержат исходные коды пакетов для стабильных релизов. Для сборки бинарных пакетов запустите make в каталоге debian/ для Debian/Ubuntu, или в каталоге rpm/SPECS/ для RHEL/CentOS/SLES/Amazon Linux, или в каталоге alpine/ для Alpine.
Исходные коды пакетов распространяются под той же BSD-подобной лицензией из 2 пунктов, что и сам nginx.
Динамические модули
Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не включает модули, которым требуются дополнительные библиотеки. Начиная с версии 1.9.11 nginx поддерживает динамические модули, и следующие модули собираются как динамические и поставляются в виде отдельных пакетов:
Подписи
Поскольку наши PGP-ключи находятся на том же сервере, что и пакеты, им следует доверять в равной степени. Поэтому мы настоятельно рекомендуем дополнительно проверить подлинность загруженных PGP-ключей. В PGP есть понятие “сети доверия”, когда ключ подписывается чьим-либо другим ключом, тот в свою очередь третьим, и т.д. Это зачастую позволяет построить цепочку от произвольного ключа до ключа человека, которого вы знаете и кому доверяете лично, и таким образом удостовериться в подлинности первого ключа в цепочке. Подробно эта концепция описана в GPG Mini Howto. У наших ключей есть достаточное количество подписей, поэтому проверить их подлинность относительно несложно.
Источник
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
Evilginx
Описание Evilginx
Evilginx — платформа для атаки человек-посередине, используемая для фишинга учётных данных и кукиз сеансов любых веб-служб. Её ядро работает на Nginx HTTP сервере с использованием proxy_pass и sub_filter для проксирования и модификации HTTP контента во время перехвата трафика между клиентом и сервером.
Посредством фишинговой атаки возможно перехватить учётные данные для Google, Facebook, LinkedIn, Live, iCloud, Dropbox и других. При этом обходится двухфакторная аутентификация (если она установлена у жертвы). Если жертва вводит неверные учётные данные, то вход не происходит; если введены верные учётные данные, то Evilginx определяет это и перенаправляет жертву на любой URL. Во время атаки хотя и используется фишинговый домен, показывается реальная страница входа на сервис.
Для успешной атаки вам необходимо:
- сервер (VDS/VPS) с Linux, на котором установлен Evilginx
- специально зарегестрированный для фишинга домен
- внести данные в DNS для вашего домена и поддоменов
- отправить жертве ссылку на фишинговый сайт
Автор: Kuba Gretzky
Справка по Evilginx
Позиционные аргументы setup, parse и genurl являются чем-то вроде команд, каждая из которых выполняет свою функцию и имеет свои собственные опции.
Setup
Включает или отключает конфигурации сайтов для использования с сервером Nginx, используя поставляемые с Evilginx шаблоны из директории sites.
Parse
Парсит логи Nginx для извлечения учётных данных и кукиз сеансов. Файлы журналов, по умолчанию, сохраняются в директории, где размещён скрипт evilginx.py. Это может быть сделано автоматически после того, как вы на стадии Setup включили авто-парсинг.
Generate URL
Генерирует фишинговые URL.
Руководство по Evilginx
Страница man отсутствует.
Примеры запуска
Будет показан пример реализации атаки для конфигурации сайта google. У вас уже должен быть зарегистрирован домен, который вы будете использовать с Evilginx, а должен быть установлен на сервер (например, VDS). Допустим, нашим доменом является not-really-google.com. Зарегистрировать домены можно здесь или здесь.
Настройка домена
В настройках DNS вашего домена вам нужно сделать запись A, которая будет указывать на IP адрес вашего VDS/VPS.
Теперь важная часть. Список доступных сайтов включает информацию о субдоменах:
Будет выведено что-то вроде:
Это список необходимых субдоменов, которые вам нужно включить в вашу конфигурацию DNS зон, чтобы поднятый на Evilgix сайт мог нормально работать.
Вам нужно создать одну CNAME запись для каждого перечисленного субдомена и она должна указывать на ваш зарегестрированный домен. Например, google требует две CNAME записи:
- accounts.not-really.google.com которая будет указывать на not-really-google.com..
- ssl.not-really.google.com которая будет указывать на not-really-google.com..
Включение конфига сайта
Теперь домен должен быть правильно настроен, и все требуемые субдомены должны также указывать на нужное место. Теперь мы можем включить конфигурацию сайта google для Nginx.
Аргумент -d not-really-google.com определяет зарегистрированный домен, принадлежащий нам. Следуйте запросам, отвечайте на каждый вопрос Y и Evilginx должен включить авто-парсинг логов и автоматически получить SL/TLS сертификаты от LetsEncrypt используя Certbot.
Вам нужно проверить, всё ли работает должным образом, если есть ошибки, то нужно их исправить и проверить, что DNS зоны настроены должным образом. Возможно, понадобиться несколько часов, пока настройки DNS распространяться по другим серверам, иногда это происходит мгновенно.
Генерация фишинговых URL
Теперь мы сгенерируем наши фишинговые URL, которые будут отправлены жертве:
Аргумент -r https://www.youtube.com/watch?v=dQw4w9WgXcQ указывает на URL на который будет перенаправлена жертва при успешном входе. В этом сценарии сделан редирект на музыкальное видео.
Как вы можете видеть, Evilginx создал два URL. Один для старой страницы входа Google, другой для новой. Вы можете выбрать любой из них.
Evilginx каждую минуту будет парсить логи. Если кто-то попался и выполнил успешный вход, его учётные данные для входа и кукиз сеанса будут сохранены в директории logs корневой директории Evilginx.
Сессионные кукиз могут быть импортированы с использованием расширения EditThisCookie в Chrome.
Установка Evilginx
Установка в Kali Linux
Установка в BlackArch
Программа предустановлена в BlackArch.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты Evilginx
Инструкции по Evilginx
Ссылки на инструкции будут добавлены позже.
Источник
Установка и базовая настройка nginx и php-fpm для разработки проектов локально в Ubuntu 16.04
Здравствуй, уважаемый пользователь Хабрахабра. Мое повествование будет о том, как подготовить почву для локальной веб-разработки проектов в операционной системе Ubuntu 16.04.1 LTS.
В данной статье хочется развеять и разъяснить возможные трудности связанные с установкой и настройкой ПО, которое требуется для современной веб-разработки, с которыми возможно сталкиваются начинающие разработчики и не только.
Технологии которые будут использованы в статье: nginx, php-fpm.
Перед началом повествования, хочу отметить, что я проделывал все эти действия на «голой» системе.
Я буду работать с пакетным менеджером aptitude. Так же рекомендую обновить индекс пакетов и сами пакеты перед установкой ПО. В статье мы проделаем эти действия вместе.
Установка пакетного менеджера aptitude, обновление индекса и пакетов
Обновляем пакеты (команда обновит все пакеты, для которых есть новые версии, если потребуется удаление пакетов, то оно будет выполнено).
Установка и настройка nginx (версия >= 1.10.0)
Проверяем версию, чтобы убедиться что не установили старую, то есть ниже 1.10.0.
Установку и запуск произвели, теперь пойдем в каталог туда куда установлен наш nginx и посмотрим на его структуру. Каталог nginx находится по такому пути:
Посмотреть содержимое директории можно командой ls, с флагами -la будет удобнее просматривать содержимое каталога (в действительности эту команду с конкретными флагами можно описать детальнее и вернее, но у нас сегодня другая тема).
Наc интересуют в данный момент два каталога, которые вы видите на скриншоте. Это каталоги sites-available и sites-enabled.
Давайте перейдем в каталог sites-available и начнем конфигурировать наш виртуальный хост (сайт).
Перед началом создания конфигурационного файла, проверим что лежит у нас в данном каталоге. В моей случае каталог не пустой, в нем уже есть конфигурационные файлы, я их затер, чтобы не вводить вас в заблуждение.
В случае установки nginx «с нуля», именно «с нуля», так как при удалении nginx командой
или конфигурационные файлы остаются и если вы вдруг будете не понимать, почему nginx не работает и захотите его переустановить (обычно к такому прибегают начинающие пользователи Linux), то и после переустановки он не будет корректно работать, из-за того что в старых конфигурационных файлах (они не удаляются после удаления командой remove) прописаны неверные настройки, их придется удалить, либо настроить верно, только тогда nginx заработает.
Рекомендую удалять командой sudo apt-get purge nginx или sudo apt purge nginx . Если вы используете пакетный менеджер aptitude, то команда sudo aptitude purge nginx удаляет пакет полностью со всеми зависимостями и конфигурационными файлами.
В этом каталоге будет по умолчанию один файл, с названием default. В нем будет конфигурационный файл с примером, с комментариями, его вы можете изучить на досуге, а можете и вовсе удалить (всегда можно обратиться к официальной документации).
Создадим свой конфигурационный файл, который будет соответствовать названию домена нашего локального сайта (или реального, если уже знаете его название). Это удобно, в будущем, когда будет много конфигурационных файлов, то это избавит вас от путаницы в них. У меня этот файл будет называться project.local.
Посмотрим что получилось.
Теперь откроем его в редакторе, я открою его в nano.
Видим что он у нас пустой. Теперь перейдем к формированию нашего файла. Нужно привести конфигурацию к такому виду, как написано ниже. Я опишу только жизненно важные директивы этого файла, описывать остальное не буду, так как это не является на данный момент важным, все-таки у нас тема базовой настройки. Этих настроек с «горкой» хватит для разработки проектов локально, не только мелких, но и довольно крупных. В следующих статьях опишу отдельно каждые использованные директивы (именно так называются строки, например server_name) этого файла.
Смотрите комментарии прям в конфигурационном файле.
Сохраняем файл. Теперь нам надо проверить, нет ли в нем ошибок. Сделать мы это можем командой.
Если видим такую информацию как на скриншоте, значит у нас все верно, может продолжать настройку. Если вы получаете какие-либо ошибки, стоит перепроверить конфигурационный файл.
Теперь нам надо активировать конфигурационный файл, в каталоге /etc/nginx/sites-enabled/ необходимо создать симлинк (символическая ссылка). Если у вас nginx был установлен «с нуля», то в этом каталоге есть симлинк на файл default, про который рассказывалось выше, его можно удалить, если он вам не требуется. Переходим в нужный каталог.
Теперь мы в нужном каталоге. Давайте создадим наш симлинк. Для создания используется команда ln с флагом -s, далее мы укажем путь до нашего конфига project.local.
Посмотрим на наш созданный симлинк.
Чтобы убедиться что мы делаем еще все верно опять запустим команду.
Если все ок, едем дальше.
Файл hosts
Этот файл находится по пути /etc/hosts. Наличие в нем записей, позволяет запускать nginx с использованием в качестве домена localhost. В этом файле можно присваивать альтернативные псевдонимы, например для нашего проекта project.local, мы присвоим домен project.local.
Открываем файл в редакторе nano.
У вас в этом файле будет и другая информация, просто игнорируйте ее. Вам всего лишь нужно добавить строку как на моем скриншоте.
Не забываем сохранить файл. На этом настройка файла hosts закончена.
Установка php-fpm (>=7.0)
Проверяем установленную версию, на всякий случай, хотя в Ubuntu 16.04.1 в репозиториях лежит именно 7.0 версия.
Убеждаемся что все ок. Стартуем php-fpm.
Если будете править конфиги, то не забывайте рестартовать демон. Это делает так. Но нам это не потребуется.
На этом установка и настройка php-fpm закончена. Правда, это все. Это не магия, путь до сокета php-fpm у нас уже был прописан в конфигурационном файле. Конечно, вам могут понадобиться какие-либо расширения php для разработки личных проектов, но их вы можете поставить по мере того как они будут требоваться.
Теперь пойдем для в каталог с нашим проектом, у меня он лежит по такому пути.
Поднимемся на каталог выше и сделаем права 777 (то есть мы будем делать полные права каталогу с нашим проектом project.local). В будущем это избавим нас от лишних проблем.
На этом настройка ПО завершена, давайте создадим тестовый файл в нашем рабочем каталоге project.local и убедимся что все работает. Я создам файл index.php с таким содержанием.
Идем в браузер и видим что у нас все прекрасно работает! Интерпретатор php в том числе.
Источник