<!-- 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> <!-- Define a non-SSL HTTP/1.1 Connector on port 8079 --> <Connector address="127.0.0.1" port="8079"... </pre> <p> Конечно же вы можете изменить и порт SSL-соединения. Вот пример переноса SSL на порт 8442: </p> <pre> <!-- Define a SSL HTTP/1.1 Connector on port 8442 --> <Connector address="127.0.0.1" port="8442"... </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> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,ip1,ip2"/> </pre> <p>В этом случае только localhost, ip1 и ip2 смогут устанавливать соединения с сервером.</p> <h2>Стандартные пользователи WebGoat и роли для Tomcat</h2> <p> WebGoat`у для нормальной работы необходимо наличие следующих пользователей и ролей: <br/> <pre> >role rolename="webgoat_basic"/< >role rolename="webgoat_admin"/< >role rolename="webgoat_user"/< >user username="webgoat" password="webgoat" roles="webgoat_admin"/< >user username="basic" password="basic" roles="webgoat_user,webgoat_basic"/< >user username="guest" password="guest" roles="webgoat_user"/< </pre> </p> <h2>Добавление пользователей</h2> <p> Обычно для нормальной работы с WebGoat вам достаточно будет пользователя guest с паролем guest. Но когда вы развернёте его в лоборатории или классе может возникнуть необходимость создания отдельного пользователя для каждого клиента. Для этого вам необходимо изменить файл tomcat-users.xml, которых находится в tomcat/conf. <b>Мы настоятельно не рекомендуем хранить реальные действующие пароли в данном файле т.к. там они прописываются в виде простого текста!</b> </p> <h3>Добавление пользователя</h3> <p> Процедура добавления пользователя очень проста. В качестве наглядного примера вы можете использовать строку с пользователем guest. Помните что каждый вновь добавляемый пользователь должен иметь определённую роль. Для добавления новых аккаунтов впишите в вышеуказанный файл строки типа этих: </p> <pre> <user name="student1" password="password1" roles="webgoat_user"/> <user name="student2" password="password2" roles="webgoat_user"/> ... </pre> <!-- Stop Instructions -->