WebGoat/webapp/lesson_plans/ru/TomcatSetup.html

110 lines
8.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- Start Instructions -->
<h1>Настройка Tomcat</h1><br><br>
<h2>Введение</h2>
<p>WebGoat распространяется с конфигурацией Tomcat по умолчанию. На данной странице вы найдёте её короткое описание и
список возможных вариантов различных настроек. В случаях когда данное описание вам не помогает обращайтесь к официальной
документации Tomcat.
Кроме того, нужно сказать что всё нижеописанное относится к стандартной конфигурации сервера работающего на 80-ом порту.
Если вы используете для сервера другой порт, то вам необходимо будет изменить конфигурацию соответствующим образом.
</p>
<h2>Стандартная конфигурация</h2>
<p>Здесь имеется две стандартных конфигурации Tomcat. При их использовании доступ к серверу можно получить обращаясь к хосту localhost.
Они полностью идентичны, за исключением того что в первом случае сервисы Tomcat запускаются на портах 80 и 443 (SSL), а во втором -
на портах 8080 и 8443. В Linux вы должны запустить WebGoat как root или с использованием sudo если хотите чтоб он работал на портах
80 и 443.
Помните, что запуск ПО из под root`а очень опасное занятие, поэтому мы настоятельно рекомендуем использовать порты 8080 и 8443.
В Windows вы можете запустить WebGoat.bat для работы на 80-ом порту, или же WebGoat_8080.bat для работы на порту 8080.
В Linux ту же самую работу выполняет скрипт WebGoat.sh и для того же результата его необходимо запустить либо командой
"webgoat.sh start80", либо "webgoat.sh start8080". Пользователь, для доступа к приложению,
в стандартной конфигурации - guest с паролем guest.
</p>
<h2>Настройка сервера</h2>
<p>
Если вы единственный кто будет использовать WebGoat, то стандартной конфигурации вам
будет вполне достаточно. Если же вы будете запускать его в лаборатории или классе, то конфигурацию
нужно будет менять. Перед этим советуем вам сделать её резервную копию.
</p>
<h3>Изменение портов</h3>
<p>
Для изменения портов откройте файл server_80.xml, котрый можно найти в tomcat/conf, и измените
не-SSL порт. Например, если вы хотите использовать порт 8079:
</p>
<pre>
&lt;!-- Define a non-SSL HTTP/1.1 Connector on port 8079 --&gt;
&lt;Connector address=&quot;127.0.0.1&quot; port=&quot;8079&quot;...
</pre>
<p>
Конечно же вы можете изменить и порт SSL-соединения. Вот пример переноса SSL на порт 8442:
</p>
<pre>
&lt;!-- Define a SSL HTTP/1.1 Connector on port 8442 --&gt;
&lt;Connector address=&quot;127.0.0.1&quot; port=&quot;8442&quot;...
</pre>
<br>
<h3>Делаем WebGoat доступным для нескольких клиентов.</h3>
<p>ЭТО ОТКРЫВАЕТ ВАШ СЕРВЕР ДЛЯ РЕАЛЬНЫХ АТАК ИЗ ВНЕ! НЕ ДЕЛАЙТЕ ЭТОГО ЕСЛИ ВЫ НА 100%
НЕ УВЕРЕНЫ В НЕОБХОДИМОСТИ ДАННОГО ШАГА. ЭТА КОНФИГУРАЦИЯ МОЖЕТ БЫТЬ ИСПОЛЬЗОВАНА ТОЛЬКО
В ДОВЕРЕННЫХ СЕТЯХ.
</p>
<p>По умолчанию WebGoat доступен только при обращении к хосту localhost. В лаборатории или классе
у вас может возникнуть необходимость организовать сервер с множеством клиентов. В данном случае
вы можете настроить WebGoat соответствующим образом.
</p>
<p>Причина того что WebGoat доступен только на localhost - параметр address тега Connector в файле server_80.xml.
Изначально его значение установлено в 127.0.0.1 . При запуске приложение начинает проверять прописанные в настройках порты
только на этом адресе и принимает соединения если они появляются. Если вы удалите данный параметр, то приложение
начнёт прослушивать соответствующие порты на всех доступных IP-адресах.
</p>
<h3>Разрешение соединений только от определённых клиентов</h3>
<p>
Выше описывался способ разрешения соединений с WebGoat для любых клиентов.
Если вы хотите разрешить доступ к приложению только с определённых адресов, воспользуйтесь
фильтром удалённых адресов (Remote Address Filter). Для этого добавьте следующюю строку
в файл web_80.xml:
</p>
<pre>
&lt;Valve className=&quot;org.apache.catalina.valves.RemoteAddrValve&quot;
allow=&quot;127.0.0.1,ip1,ip2&quot;/&gt;
</pre>
<p>В этом случае только localhost, ip1 и ip2 смогут устанавливать соединения с сервером.</p>
<h2>Стандартные пользователи WebGoat и роли для Tomcat</h2>
<p>
WebGoat`у для нормальной работы необходимо наличие следующих пользователей и ролей:
<br/>
<pre>
&gt;role rolename="webgoat_basic"/&lt;
&gt;role rolename="webgoat_admin"/&lt;
&gt;role rolename="webgoat_user"/&lt;
&gt;user username="webgoat" password="webgoat" roles="webgoat_admin"/&lt;
&gt;user username="basic" password="basic" roles="webgoat_user,webgoat_basic"/&lt;
&gt;user username="guest" password="guest" roles="webgoat_user"/&lt;
</pre>
</p>
<h2>Добавление пользователей</h2>
<p>
Обычно для нормальной работы с WebGoat вам достаточно будет пользователя guest с паролем guest.
Но когда вы развернёте его в лоборатории или классе может возникнуть необходимость создания отдельного
пользователя для каждого клиента. Для этого вам необходимо изменить файл tomcat-users.xml, которых находится в tomcat/conf.
<b>Мы настоятельно не рекомендуем хранить реальные действующие пароли в данном файле т.к.
там они прописываются в виде простого текста!</b>
</p>
<h3>Добавление пользователя</h3>
<p>
Процедура добавления пользователя очень проста. В качестве наглядного примера вы можете использовать
строку с пользователем guest. Помните что каждый вновь добавляемый пользователь должен иметь определённую роль.
Для добавления новых аккаунтов впишите в вышеуказанный файл строки типа этих:
</p>
<pre>
&lt;user name=&quot;student1&quot; password=&quot;password1&quot; roles=&quot;webgoat_user&quot;/&gt;
&lt;user name=&quot;student2&quot; password=&quot;password2&quot; roles=&quot;webgoat_user&quot;/&gt;
...
</pre>
<!-- Stop Instructions -->