Установка сервера apache linux

Содержание
  1. ИТ База знаний
  2. Полезно
  3. Навигация
  4. Серверные решения
  5. Телефония
  6. Корпоративные сети
  7. Установка Apache в Linux
  8. Установка веб-сервера Apache на Linux
  9. Установка Apache на CentOS и RHEL
  10. Установка Apache на Ubuntu и Debian
  11. Запуск и управление веб-сервером Apache
  12. Проверить веб-сервер Apache
  13. Проверьте тестовую страницу Apache
  14. Создать HTML-файл для тестирования
  15. Настройка фаервола для Apache
  16. Файлы и каталоги Apache
  17. Веб-сервер Apache: установка, настройка и способы защиты от атак
  18. Веб-сервер Apache: установка, настройка и способы защиты от атак
  19. Этапы установки Apache
  20. Настройка брандмауэра
  21. Настройка виртуального хоста
  22. Виртуальный хост по умолчанию
  23. Новый виртуальный хост
  24. Настройка SSL
  25. Создаём самоподписанный SSL-сертификат
  26. Настройка Let’s encrypt
  27. Как обезопасить сервер Apache
  28. Основные средства защиты
  29. Установка Fail2ban на Ubuntu Server 18.04
  30. Настройка jail
  31. Тестирование и разблокирование
  32. Модуль mod_evasive
  33. Установка mod_evasive в Ubuntu
  34. Настройка mod_evasive
  35. Тестирование mod_evasive
  36. Параметры и настройки
  37. DOSSystemCommand
  38. DOSHashTableSize
  39. DOSPageCount
  40. DOSSiteCount
  41. DOSPageInterval
  42. DOSSiteInterval
  43. DOSBlockingPeriod
  44. DOSLogDir
  45. Белые IP-адреса
  46. DNS Injection
  47. Slowloris
  48. Дополнительные средства защиты
  49. Скрыть версию сервера
  50. Защита от атаки Clickjacking
  51. Защита от атаки XSS
  52. Заключение

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Установка Apache в Linux

Apache — популярный бесплатный opensource веб-сервер. Он является частью стека LAMP (Linux, Apache, MySQL, PHP), который обеспечивает большую часть Интернета. Мы уже рассказывали про его установку на Windows и сравнивали его с nginx, а сегодня расскажем про то как установить Apache на Linux.

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

А про то как установить nginx на Linux, можно прочитать в нашей статье.

Установка веб-сервера Apache на Linux

Установка Apache на CentOS и RHEL

Откройте окно терминала и обновите списки пакетов репозитория, введя следующее:

Теперь вы можете установить Apache с помощью команды:

httpd — это имя службы Apache в CentOS. Опция –y автоматически отвечает да на запрос подтверждения.

Готово, Apache установлен.

Установка Apache на Ubuntu и Debian

В Ubuntu и Debian пакет и служба Apache называются apache2 . Сначала также обновите инструмент управления пакетами apt .

Теперь устанавливаем Apache:

Запуск и управление веб-сервером Apache

Apache — это сервис, работающий в фоновом режиме. В Debian и Ubuntu он автоматически запустится после установки, а в CentOS его нужно запустить вручную.

Не забывайте что в командах в CentOS нам нужно использовать httpd , а в Debian и Ubuntu apache2

Запустите службу Apache, введя следующее:

Система не возвращает вывод, если команда выполняется правильно.

Чтобы настроить автозагрузку Apache при запуске используйте команду:

Чтобы проверить состояние службы Apache:

Чтобы перезагрузить Apache (перезагрузит файлы конфигурации, чтобы применить изменения):

Чтобы перезапустить весь сервис Apache:

Чтобы остановить Apache:

Чтобы отключить Apache при запуске системы:

Проверить веб-сервер Apache

Задача вашего программного обеспечения Apache — обслуживать веб-страницы по сети. Ваша новая установка Apache имеет тестовую страницу по умолчанию, но вы также можете создать собственную тестовую страницу.

Проверьте тестовую страницу Apache

В окне терминала найдите IP-адрес вашей системы:

