NGINX Üzerinde HTTP/2, HTTP/3 (QUIC) ve ModSecurity Kurulumu

Günümüzde hız, güvenlik ve verimlilik web sunucuları için vazgeçilmez hale gelmiştir. Bu bağlamda HTTP/2 ve HTTP/3 desteği, ModSecurity güvenlik modülü ile donatılmış bir NGINX sunucusu kurmak, web uygulamalarınızın performansını ve güvenliğini artırmak için mükemmel bir adımdır. Bu yazıda, Ubuntu sunucuda NGINX HTTP/2 ve HTTP/3 (QUIC) desteği ile ModSecurity kurulumunu adım adım anlatacağız.

Anahtar Kelimeler: NGINX HTTP/2, NGINX HTTP/3, ModSecurity, Ubuntu, QUIC, web sunucusu güvenliği, yüksek performans.


1. Sunucuyu Güncelleme ve Gerekli Kütüphanelerin Yüklenmesi

Herhangi bir kurulum işlemine başlamadan önce Ubuntu sunucunuzu güncelleyerek işe başlayın:

sudo apt update && sudo apt upgrade -y

NGINX’i yeniden derlemek için gerekli bağımlılıkları yükleyin:

sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev golang git

2. BoringSSL Kütüphanesinin Kurulması

HTTP/3 desteği, TLS 1.3 güvenlik protokolünü destekleyen BoringSSL kütüphanesini gerektirir.

git clone https://boringssl.googlesource.com/boringssl
cd boringssl
mkdir build
cd build
cmake ..
make

Derlenen dosyaları /usr/local/boringssl klasörüne taşıyın:

mkdir -p /usr/local/boringssl
cp -r ../include /usr/local/boringssl/
cp ssl/libssl.a crypto/libcrypto.a /usr/local/boringssl/

3. NGINX’in HTTP/2 ve HTTP/3 Desteği ile Derlenmesi

HTTP/3 desteğini etkinleştirebilmek için NGINX’i BoringSSL kütüphanesi ile yeniden derlememiz gerekiyor. Öncelikle NGINX kaynak kodunu indirin:

cd ~
wget https://nginx.org/download/nginx-1.21.1.tar.gz
tar -zxvf nginx-1.21.1.tar.gz
cd nginx-1.21.1

Ardından QUIC ve HTTP/3 desteği ile NGINX’i derleyin:

./configure --prefix=/etc/nginx \
    --sbin-path=/usr/sbin/nginx \
    --modules-path=/usr/lib/nginx/modules \
    --conf-path=/etc/nginx/nginx.conf \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --pid-path=/var/run/nginx.pid \
    --lock-path=/var/run/nginx.lock \
    --with-http_ssl_module \
    --with-http_v2_module \
    --with-http_v3_module \
    --with-cc-opt='-I/usr/local/boringssl/include' \
    --with-ld-opt='-L/usr/local/boringssl/lib' \
    --with-stream_ssl_preread_module \
    --with-stream_quic_module

make ve make install komutları ile kurulumu tamamlayın:

make
sudo make install

4. HTTP/2 ve HTTP/3 Yapılandırması

NGINX Yapılandırma Dosyasını Düzenleme

HTTP/2 ve HTTP/3 protokollerini etkinleştirmek için NGINX yapılandırma dosyasını aşağıdaki şekilde yapılandırın:

server {
    listen 443 ssl http2;                # HTTP/2 desteği
    listen [::]:443 ssl http2;
    listen 443 quic reuseport;           # HTTP/3 desteği için QUIC
    listen [::]:443 quic reuseport;
    server_name www.siteniz.com;

    ssl_certificate /etc/ssl/certs/siteniz.com.pem;
    ssl_certificate_key /etc/ssl/private/siteniz.com.key;
    ssl_protocols TLSv1.3;               # HTTP/3 için TLS 1.3 kullanımı

    # HTTP/3 için ALPN uzantısı ekleyin
    add_header Alt-Svc 'h3-23=":443"';   
}

Değişikliklerden sonra NGINX’i yeniden başlatın:

sudo systemctl restart nginx

5. ModSecurity ile Güvenlik Sağlama

ModSecurity ve OWASP Kurallarının Kurulması

ModSecurity, NGINX’e ek güvenlik sağlamaktadır. Aşağıdaki komut ile ModSecurity ve OWASP Core Rule Set’i (CRS) ekleyin:

sudo apt install libmodsecurity3 libmodsecurity-dev -y
sudo git clone https://github.com/coreruleset/coreruleset.git /etc/nginx/modsec/coreruleset
cd /etc/nginx/modsec/coreruleset
sudo mv crs-setup.conf.example crs-setup.conf

ModSecurity Yapılandırması

NGINX yapılandırma dosyanızda modsecurity.conf ve crs-setup.conf dosyalarını etkinleştirin:

http {
    include /etc/nginx/modsec/modsecurity.conf;
    modsecurity on;
    modsecurity_rules_file /etc/nginx/modsec/coreruleset/crs-setup.conf;
}

Bu şekilde, güvenlik özellikleri eklenmiş, HTTP/2 ve HTTP/3 destekleyen bir NGINX yapısına sahip olacaksınız.

AnkSOFT Üzerinden Ubuntu VDS Satın Alın

Bu kurulumları güçlü ve güvenilir bir altyapıda gerçekleştirmek için Anksoft üzerinden Ubuntu VDS sunucu satın alabilirsiniz. Anksoft, yüksek performanslı VDS sunucular sunarak projelerinizin güvenliğini ve hızını sağlamaktadır.

ERROR: Unable to connect to MySQL server! Error: Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 104