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.