Если вы знакомы с командами ip addr show или ifconfig , вы можете использовать их вместо этого. Подробно про команду ip можно прочитать тут.

Откройте веб-браузер и введите IP-адрес, отображаемый в выводе. Система должна показать тестовую страницу HTTP-сервера Apache, как показано на скриншоте ниже:

Или так, если у вас Ubuntu:

Если ваша система не имеет графического интерфейса, используйте команду curl:

Примечание. В конце: 80 обозначает порт 80, стандартный порт для интернет-трафика. Обязательно напишите соответствующий IP-адрес вместо [your_system’s_IP_address].

Создать HTML-файл для тестирования

Если по какой-либо причине вам нужна или у вас уже есть пользовательская HTML-страница, которую вы хотите использовать в качестве тестовой страницы, выполните следующие действия:

В окне терминала создайте новый индекс файл HTML:

Отредактируйте файл по своему вкусу и сохраните его.

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

Настройка фаервола для Apache

Фаервол в вашей системе блокирует трафик через разные порты. Каждый порт имеет свой номер, и разные виды трафика используют разные порты. Для вашего веб-сервера вам нужно разрешить HTTP и HTTPS трафик через порты 80 и 443 .

В терминале введите следующее:

Еще раз проверьте, правильно ли настроен ваш фаервол:

Вы должны увидеть http и https в списке разрешенных сервисов.

Если вы пользуйтесь UFW, то можно открыть порты HTTP ( 80 ) и HTTPS ( 443 ), включив профиль Apache Full :

Если вы используете nftables для фильтрации подключений к вашей системе, откройте необходимые порты, введя следующую команду:

Файлы и каталоги Apache

Apache управляется путем применения директив в файлах конфигурации:

  • /etc/httpd/conf/httpd.conf — основной файл конфигурации Apache
  • /etc/httpd/ — Расположение всех файлов конфигурации
  • /etc/httpd/conf.d/ — Все конфигурационные файлы в этом каталоге включены в основной файл настроек
  • /etc/httpd/conf.modules.d/ — Расположение конфигурационных файлов модуля Apache

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

Логи Apache расположены тут:

  • /var/log/httpd/ — расположение файлов логов Apache
  • /var/log/httpd/access_log — показывает журнал систем, которые обращались к серверу
  • var/log/httpd/error_log — показывает список любых ошибок, с которыми сталкивается Apache
Читайте также:  Amppal sys синий экран windows

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

  • /home/username/my_website
  • /var/www/my_website
  • /var/www/html/my_website
  • /opt/my_website

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Веб-сервер Apache: установка, настройка и способы защиты от атак

Веб-сервер Apache: установка, настройка и способы защиты от атак

Веб-сервер Apache не нуждается в представлении. Это программное обеспечение с открытым исходным кодом, выпущенное фондом Apache, один из самых используемых веб-серверов в мире. Рассмотрим, как его установить и как настроить конфигурацию брандмауэра для разрешения HTTP- и HTTPS-трафика и виртуальные хосты в Ubuntu 18.04.

Этапы установки Apache

Установить веб-сервер Apache в Ubuntu 18.04 Bionic Beaver очень просто:

Сценарии установки Ubuntu позаботятся о запуске и включении apache2-сервиса при загрузке.

Настройка брандмауэра

Чтобы получить доступ к содержимому сервера на той же машине, где он работает, нужно запустить веб-браузер и ввести в адресную строку localhost . Если всё настроено правильно, страница поприветствует словами: «It works!».

Если в системе включён брандмауэр (как и должно быть), то чтобы сделать контент доступным извне нашей машины, нужно разрешить входящий трафик через порт 80. Команда для запуска зависит от используемого менеджера брандмауэра. Например, при использовании ufw (используется в Ubuntu по умолчанию) мы должны запустить:

Если вы используете firewalld , можно запустить:

Обратите внимание, что приведённая выше команда будет по умолчанию действовать в зоне firewalld . Если вы хотите работать с другой зоной, нужно указать её с помощью опции —zone .

