Как установить и защитить Apache в Debian 11

12 set 2022 4 min di lettura
Как установить и защитить Apache в Debian 11
Indice dei contenuti

Введение

Веб-сервер Apache HTTP — один из широко используемых веб-серверов, особенно в дистрибутивах Linux, который представляет собой бесплатную кроссплатформенную платформу, используемую огромным количеством веб-сайтов в Интернете. Веб-сервер Apache использует HTTP для обработки запроса и обработки веб-информации. Apache имеет множество полезных функций, и его функциональность можно расширить с помощью дополнительных модулей. Он также позволяет программистам публиковать свои работы в Интернете.

Итак, в этой статье мы обсудим установку веб-сервера Apache и способы его защиты после установки в Debian 11.

Требования

Перед установкой вы должны войти в систему Debian с доступом ко всем привилегиям sudo. Также рекомендуется выполнить первоначальную настройку сервера на только что установленных системах Debian 11.

Установить апач на дебиан

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

После входа в систему откройте терминал и обновите кэш apt с помощью команды, приведенной ниже:

sudo apt update

После обновления кеша apt установите Apache2 на свой Debian 11 Bullseye с помощью команды:

sudo apt install apache2

Нажмите « y » для любого подтверждения, запрошенного установщиком.

После завершения процесса установки. Проверьте версию установленного Apache, выполнив следующую команду:

apache2 -v
Server version: Apache/2.4.48 (Debian)
 Server built: 2021-08-12T11:51:47

Другой способ проверить установку Apache — получить доступ к странице Apache2 по умолчанию, используя IP-адрес или имя хоста сервера. Если вы не знаете имя своего хоста, сначала выполните следующую команду:

hostname -I

Введите имя хоста или IP-адрес вашего сервера в адресную строку браузера и нажмите Enter, откроется стандартная страница Apache2 Debian.

Управление службой Apache

После завершения установки службой Apache можно управлять с помощью команд « systemctl », выполните следующую команду, чтобы проверить состояние сервера:

sudo systemctl status apache2.service

Нажмите «q», чтобы выйти. Несколько команд для управления службой Apache в Debian 11:

Для запуска сервера используйте команду:

sudo systemctl start apache2.service

Точно так же, чтобы остановить службу, замените start на stop в предыдущей команде:

sudo systemctl stop apache2.service

Службу можно перезапустить с помощью:

sudo systemctl restart apache2.service

Настройте параметры брандмауэра

Если в вашей системе есть брандмауэр, вам потребуется авторизовать доступ к определенным веб-портам, чтобы их могли использовать внешние пользователи. Выполните следующую команду, чтобы разрешить порт 80 (HTTP) и 443 (HTTPS) в терминале Debian:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Теперь проверьте, проверив статус:

sudo ufw status

Если он не активен, чтобы включить его для использования:

sudo ufw enable

Создайте виртуальный хост в Apache

В Apache виртуальные хосты позволяют управлять многочисленными веб-сайтами на одном сервере. На веб-сервере Apache мы создадим виртуальный хост. Для этого мы сначала создадим веб-сайт с именем sample.com с блоком сервера, который входит в стандартную комплектацию Apache.

Начнем с настройки первого виртуального хоста вашего сервера Apache. Мы будем использовать пример домена как «sample.com», но вы можете назвать его по своему усмотрению:

sudo mkdir -p /var/www/sample.com

Теперь измените разрешения и владельца с помощью команды, приведенной ниже:

sudo chown -R www-data:www-data /var/www/sample.com
sudo chmod -R 755 /var/www/sample.com

Выполнив приведенную ниже команду, чтобы протестировать наш сайт testdomain.info, мы теперь создадим пример индексной страницы. Для этого мы будем использовать редактор nano для создания HTML-файла, подобного этому:

sudo nano /var/www/sample.com/index.html

Вставьте содержимое, показанное ниже, на страницу индекса и нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла и вернуться в терминал:

<html>
 <head>
 <title>Welcome to the page sample.com!</title>
 </head>
 <body>
 <h1>Congratulations! Your sample.com server succeeded!</h1>
 </body>
 </html>

Выполнив приведенную ниже команду в терминале, мы создадим файл виртуальных хостов, который будет обслуживать содержимое сервера:

sudo nano /etc/apache2/sites-available/sample.com.conf

Откроется текстовый файл, введите следующее содержимое:

<VirtualHost *:80>
 ServerAdmin [email protected]
 ServerName sample.com
 ServerAlias www.sampe.com
 DocumentRoot /var/www/sample.com
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 </VirtualHost>

Нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла и вернуться в терминал.

Включить настройку домена

Выполните следующую команду, чтобы активировать файл виртуального хоста:

sudo a2ensite sample.com.conf

Отключите конфигурацию Apache по умолчанию, выполнив приведенную ниже команду:

sudo a2dissite 000-default.conf

Чтобы применить новые изменения в Apache, выполните следующую команду:

sudo systemctl restart apache2

Устранить ошибку имени хоста

Теперь нам нужно проверить нашу конфигурацию на наличие синтаксических ошибок, чтобы проверить конфигурацию, выполните команду, приведенную ниже:

sudo apache2ctl configtest

Это вызовет ошибку, но не волнуйтесь, мы ее исправим. Создайте новую конфигурацию servername.conf и отредактируйте в текстовом редакторе:

sudo nano /etc/apache2/conf-avaialable/servername.conf

Теперь вставьте в файл следующее содержимое:

ServerName sample.com

Нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла. Убедитесь, что вы изменили «sample.com» на свое фактическое доменное имя. Теперь, чтобы включить конфигурацию имени сервера, выполните приведенную ниже команду:

sudo a2enconf servername

Теперь снова запустите приведенную выше команду, чтобы проверить конфигурацию:

sudo apache2ctl configtest

Вы увидите, что ошибка имени хоста устранена.

Как защитить Apache2 в Debian 11

Чтобы защитить сервер Apache, отредактируйте файл «security.conf», выполните следующую команду, чтобы открыть файл:

sudo nano /etc/apache2/conf-enabled/security.conf

Вставьте или обновите в файле следующее содержимое:

ServerTokens Prod
 ServerSignature Off
 TraceEnable Off
 Header always append X-Frame-Options SAMEORIGIN
 Header always set X-XSS-Protection: "1; mode=block"
 Header always set X-Content-Type-Options: "nosniff"
 Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
 Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure

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

Настройте протокол SSLCipherSuite и SSL на уровне сервера для использования безопасных шифров для обслуживания веб-сайта, отредактировав файл ssl.conf:

sudo nano /etc/apache2/mods-enabled/ssl.conf

Теперь вставьте содержимое, написанное ниже, в файл и нажмите Ctrl + O, чтобы сохранить файл, и Ctrl + X, чтобы выйти из файла:

SSLProtocol -all +TLSv1.2
 SSLCipherSuite HIGH:!aNULL:!MD5

Теперь запустите команду Apache reload, чтобы сохранить конфигурацию:

sudo systemctl restart apache2.service

Это все. Вы успешно установили и защитили сервер Apache.

Вывод

Веб-сервер Apache — это сервер с открытым исходным кодом, используемый многими веб-сайтами в Интернете и позволяющий разработчикам публиковать свою работу в Интернете. Этот сервер доступен во всех операционных системах, но в этой статье мы обсудим его установку в последней версии Debian (операционная система Linux), а также объясним, как протестировать и защитить его после успешной установки. Вы сможете успешно установить Apache2 на Debian 11 Bullseye и настроить сервер, следуя этому руководству.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.