![Отримайте дочасний доступ до найновіших програм та ігор Android](/f/a9969d33a9d00ee9998c055bdd8e54f8.png?width=100&height=100)
Ми всі дуже добре знайомі Апач веб -сервер, це дуже популярний веб -сервер для розміщення ваших веб -файлів або вашого веб -сайту в Інтернеті. Ось декілька посилань, які можуть допомогти вам налаштувати веб -сервер Apache на вашому пристрої Linux.
Тут у цьому підручнику я висвітлю кілька основних порад щодо захисту вашого веб -сервера. Перш ніж застосовувати ці зміни на своєму веб -сервері, вам слід ознайомитися з основами сервера Apache.
При встановленні Апач з вихідним кодом або будь -яким іншим інсталятором пакунків, наприклад ням, він відображає версії вашого Apache веб -сервер, встановлений на вашому сервері за допомогою Назва операційної системи вашого сервера в Помилки. Він також показує інформацію про Встановлено модулі Apache на вашому сервері.
На малюнку вище ви можете це побачити Апач показує своє версії з ОС встановлена на вашому сервері. Це може бути серйозною загрозою безпеці як для вашого веб -сервера, так і для вашого коробки Linux. Запобігти Апач щоб не відображати цю інформацію в світі, нам потрібно внести деякі зміни в основний файл конфігурації Apache.
Відкрийте файл конфігурації за допомогою редактора vim і знайдіть "ServerSignature“, Його за замовчуванням Увімкнено. Нам потрібно Вимкнено ці підписи сервера та другий рядок "ServerTokens Prod”Повідомляє Apache повертати лише Apache як продукт у заголовку відповіді сервера на кожному запиті сторінки. Це пригнічує інформацію про ОС, основну та другорядну версії.
# vim /etc/httpd/conf/httpd.conf (RHEL/CentOS/Fedora) # vim /etc/apache2/apache2.conf (Debian/Ubuntu)
Підпис сервера вимкнено. ServerTokens Prod
# служба httpd перезавантаження (RHEL/CentOS/Fedora) # перезапуск служби apache2 (Debian/Ubuntu)
За замовчуванням список Apache містить усі файли змісту кореневого каталогу документів за відсутності індексний файл. Будь ласка, подивіться зображення нижче.
Ми можемо вимкнути список каталогів за допомогою Директива опцій у файлі конфігурації для певного каталогу. Для цього нам потрібно зробити запис у httpd.conf або apache2.conf файл.
Параметри -Індекси.
Спільнота розробників Apache постійно працює над питання безпеки і випускаючи його оновлена версія з новим варіанти безпеки. Тому завжди рекомендується використовувати Остання версія з Апач як ваш веб -сервер.
Перевіряти Версія Apache: Ви можете перевірити свою поточну версію за допомогою httpd -v команду.
# httpd -v. Версія сервера: Apache/2.2.15 (Unix) Сервер побудовано: 13 серпня 2013 17:29:28
Ви можете оновити свою версію за допомогою наведеної нижче команди.
# yum update httpd. # apt-get install apache2
Також рекомендується зберігати свій Ядро та ОС оновлено до останніх стабільних випусків, якщо ви не використовуєте будь -яку конкретну програму, яка працює лише на певній ОС або ядрі.
Завжди добре зменшувати шанси стати жертвою чогось веб -атака. Тому рекомендується відключити їх усі модулі які на даний момент не використовуються. Ви можете перелічити всі скомпільовані модулі веб -сервера, використовуючи таку команду.
# grep LoadModule /etc/httpd/conf/httpd.conf # повинні розмістити відповідні рядки `LoadModule 'у цьому місці так, щоб. # LoadModule модулі foo_module/mod_foo.so. LoadModule auth_basic_module modules/mod_auth_basic.so. LoadModule auth_digest_module modules/mod_auth_digest.so. LoadModule authn_file_module modules/mod_authn_file.so. LoadModule authn_alias_module modules/mod_authn_alias.so. LoadModule authn_anon_module modules/mod_authn_anon.so. LoadModule модулі authn_dbm_module/mod_authn_dbm.so. LoadModule authn_default_module modules/mod_authn_default.so. LoadModule authz_host_module modules/mod_authz_host.so. LoadModule authz_user_module modules/mod_authz_user.so. LoadModule authz_owner_module modules/mod_authz_owner.so. LoadModule authz_groupfile_module modules/mod_authz_groupfile.so. LoadModule authz_dbm_module modules/mod_authz_dbm.so. LoadModule authz_default_module modules/mod_authz_default.so. LoadModule ldap_module modules/mod_ldap.so. LoadModule authnz_ldap_module modules/mod_authnz_ldap.so. LoadModule include_module modules/mod_include.so. LoadModule log_config_module modules/mod_log_config.so. LoadModule модулі logio_module/mod_logio.so. LoadModule env_module modules/mod_env.so. LoadModule ext_filter_module modules/mod_ext_filter.so. ...
Вище наведено список модулів, які увімкнені за замовчуванням, але часто не потрібні: mod_imap, mod_include, mod_info, mod_userdir, mod_autoindex. Щоб вимкнути конкретний модуль, можна вставити “#”На початку цього рядка та перезапустіть службу.
З установкою за замовчуванням Апач запускає свій процес з користувачем ніхто або демон. З міркувань безпеки рекомендується запустити Апач по -своєму непривілейований обліковий запис. Наприклад: http-web.
# groupadd http-web. # useradd -d/var/www/-g http -web -s/bin/nologin http -web
Тепер вам потрібно розповісти Апач щоб запустити з цим новим користувачем і зробити це, нам потрібно зробити запис у /etc/httpd/conf/httpd.conf і перезапустіть службу.
відчинено /etc/httpd/conf/httpd.conf за допомогою редактора vim та пошуку ключового слова "Користувач”Та“Група”І там вам потрібно буде вказати ім'я користувача та назва групи використовувати.
Користувач http-web. Група http-web
Ми можемо обмежити доступ до каталогів за допомогою "Дозволити”Та“Заперечити”Варіанти в httpd.conf файл. У цьому прикладі ми будемо забезпечувати кореневий каталог, для цього, встановивши наступне в httpd.conf файл.
Параметри Ні Замовити відмовити, дозволити Відхилити від усіх.
Ці два модулі "mod_security”Та“mod_evasive”Є дуже популярними модулями Apache з точки зору безпеки.
Де mod_security працює як а брандмауер для наших веб -додатків і дозволяє нам стежити за трафіком в режимі реального часу. Це також допомагає нам захистити наші веб -сайти або веб -сервер від напади грубої сили. Ви можете просто встановити mod_security на вашому сервері за допомогою інсталяторів пакетів за замовчуванням.
$ sudo apt-get install libapache2-modsecurity. $ sudo a2enmod mod-security. $ sudo /etc/init.d/apache2 примусове перезавантаження
# yum install mod_security. # /etc/init.d/httpd перезапуск
mod_evasive працює дуже ефективно, потрібен один запит, щоб його обробити та дуже добре обробити. Це запобігає DDOS -атаки від того, щоб завдати якомога більшої шкоди. Ця особливість mod_evasive дозволяє йому обробляти Груба сила HTTP та Dos або DDos нападу. Цей модуль виявляє атаки трьома методами.
mod_evasive можна встановити безпосередньо з джерела. Тут у нас є керівництво з встановлення та налаштування цих модулів, яке допоможе вам налаштувати ці модулі Apache у вашому коробці Linux.
За замовчуванням Апач випливає символічні посилання, ми можемо вимкнути цю функцію з FollowSymLinks з Директива опцій. І для цього нам потрібно зробити наступний запис у основному файлі конфігурації.
Варіанти -FollowSymLinks
І, якщо якісь конкретні користувача або веб -сайт потреба FollowSymLinks увімкнути, ми можемо просто написати правило в ".htaccess”З цього веб -сайту.
# Увімкнути символічні посилання. Параметри +FollowSymLinks
Примітка: Щоб увімкнути правила переписування всередині ".htaccess"Файл"AllowOverride All”Має бути присутнім у головній конфігурації у всьому світі.
Ми можемо вимкнути сторона сервера включає (mod_include) і CGI виконання, якщо це не потрібно, і для цього нам потрібно змінити основний файл конфігурації.
Варіанти -Включає. Параметри -ExecCGI
Ми також можемо зробити це для певного каталогу за допомогою тегу Directory. Ось У цьому прикладі ми вимикаючи Включає та виконання файлів Cgi для "/var/www/html/web1”Довідник.
Параметри -Включає -ExecCGI.
Ось деякі інші значення з може бути включено або вимкнено з директивою Options.
За замовчуванням Апач не має обмежень щодо загального розміру запиту HTTP, тобто необмежений, і коли ви дозволяєте великі запити на веб -сервері, можливо, ви можете стати жертвою Атаки відмови в обслуговуванні. Ми можемо обмежити розмір запитів директиви Apache "LimitRequestBody”З тегом каталогу.
Ви можете встановити значення в байтах з 0 (необмежений) до 2147483647 (2 ГБ), які дозволені в тілі запиту. Ви можете встановити це обмеження відповідно до потреб вашого сайту. Припустимо, що у вас є сайт, на якому ви дозволяєте завантаження, і ви хочете обмежити розмір завантаження для певного каталогу.
Ось у цьому прикладі, user_uploads це каталог, який містить файли, завантажені користувачами. Ми встановлюємо межу 500 тис для цього.
LimitRequestBody 512000.
Ну, це правда, що ви не можете повністю захистити свій веб -сайт від DDos -атаки. Ось деякі директиви, які можуть допомогти вам контролювати це.
Apache дозволяє входити в систему незалежно від вашого Журналювання ОС. Разумно включити ведення журналу Apache, оскільки воно надає більше інформації, наприклад, команди, введені користувачами, які взаємодіяли з вашим веб -сервером.
Для цього вам потрібно включити mod_log_config модуль. З Apache доступні три основні директиви, пов'язані з веденням журналу.
Ви також можете використовувати їх для певного веб -сайту, яким займаєтесь Віртуальний хостинг і для цього вам потрібно вказати його у розділі віртуального хоста. Наприклад, ось конфігурація віртуального хоста мого веб -сайту з увімкненою реєстрацією.
DocumentRoot /var/www/html/example.com/ Ім'я сервера www.example.com. DirectoryIndex index.htm index.html index.php. ServerAlias example.com. ErrorDocument 404 /story.php. ErrorLog/var/log/httpd/example.com_error_log CustomLog /var/log/httpd/example.com_access_log об'єднано
Останнє, але не найменш важливе Сертифікати SSL, Ви можете захистити всю комунікацію в зашифрованому вигляді через Інтернет за допомогою сертифіката SSL. Припустимо, у вас є веб-сайт, на якому люди входять, підтвердивши свої облікові дані для входу, або у вас є веб-сайт електронної комерції, де люди надають свої дані банківські реквізити або Дебет/Кредит дані картки для придбання продуктів, за замовчуванням веб -сервер надсилає ці дані у звичайному текстовому форматі, але під час використання Сертифікати SSL на ваші веб -сайти, Апач надсилає всю цю інформацію у зашифрованому тексті.
Ти можеш придбати сертифікати SSl від такої кількості різних постачальників SSL, як namecheap.com. Якщо ви ведете дуже маленький веб -бізнес і не бажаєте цього робити придбати сертифікат SSL Ви все ще можете призначити Самостійно підписаний сертифікат на ваш веб -сайт. Апач використовує mod_ssl модуль для підтримки Сертифікат SSL.
# openssl genrsa -des3 -out example.com.key 1024. # openssl req -новий -ключний example.com.key -out exmaple.csr. # openssl x509 -req -days 365 -in example.com.csr -signkey example.com.com.key -out example.com.com.crt
Після того, як ваш сертифікат буде створено та підписано. Тепер вам потрібно додати це в конфігурацію Apache. Відкрийте основний файл конфігурації за допомогою редактора vim, додайте наступні рядки та перезапустіть службу.
SSLEngine на SSLCertificateFile /etc/pki/tls/certs/example.com.crt SSLCertificateKeyFile /etc/pki/tls/certs/example.com.key SSLCertificateChainFile /etc/pki/tls/certs/sf_bundle.crt ServerAdmin [захищена електронною поштою] Ім'я сервера example.com DocumentRoot/var/www/html/example/ErrorLog /var/log/httpd/example.com-error_log CustomLog /var/log/httpd/example.com-access_log загальне.
Відкрийте браузер, введіть https://example.com, і ви зможете побачити нове самопідписаний сертифікат.
Ось кілька порад щодо безпеки, якими ви можете скористатися захистіть свій веб -сервер Apache встановлення. Більш корисні поради та ідеї щодо безпеки див. В офіційній онлайн -документації на HTTP -сервер Apache.