Настройка виртуального хоста

Веб-сервер Apache может запускать несколько веб-сайтов на одном компьютере. Каждый запущенный сайт («виртуальный хост» в терминологии Apache) должен иметь свою собственную конфигурацию. Виртуальный хост может быть IP или именем.

В этом руководстве мы сосредоточимся на втором типе, так как он проще в настройке и не требует нескольких IP-адресов (виртуальные хосты на основе имён позволяют нескольким веб-сайтам использовать один и тот же IP-адрес).

Виртуальный хост по умолчанию

В Ubuntu виртуальный хост по умолчанию определён в каталоге /etc/apache2/sites-available внутри файла 000-default.conf . Рассмотрим его:

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

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

FBS , Санкт-Петербург , По итогам собеседования

Директива на строке 3 не является обязательной, она используется, чтобы указать контактный адрес. Обычно в качестве аргумента директивы предоставляют действительный адрес электронной почты, чтобы было проще связаться с администратором.

DocumentRoot в строке 4 является обязательным, это важно для конфигурации виртуального хоста. Аргумент этой инструкции должен иметь доступ к файловой системе. Указанный каталог будет считаться корневым каталогом виртуального хоста и не должен содержать завершающий символ «/». В этом случае корневая директория документа — /var/www/html . Если мы посмотрим на её содержимое, то увидим, что она содержит страницу index.html , которую вы до этого видели в качестве страницы приветствия сервера.

Последние две команды на строках 8–9, представленные в этом VirtualHost , — ErrorLog и CustomLog . Используя первый, вы указываете файл, в который сервер будет записывать возникающие ошибки. Второй используется для регистрации запросов, отправленных на сервер в указанном формате.

Новый виртуальный хост

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

Как сказано выше, файлы виртуальных хостов должны быть определены внутри каталога /etc/apache2/sites-available (по крайней мере в дистрибутивах на основе Debian). Поэтому создадим этот файл там. Прежде чем сделать это, следует создать каталог, который будет использоваться как document root, а также создать базовую страницу, которая будет отображаться при открытии сайта:

Теперь можно приступить к настройке виртуального хоста:

Это минимальная конфигурация, необходимая для его запуска. Здесь вы можете увидеть новую директиву ServerName . Это то, что определяет ваш виртуальный хост. Сохраним этот файл как example.conf . Чтобы активировать ваш виртуальный хост, используйте команду a2ensite . Эта команда создаёт символическую ссылку файла в каталоге /etc/apache2/sites-enabled :

После этого следует перезагрузить конфигурацию сервера:

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

Без этой строки (и без записи DNS) было бы невозможно связать адрес сервера с именем вашего виртуального хоста, а использование IP-сервера напрямую вместо этого «инициировало» бы виртуальный хост по умолчанию.

С клиентского компьютера, если вы теперь перейдёте к www.example.local , вы должны увидеть минимальную страницу, которую настроили выше.

Настройка SSL

SSL (Secure Sockets Layer) — это технология, которая позволяет нам шифровать данные, связанные с соединением между клиентом и сервером. При использовании SSL-сертификатов HTTPS (Hyper Text Transfer Protocol Secure) заменяет HTTP в URL-адресе.

SSL-сертификаты выдаются центром сертификации и могут быть очень дорогими, однако есть два других способа получить сертификат: создать самозаверяющий сертификат или воспользоваться сервисом Let’s encrypt.

Создаём самоподписанный SSL-сертификат

Создание самозаверенного сертификата — несложная задача. Это может быть удобно, если вы просто хотите получить шифрование. Мы можем создать самозаверяющий сертификат с помощью утилиты OpenSSL:

Посмотрим, что делает эта команда. Первая опция, -x509 определяет, что формируется сертификат стандарта X509.

Читайте также:  Mac os capitan хакинтош

С помощью -days мы устанавливаем срок действия сертификата в днях. Следующая опция — -newkey . С её помощью мы создаём новый ключ, в данном случае RSA-ключ размером 2048 бит. В тестовом примере нам не нужно шифровать файл закрытого ключа, поэтому используем -nodes . Если эта опция не указана, файл, в котором хранится ключ, будет защищён паролем, который нужно будет предъявлять каждый раз при перезапуске веб-сервера.

