Apache традиційно був королем спільного веб-хостингу. Він популярний, стабільний, гнучкий і добре підтримується на різноманітних платформах. Однак це зовсім не єдина можливість для обслуговування HTTP-трафіку. Інші альтернативи, такі як Nginx, існують уже деякий час і зростають у використанні, оскільки власники веб-сайтів вимагають вищих рівнів продуктивності та масштабованості. Я хочу приділити трохи часу розгляду Nginx, деяким його перевагам та недолікам, а також тому, як ми покращуємо його надання нашим клієнтам як альтернативу традиційним серверам Apache.
На своїй основі, Nginx є надзвичайно ефективним і потужним HTTP сервером. Його однопотокова, асинхронна модель обробки запитів контрастує з моделлю Apache, яка працює на основі процесу на з’єднання. Використовуючи швидкий цикл подій, один процес Nginx може масштабуватися для обробки тисяч одночасних запитів, зберігаючи при цьому мінімальне використання пам’яті (у найбільш поширених навантаженнях, лише кілька десятків мегабайтів RAM). Крім того, модульна архітектура Nginx дозволяє розробникам та членам спільноти створювати нові рішення для розширення функціональності Nginx. У деяких випадках розробка модулів з відкритим вихідним кодом породила активні спільноти навколо розширення функціональності Nginx.
Ми знаємо, що у вас багато варіантів VPS
Ось чому пропозиція VPS від DreamHost вирізняється: цілодобова підтримка клієнтів, інтуїтивно зрозумілий Panel, масштабована RAM, необмежена пропускна здатність, необмежене хостинг доменів та SSD місце.
Хоча ми давно пропонуємо Nginx для VPS і виділених серверів як альтернативу традиційному сервісу Apache, ми не надавали всіх додаткових функцій, які пропонуємо з Apache, особливо щодо вбудованої безпеки додатків. Історично, рішення веб-застосувань файрволу, керовані спільнотою для Nginx, були трохи неяскравими. SpiderLabs, команда за поважним рішенням ModSecurity для Apache, дійсно розробила підтримку для Nginx, оскільки спільнота почала переходити на цей альтернативний сервер, але проблеми зі стабільністю та сумісністю мучили цю гілку протягом багатьох років. SpiderLabs працює над новою версією ModSecurity, призначеною для портування на ряд HTTP серверів, але наразі ця робота все ще дуже бета-версія. Інші рішення WAF для Nginx, такі як Naxsi (рідний модуль Nginx, призначений для запобігання атакам XSS та SQLi), існують, але не мають міцності та набору функцій, які забезпечує ModSecurity. В кінцевому рахунку, не існує стабільного, повноцінного рішення з відкритим кодом як альтернатива ModSecurity для Nginx — до цього моменту.
Увійдіть в lua-resty-waf.
Цей проект створено на платформі OpenResty, наборі програмного забезпечення, який поєднує оригінальний проект Nginx із інтерпретатором Lua та ефективним JIT-компілятором. Платформа дозволяє користувачам швидко розробляти та масштабувати додатки на мові Lua, використовуючи гнучкість та потужність, які надає Nginx. Lua-resty-waf прагне забезпечити набір функцій WAF, сумісних з ModSecurity, з використанням вбудованого компілятора LuaJIT, щоб створити ефективну платформу захисту додатків, здатну використовувати існуючі набори правил ModSecurity.
Lua-resty-waf було спочатку написано як частину моєї магістерської роботи. Ідея проекту полягала в дослідженні витрат, ризиків та вимог, пов’язаних із розробкою інфраструктури хмарного WAF, подібної до тієї, що надають комерційні постачальники безпеки хмар, такі як Cloudflare та Incapsula — а потім надавати цю послугу безкоштовно. Звичайно, це було абсолютно нестійко, але як академічне завдання це було освітнім досвідом. Я вирішив зосередитись на публікації вихідного коду движка брандмауера, який забезпечує дану службу, продовжуючи розробляти функції та досліджувати нові методи виявлення аномальної та шкідливої поведінки. Досліджуючи нашу пропозицію Nginx у DreamHost, ми усвідомили, що ми могли б використати цей проект для надання тієї ж безпеки додатків, яку ми забезпечуємо, використовуючи ModSecurity для наших Apache сервісів.
Розробка цього проекту стала ще однією великою перемогою для зобов’язань DreamHost щодо внеску в проекти з відкритим кодом. Ми витратили чимало останніх місяців на рефакторинг, додавання нових особливостей та тестування проекту, і тепер ми пропонуємо його користувачам, які працюють на сучасних платформах VPS та виділених серверах. Це означає, що користувачі Nginx тепер можуть отримати ту саму вбудовану безпеку, яку ми забезпечуємо для сервісів Apache, включно з:
- Захист від загроз нульового дня для популярних CMS, таких як WordPress, Joomla, Drupal та інших
- Зменшення ризику атак методом «грубої сили» на загальні точки аутентифікації користувачів додатків
- Захист від шкідливих автоматизованих ботів та сервісів збору даних
- Моніторинг інтерактивних функцій платформ, таких як коментарі в блогах, на предмет спаму, DDoS та використання вразливостей
- Поведінковий аналіз трафіку на основі частоти звернень та цілей запитів
Усе це надається безперервно платформою lua-resty-waf, яка тепер входить до складу сучасних VPS та виділених серверів (під сучасними ми маємо на увазі сервери, що працюють на Ubuntu — якщо ви ще не оновились, вам слід це зробити!). Увімкнення безпеки для вашого домену так само просте, як встановлення прапорця “Додаткова веб-безпека” у вашій панелі управління доменом:
Тож чого ви чекаєте? Перевірте цей бокс безпеки та захистіть свій сайт уже сьогодні!