Как установить FAMP Stack и Mod Security на FreeBSD

FAMP Stack или FreeBSD с Apache, MariaDB и PHP — это группа программного обеспечения с открытым исходным кодом для запуска приложения на основе php в вашем браузере. FAMP аналогичен LAMP (Linux Apache MAIADB / MySQL и PHP) на сервере Linux.

Mod Security — это механизм обнаружения и предотвращения вторжений с открытым исходным кодом для веб-сервера.

Поддержка Apache Nginx и IIS на сервере Windows. Это один из модулей apache для предотвращения хакеров и других вредоносных атак, таких как SQL Injection, XSS, LFI (локальное включение файлов), RFI (включение удаленного файла) и т. д.

В этом уроке мы расскажем об установке FAMP Stack с FreeBSD 10.2, а затем предоставим вам пример конфигурации виртуального хоста на веб-сервере apache. Затем мы установим и настроим защиту мод для работы с FAMP Stack и активируем созданный виртуальный хост.

Шаг 1 — Обновление системы

Войдите в свой сервер freebsd с помощью ssh и обновите свою систему командой:

# freebsd-update fetch
# freebsd-update install 

Шаг 2 — Установка и настройка Apache

Apache — один из лучших и популярных веб-серверов, поддержка Linux, Window и Mac OS.

Apache разработан открытым сообществом разработчиков под Apache Software Foundation.

Поддержка некоторых языковых интерфейсов поддерживает Perl, Python, Tcl и PHP.

Мы установим apache24 с командой pkg:

 # pkg install apache24 

Перейдите в каталог конфигурации apache «/usr/local/etc apache24», а затем отредактируйте файл «httpd.conf» с помощью редактора nano:

 cd /usr/local/etc/apache24
nano httpd.conf 

Измените значение «ServerAdmin» в строке 210 и «ServerName» в строке 219:

 ServerAdmin im@localhost
.....
ServerName localhost:80 
Затем перед запуском веб-сервера apache нам нужно добавить apache к up/boot с помощью команды «sysrc»:
# sysrc apache24_enable=yes 
Теперь запустите веб-сервер Apache:
# service apache24 start 
Откройте свой браузер и зайдите на сервер IP 192.168.1.112:

Шаг 3 — Установка и настройка MariaDB

MariaDB вместо MySQL разрабатывает и поддерживает MySQL Developer под GNU GPL. Для системы управления реляционными базами данных MySQL MySQL.

Мы установим mariadb с командой pkg:

 # pkg install mariadb100-server 

Эта команда также установит mariadb100-client.

Теперь скопируйте конфигурацию файла mariadb из «/ usr / local / share / mysql /» в «/ usr / local / etc /»:

 # cp /usr/local/share/mysql/my-medium.cnf /usr/local/etc/my.cnf 

Затем включите mariadb для запуска во время загрузки командой sysrc:

 # sysrc mysql_enable = yes 

и последнее, запустить mariadb:

 # service mysql-server start 

Теперь вам нужно настроить имя пользователя и пароль для сервера mariadb / mysql. настроить с помощью команды:

 # mysql_secure_installation

Enter current password for root (enter for none): PRESS ENTER
OK, successfully used password, moving on...

Set root password? [Y/n] Y
New password: ENTER YOUR PASSWORD
Re-enter new password: ENTER YOUR PASSWORD
Password updated successfully!

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y 

Теперь попробуйте получить доступ к оболочке mariadb / mysql:

 # mysql -u root -p
ENTER YOUR PASSWORD 

Шаг 4 — Установка и настройка MariaDB

В этом уроке мы будем использовать версию php 5.6. установите его с помощью команды pkg include с mod_php56 php56-mysql php56-mysqli php56-curl.

 # pkg install mod_php56 php56-mysql php56-mysqli php56-curl

Теперь скопируйте файл конфигурации php «php.ini-production» в «php.ini» в каталоге «/ usr / local / etc /»:

 # cd / usr / local / etc / #  cp php.ini-production php.ini

Отредактируйте файлы php.ini и добавьте часовой пояс в строке 926:

 # nano php.ini
 # date.timezone = Europe / Jakarta 

Затем настройте php для работы с apache, вам нужно отредактировать файл конфигурации apache, а затем добавить там конфигурацию php.

Для этого вы должны перейти в каталог конфигурации apache и отредактировать «httpd.conf» с помощью редактора nano:

# <span class="">cd / usr / local / etc / apache24 /</span>
# nano httpd.conf 

Добавьте конфигурацию php в строку 288:

.....
<Files ".ht*">
Require all denied
</Files>

<FilesMatch "\.php$">
SetHandler application/x-httpd-php
</FilesMatch>

<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>
..... 

и добавьте index.php в директиву dir_module:

     <IfModule dir_module>
<span class="">DirectoryIndex index.php index.html</span>
</ IfModule<span class="">>

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

Шаг 5 - Настройка Apache VirtualHost

В этом уроке мы создадим виртуальный хост под названием «saitama.me.conf» с доменом «saitama.me».

Файл конфигурации Virtualhost, хранящийся в каталоге «/ usr / local / etc / apache24 / extra /».

Но в этом уроке мы создадим новый каталог для виртуального хоста, поэтому упростим настройку вашего виртуального хоста, если у вас много конфигурационного файла.

Создайте новый каталог «virtualhost» в каталоге конфигурации apache:

 # cd /usr/local/etc/apache24/
# mkdir virtualhost 

Теперь создайте новый файл saitama.me.conf:

Добавьте конфигурацию виртуального хоста ниже:


<VirtualHost *:80>
ServerAdmin im@saitama.me
# Directory for the file stored
DocumentRoot "/usr/local/www/saitama.me"
#Domain
ServerName saitama.me
ServerAlias www.saitama.me
ErrorLog "/var/log/saitama.me-error_log"
CustomLog "/var/log/saitama.me-access_log" common

<Directory "/usr/local/www/saitama.me">
Options All
AllowOverride All
# The syntax is case sensitive!
Require all granted
</Directory>
</VirtualHost>

Далее включите вашу конфигурацию виртуального хоста в файл apache «httpd.conf»:

# cd /usr/local/etc/apache24/
# nano httpd.conf 

Добавьте это в конец строки:

 Include etc/apache24/virtualhost/*.conf 

Затем создайте новый каталог для виртуального хоста, который мы создали на странице «/ usr / local / www /»:

# <span id="result_box" class="" lang="ru"><span class="">mkdir -p /usr/local/www/saitama.me</span>
<span class=""># cd /usr/local/www/saitama.me</span></span> 

И создайте новый файл «index.php» и дайте php info скрипт, вы можете сделать это с помощью команды «echo»:

 # <span id="result_box" class="short_text" lang="ru">echo '<? php phpinfo (); <span class="">?> '> index.php</span></span> 

Теперь перезапустите апач, а затем откройте свой браузер «www.saitama.me»:

 # service apache24 restart 

и вы можете увидеть информацию о php:

Шаг 6 - Установка и настройка Modsecurity

Mod Security является частью модулей apache, поэтому вы можете установить его из репозитория.

Вы можете установить из истходников, но мы здесь используем команду pkg для установки из репозитория:

 # pkg install ap24-mod_security-2.9.0 

Теперь загрузите новый модуль «unique_id», необходимый для защиты мод, отредактировав файл конфигурации apache «httpd.conf» и раскомментируйте строку 120:

 # <span class="">cd / usr / local / etc / apache24 /</span>
# nano httpd.conf 
 <span class="">LoadModule unique_id_module libexec / apache24 / mod_unique_id.so</span> 

Сохранить и выйти.

И если вы это сделали, пожалуйста, клонируйте набор основных правил owasp modsecurity (CRS) с помощью команды git в каталог crs:

 # cd / usr / local / etc /
 # <span class="">git clone https://github.com/SpiderLabs/owasp-modsecurity-crs crs 

Теперь перейдите в каталог crs и скопируйте пример файла конфигурации:

 # cd crs /
# <span class="">modsecurity_crs_10_setup.conf.example</span> modsecurity_crs_10_setup.conf 

Затем загрузите модуль modsecurity с помощью правил owasp crs, создав новый файл «000_modsecurity.conf» в каталоге «modules.d»:

# <span class="">cd /usr/local/etc/apache22/modules.d/</span>
# n<span class="">ano 000_modsecurity.conf</span> 

Вставьте конфигурацию ниже:

 # Load ModSecurity
LoadModule security2_module libexec/apache24/mod_security2.so

<IfModule security2_module>
# Include ModSecurity configuration
Include /usr/local/etc/modsecurity/modsecurity.conf

# Include OWASP Core Rule Set (CRS) configuration and base rules
Include /usr/local/etc/crs/modsecurity_crs_10_setup.conf
Include /usr/local/etc/crs/base_rules/*.conf

# Remove Rule by id
SecRuleRemoveById 981173
</IfModule> 

Сохранить и выйти.

Шаг 7 - Добавление Modsecurity в VirtualHost

Чтoбы настроить виртуальный хост с защитой mod, вам нужно отредактировать файл virtualhost:

 # cd / usr / local / etc / apache24 / virtualhost /
# nano saitama.me.conf 

В директиве Inside Directory добавьте скрипт ниже:

......

<IfModule security2_module>
SecRuleEngine On
</ IfModule>

......

И теперь перезапустите веб-сервер apache:

 # service apache24 restart 

Заметка :

Если у вас есть такая ошибка:

[unique_id:alert] [pid 4372] (EAI 8)hostname nor servname provided, or not known: AH01564: unable to find IPv4 address of "YOURHOSTNAME"

добавьте свое имя хоста в файл hosts:

 # nano / etc / hosts 

Добавьте свое имя хоста

 <span class="">127.0.0.1 YOURHOSTNAME 

Шаг 8 - Тестирование Mod Security

Отредактируйте файл «modsecurity.conf» в каталоге «/ usr / local / etc / modsecurity /»:

 # cd / usr / local / etc / modsecurity
# nano modsecurity.conf 

Измените значение «SecRuleEngine» на «Вкл.»:

  SecRuleEngine On 

Сохранить и выйти.

Перезапустить Apache:

 # service apache24 restart 

Просмотрите файл журнала apache, чтобы обеспечить безопасность мод:

 # <span class="">tail -f /var/log/httpd-error.log 

Еще один тест в virtualhost с атакой SQL Injection на плагины wordpress:

Mod Security и Apache успешно запущены.

Вывод

FAMP Stack или Apache MariaDB и PHP на FreeBSD вместо LAMP на сервере Linux.

Его легко установить и настроить. Вы можете установить его с помощью команды pkg или если у вас есть время, вы можете скомпилировать ее из каталога «/ usr / ports».

Мод Security - это брандмауэр веб-приложений, который предотвращает вас от хакеров и вредоносных атак, таких как SQL Injection.

Вы можете определить свое правило, а затем добавить его для работы с apache для безопасности вашего веб-приложения.

cryptoparty

Cryptography is typically bypassed, not penetrated.

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

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

5e7fa976b0640d40