С помощью -keyout и -out мы указываем файл для записи сгенерированного ключа и сертификата соответственно. При запуске команды нам будет предложено ответить на несколько вопросов, после чего будет сгенерирован ключ и сертификат.

Скопируйте сгенерированный ключ и сертификат в каталоги /etc/ssl/private и /etc/ssl/ssl-certs соответственно:

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

Важно настроить права доступа к файлу ключа. Папка /etc/ssl/private принадлежит root-пользователю и группе ssl-cert , и у неё есть права доступа 710. Это означает, что владелец имеет на неё полные права, а владелец группы может только получить к ней доступ и перечислить её содержимое, но не может дать разрешение другим:

Изменим права доступа к файлу ключа, предоставив владельцу права на чтение и запись, а группе — только для чтения:

Теперь, чтобы использовать сертификат, нужно включить модуль SSL с помощью команды a2enmod :

Почти всё готово. Теперь пришло время изменить наш виртуальный хост и настроить его следующим образом:

Порт 443 в строке 1 — это порт, используемый для HTTPS (вместо порта 80, используемого для HTTP).

Мы также добавили инструкцию SSLEngine on в строке 6.

Наконец, в строках 8–9 мы определили пути для сертификата и файла ключей, используя инструкции SSLCertificateFile и SSLCertificateKeyFile .

Теперь следуйте инструкциям по открытию порты брандмауэра из начале статьи, но на этот раз чтобы разрешить HTTPS-службу:

Наконец, перезагрузите конфигурацию Apache:

Готово. Теперь, если мы перейдём по адресу https://www.example.local, мы должны увидеть веб-сервер, предупреждающий нас о том, что используемый сертификат небезопасен. Это, однако, признак того, что наш сертификат работает, и трафик между клиентом и сервером будет зашифрован (вам необходимо добавить исключение для сертификата, чтобы использовать его).

Настройка Let’s encrypt

Альтернатива коммерческим и самозаверенным сертификатам — «Let’s encrypt». Это бесплатный, автоматизированный и открытый центр сертификации. Его цель — дать возможность автоматически получить сертификат, которому доверяет браузер, без какого-либо вмешательства человека.

Для этого используется протокол ACME (certificate management agent), который запускается на сервере.

Чтобы получить сертификат, вы должны подтвердить, что у вас есть контроль над доменом, для которого вы хотите его использовать. Если у вас нет доступа к shell на сервере, нужно связаться с вашим поставщиком услуг, чтобы активировать сертификат от вашего имени, но, возможно, на панели конфигурации сервиса есть специальный раздел.

Если же у вас есть доступ к shell, необходимо установить клиент certbotACME .

Для установки Certbot на Ubuntu 18.04 достаточно запустить:

Пакет Certbot поставляется с модулем systemd timer , который будет запускать Certbot два раза в день, чтобы поддерживать сертификат в актуальном состоянии. Получить сертификат довольно просто:

Очевидно, чтобы это работало, домен должен правильно указывать на ваш общедоступный IP-адрес. Certbot предложит вам несколько вопросов для настройки конфигурации, и, если всё пойдёт хорошо, сертификат и ключ будут сохранены в каталоге /etc/letsencrypt/live/ . Просто настройте файл виртуального хоста, чтобы указать на них, и всё готово.

Как обезопасить сервер Apache

Основные средства защиты

Установка Fail2ban на Ubuntu Server 18.04

Если вы хотите обезопасить свой сервер Ubuntu, первое, что вы должны сделать, — это установить систему обнаружения вторжений Fail2ban.

Fail2ban отслеживает определённые файлы журналов (в /var/log ) на предмет неудачных попыток входа или автоматических атак на сервер. Когда обнаруживается попытка компрометации с IP-адреса, Fail2ban блокирует его, добавляя новую цепочку в iptables и предотвращая доступ или дальнейшую атаку на сервер.

Fail2ban настолько легко установить и использовать, что его можно рассматривать как простое и универсальное решение для всех серверов Linux.

Установить его просто. Войдите в свой сервер Ubuntu и обновите его при необходимости. Обратите внимание, что если в этом процессе обновлено ядро, сервер нужно перезагрузить, поэтому выберите время, когда перезагрузка возможна. Чтобы обновить сервер, введите следующие команды:

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

Проверьте установленную версию:

После этого Fail2ban готов к работе. Запустить и включить сервис можно так:

Настройка jail

Настроим его для попыток входа по SSH. В каталоге /etc/fail2ban вы найдёте файл jail.conf . Не редактируйте его. Вместо этого создайте новый файл jail.local , который переопределит любые подобные настройки в jail.conf . Новая конфигурация будет отслеживать /var/log/auth.log , использовать фильтр sshd fail2ban , устанавливать для порта SSH значение 22 и устанавливать максимальное количество попыток — 3. Для этого выполните команду:

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

Сохраните и закройте его. Перезапустите Fail2ban с помощью команды:

На этом этапе, если кто-либо попытается войти на ваш сервер Ubuntu через SSH и эта попытка 3 раза завершится ошибкой, он не сможет больше войти, поскольку iptables заблокирует IP-адрес.

Тестирование и разблокирование

Вы можете проверить, работает ли jail, намеренно провалив три попытки входа на сервер через SSH. После третьей неудачной попытки соединение будет зависать. Нажмите Ctrl+C, чтобы выйти, а затем попытайтесь вернуться по SSH на сервер. Вы больше не сможете использовать SSH на этом сервере с того IP-адреса, который вы использовали.

Затем вы можете разблокировать свой тестовый IP-адрес с помощью следующей команды:

Где ip_address — запрещённый IP-адрес.

Теперь вы снова можете войти.

Читайте также:  Как установить драйвер для принтера canon lbp 2900 для windows 10 64 bit

Модуль mod_evasive

Ещё одна отличная утилита для обнаружения и блокировки IP-адресов, которые используются при атаке типа «отказ в обслуживании». Модуль помещает подозрительные IP-адреса во временный чёрный список и сохраняет их там, если они продолжают подозрительно себя вести.

Благодаря простоте настройки и эффективность он стал одним из любимых инструментов защиты систем Apache. Если вы хотите защитить свой сайт без затрат, можете также использовать его.

Установка mod_evasive в Ubuntu

Затем установите вспомогательную утилиту:

Чтобы установить модуль mod_evasive в Ubuntu, введите следующее:

Настройка mod_evasive

Как и большинство программных пакетов Linux, mod_evasive управляется файлом конфигурации.

Откройте его в текстовом редакторе с помощью следующей команды:

Знак # помечает это как комментарий. Удалите его, затем замените you@yourdomain.com своим адресом электронной почты. Используйте ту, которой вы постоянно пользуетесь — именно сюда будут отправляться оповещения.

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

Сохраните и выйдите, затем перезагрузите Apache:

Тестирование mod_evasive

Пришло время проверить, правильно ли работает модуль.
Используйте скрипт test.pl . Его сценарий расположен по этому адресу:

Для его запуска примените эту команду:

Вывод должен выглядеть таким образом:

Параметры и настройки

DOSSystemCommand

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

DOSHashTableSize

Увеличьте значение для более загруженных веб-серверов. Опция выделяет пространство для выполнения операций поиска. Увеличение размера улучшает скорость за счёт памяти.

DOSPageCount

Количество запросов для отдельной страницы, после которого адрес помещается в чёрный список. В примере стоит 2, но это достаточно маленькое (и агрессивное) значение. Увеличьте его, чтобы уменьшить количество ложных срабатываний.

DOSSiteCount

Общее количество запросов на один и тот же сайт по одному и тому же IP-адресу. По умолчанию установлено значение 50. Вы можете увеличить его до 100, чтобы уменьшить количество ложных срабатываний.

DOSPageInterval

Количество секунд для DOSPageCount. По умолчанию значение равно 1 секунде. Это означает, что если вы не измените его, запрос 2 страниц за 1 секунду временно поместит IP-адрес в чёрный список.

DOSSiteInterval

Как и DOSPageInterval, он определяет количество секунд, которые отслеживает DOSSiteCount. По умолчанию это значение равно 1 секунде, то есть если один IP-адрес запрашивает 50 ресурсов на одном и том же веб-сайте за одну секунду, он будет временно помещён в чёрный список.

DOSBlockingPeriod

Время, в течение которого IP-адрес остаётся в чёрном списке. По умолчанию установлено 10 секунд, но вы можете изменить его на любое значение, которое вам нравится.

DOSLogDir

По умолчанию он настроен на запись журналов в /var/log/mod_evasive . Эти журналы можно просмотреть позже, чтобы оценить поведение клиента.

Белые IP-адреса

Эта опция по умолчанию не включена в файл evasive.conf .

Откройте файл для редактирования и добавьте следующую строку:

Подставьте IP-адрес, который хотите добавить в белый список. Нужно указывать только одну запись в строке. Обычно список используется для доверенных клиентов, которые обмениваются с вашим сайтом большим количеством данных. Этот инструмент хорош для обнаружения ботов и скриптов. Если есть боты или сценарии, которые вы хотите разрешить, можете внести их.

Обязательно сохраните файл и выйдите из него, а затем перезагрузите службу Apache перед тестированием любого из этих параметров.

DNS Injection

Спам из веб-форм не только распространён, но и является быстрым способом внести домен в чёрный список подобный Spamhaus. Чтобы предотвратить подобное, вам нужно добавить ещё один модуль в Apache.

В терминале введите:

После завершения установки введите команду:

Далее откройте файл /etc/apache2/apache2.conf (используя sudo и ваш любимый текстовый редактор) и добавьте в конец вашего файла конфигурации блок:

Сохраните файл apache2.conf и перезапустите Apache, чтобы новый модуль вступил в силу.

Slowloris

В Apache есть модуль для предотвращения подобных DOS-атак. Вот как это работает. Откройте окно терминала. Введите команду:

После завершения установки проверьте конфигурацию в /etc/apache2/mods-available/qos.conf , чтобы убедиться, что она идеально соответствует вашим потребностям. После настройки модуля (при необходимости) перезапустите Apache.

Дополнительные средства защиты

Скрыть версию сервера

Это одно из первых соображений, поскольку вы не хотите показывать, какую версию веб-сервера вы используете. Её разоблачение означает, что вы помогаете хакеру ускорить процесс разведки.
Перейдите в папку:

Измените httpd.conf с помощью редактора. Добавьте следующую директиву и сохраните httpd.conf :

Перезапустите Apache.
ServerSignature удалит информацию о версии со страницы.
ServerTokens изменит заголовок только на рабочий, т. е. Apache.

Защита от атаки Clickjacking

Атака данного типа позволяет злоумышленнику выполнить клик на сайте-жертве от имени легитимного посетителя.

Чтобы обезопасить свой веб-сервер, вам нужно использовать заголовок «X-FRAME-OPTIONS»
Вы можете сделать это, отредактировав файл apache2.conf .

Добавьте следующую строку внутри Directory /var/www/html/ :

Header always append X-Frame-Options SAMEORIGIN

Сохраните файл и перезапустите Apache.

Теперь попробуйте открыть веб-браузер для доступа к веб-серверу. Проверьте заголовки ответа HTTP в firebug. Вы должны увидеть X-Frame-Options.

Защита от атаки XSS

XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») является одной из наиболее распространённых атак на уровне приложений.

Вы можете защититься от неё, отредактировав файл конфигурации Apache.

Добавьте следующую строку внутри Directory /var/www/html/ :

Header set X-XSS-Protection «1; mode=block»

Заключение

Мы рассмотрели установку и настройку, а также все наиболее важные способы защиты сервера Apache, и теперь вы можете полноценно приступить к изучению его работы на практике.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Оцените статью