Takip et

Tomcat 10’u Apache veya Nginx ile Ubuntu 20.04 Üzerinde Güvenli Hale Getirme

Tomcat 10’u Apache veya Nginx ile Ubuntu 20.04 Üzerinde Güvenli Hale Getirme Giriş: Web Uygulamalarının Kalbi Tomcat ve Güvenliğin Önemi Apac

Tomcat 10’u Apache veya Nginx ile Ubuntu 20.04 Üzerinde Güvenli Hale Getirme

Giriş: Web Uygulamalarının Kalbi Tomcat ve Güvenliğin Önemi

Apache Tomcat, Java tabanlı web uygulamalarını barındırmak için yaygın olarak kullanılan açık kaynaklı bir web sunucusudur ve aynı zamanda bir servlet konteyneridir. Dünya genelinde milyonlarca kurumsal ve kişisel web uygulamasına güç veren Tomcat, esnekliği ve geniş topluluk desteği sayesinde popülerliğini korumaktadır. Ancak, herhangi bir internete açık hizmet gibi, Tomcat de doğru şekilde yapılandırılmadığında güvenlik açıkları barındırabilir. Bu açıkları kapatmak ve uygulamalarımızı kötü niyetli saldırılardan korumak, modern web altyapılarının temel bir gerekliliğidir.

Tek başına çalışan bir Tomcat sunucusu, güvenlik, performans ve yönetim açısından bazı sınırlamalara sahip olabilir. Özellikle SSL/TLS sonlandırma, yük dengeleme, statik içerik sunumu ve gelişmiş güvenlik politikaları gibi konularda, Apache HTTP Sunucusu veya Nginx gibi güçlü ters proxy’ler devreye girer. Bu ters proxy’ler, Tomcat’in önünde bir katman oluşturarak gelen istekleri yönetir, zararlı trafiği filtreler ve Tomcat sunucusunu doğrudan internete maruz kalmaktan korur. Bu makalede, Ubuntu 20.04 işletim sistemi üzerinde Tomcat 10’u Apache veya Nginx ile nasıl güvenli bir şekilde yapılandıracağımızı adım adım inceleyeceğiz. Amacımız, hem Tomcat’in iç güvenlik ayarlarını güçlendirmek hem de bir ters proxy kullanarak çok katmanlı bir savunma mekanizması oluşturmaktır.

Ön Koşullar

Bu makaledeki adımları takip edebilmek için aşağıdaki ön koşulların sağlanmış olması gerekmektedir:
* Ubuntu 20.04 LTS Sunucu: Temiz bir Ubuntu 20.04 kurulumuna sahip, root veya sudo yetkilerine sahip bir kullanıcı.
* Java Geliştirme Kiti (JDK): Tomcat 10, Java 8 veya üzeri bir sürüm gerektirir. OpenJDK 11 veya 17 önerilir.
* Apache Tomcat 10: En son kararlı sürümü kullanacağız.
* Apache HTTP Sunucusu veya Nginx: Tercihinize göre bir ters proxy sunucusu.
* Alan Adı (Domain Name): SSL/TLS sertifikası almak ve ters proxy’yi yapılandırmak için bir alan adına sahip olmanız önerilir.

Tomcat 10 Kurulumu ve Temel Yapılandırması

Tomcat’i kurmadan önce Java’yı kurmalı ve Tomcat için ayrı bir kullanıcı oluşturarak güvenlik risklerini azaltmalıyız.

Java Kurulumu

Tomcat 10 için OpenJDK 11’i kuralım:

sudo apt update
sudo apt install openjdk-11-jdk -y

Kurulumu doğrulayın:

java -version

Tomcat Kullanıcısı Oluşturma

Tomcat’i root kullanıcısı yerine ayrı bir kullanıcı altında çalıştırmak, güvenlik açısından kritik öneme sahiptir.

sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Tomcat 10 İndirme ve Çıkarma

Tomcat’in resmi web sitesinden en son kararlı sürümünü indirin. Bu makale yazıldığı sırada Tomcat 10.1.x kararlı sürümünü kullanacağız.

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.18/bin/apache-tomcat-10.1.18.tar.gz
sudo mkdir /opt/tomcat
sudo tar xzvf apache-tomcat-10.1.18.tar.gz -C /opt/tomcat --strip-components=1

Dosya İzinlerini Ayarlama

Tomcat kullanıcısının /opt/tomcat dizinine ve alt dizinlerine doğru erişim izinlerine sahip olduğundan emin olun.

sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Systemd Servis Dosyası Oluşturma

Tomcat’i bir sistem servisi olarak çalıştırmak, yönetimi kolaylaştırır.

sudo nano /etc/systemd/system/tomcat.service

Dosyanın içine aşağıdaki içeriği ekleyin:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/urandom"

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Servisi etkinleştirin ve başlatın:

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat
sudo systemctl status tomcat

Tomcat’in varsayılan olarak 8080 portunda çalıştığını kontrol edin: http://:8080.

Tomcat Yönetici Arayüzü Yapılandırması

Tomcat Manager ve Host Manager uygulamalarına erişmek için kullanıcı kimlik bilgileri oluşturmalısınız.

sudo nano /opt/tomcat/conf/tomcat-users.xml

etiketinin içine aşağıdaki satırları ekleyin. admin ve manager için güçlü parolalar seçtiğinizden emin olun.




Bu kullanıcılar, Tomcat Manager (uygulama dağıtımı) ve Host Manager (sanal host yönetimi) arayüzlerine erişim sağlar. Bu arayüzlere internetten doğrudan erişimi kısıtlamak güvenlik için çok önemlidir.

Tomcat 10 İç Güvenlik En İyi Uygulamaları

Ters proxy yapılandırmasına geçmeden önce, Tomcat’in kendi iç güvenlik ayarlarını güçlendirmek kritik öneme sahiptir.

Varsayılan Uygulamaları Kaldırma veya Kısıtlama

Üretim ortamında docs, examples, host-manager ve manager gibi varsayılan uygulamaların çoğu gereksizdir ve potansiyel güvenlik açıkları barındırabilir.
* Kaldırma: En güvenli yöntem, bu dizinleri tamamen silmektir:

sudo rm -rf /opt/tomcat/webapps/docs
    sudo rm -rf /opt/tomcat/webapps/examples

* Kısıtlama: Eğer manager veya host-manager uygulamalarını kullanmanız gerekiyorsa, erişimi belirli IP adresleriyle kısıtlayın.

sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
    sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

etiketinin içine aşağıdaki satırı ekleyin veya mevcut Valve etiketini güncelleyin. Kendi IP adresinizi veya güvenilir ağ IP’lerinizi allow niteliğine ekleyin.

Bu, yalnızca belirtilen IP adreslerinden erişime izin verir.

AJP Konnektörünü Devre Dışı Bırakma veya Güvenliğini Sağlama

AJP (Apache JServ Protocol), Apache HTTP Sunucusu ile Tomcat arasında optimize edilmiş bir iletişim protokolüdür. Ancak, çoğu modern kurulumda HTTP proxy yeterlidir ve AJP’nin yanlış yapılandırılması güvenlik riskleri oluşturabilir. Eğer kullanmıyorsanız, AJP konnektörünü devre dışı bırakın:

sudo nano /opt/tomcat/conf/server.xml

Aşağıdaki satırı yorum satırı haline getirin veya silin:

Eğer AJP kullanmanız gerekiyorsa, aşağıdaki gibi güvenliğini sağlayın:

address="127.0.0.1" ile yalnızca yerel makineden erişime izin verilir ve secret niteliği ile güçlü bir parola belirlenir. Bu parola, Apache veya Nginx yapılandırmasında da kullanılacaktır.

Tomcat Loglarını Yapılandırma ve İzleme

Tomcat’in logları, güvenlik olaylarını ve potansiyel saldırıları tespit etmek için hayati öneme sahiptir. conf/logging.properties dosyasını inceleyin ve log seviyelerini gerektiği gibi ayarlayın. Logları düzenli olarak izlemek için bir log yönetim aracı (örn. ELK Stack, Splunk) kullanmayı düşünün.

JVM Güvenliği

Tomcat’i çalıştıran JVM’in güvenliği de önemlidir. JAVA_OPTS ortam değişkeninde java.security.egd=file:/dev/./urandom gibi ayarlar, kriptografik işlemler için daha güvenli rastgele sayılar üretilmesini sağlar. Ayrıca, JMX (Java Management Extensions) kullanıyorsanız, erişimi kısıtladığınızdan ve güçlü kimlik doğrulaması kullandığınızdan emin olun.

Tomcat yapılandırmasında yaptığınız her değişiklikten sonra Tomcat servisini yeniden başlatmayı unutmayın:

sudo systemctl restart tomcat

Ters Proxy (Reverse Proxy) Kavramı ve Avantajları

Ters proxy, istemciden gelen istekleri alıp bir veya daha fazla arka uç sunucuya (bu durumda Tomcat) ileten bir sunucudur. İstemci, arka uç sunucuyla doğrudan iletişim kurmaz; tüm iletişim ters proxy üzerinden gerçekleşir. Bu mimari, birçok güvenlik ve performans avantajı sunar:
* Güvenlik: Arka uç sunucuların IP adreslerini gizler ve onları doğrudan internete maruz kalmaktan korur. Kötü niyetli istekleri filtreleyebilir ve DDoS saldırılarına karşı bir ilk savunma hattı oluşturabilir.
* SSL/TLS Sonlandırma: SSL/TLS şifrelemesini ters proxy üzerinde sonlandırarak arka uç sunucuların bu yükten kurtulmasını sağlar. Bu, Tomcat’in daha fazla uygulama isteği işlemesine olanak tanır.
* Yük Dengeleme: Gelen trafiği birden fazla arka uç sunucuya dağıtarak yüksek kullanılabilirlik ve ölçeklenebilirlik sağlar.
* Statik İçerik Sunumu: Resimler, CSS ve JavaScript dosyaları gibi statik içerikleri doğrudan ters proxy üzerinden sunarak Tomcat’in yükünü azaltır ve performansı artırır.
* Gelişmiş Güvenlik Başlıkları: HTTP güvenlik başlıklarını (HSTS, CSP vb.) kolayca uygulayarak modern web güvenliğini artırır.
* URL Yeniden Yazma: Gelen isteklerin URL’lerini yeniden yazarak daha esnek yönlendirme ve SEO dostu URL’ler sağlar.

Şimdi Apache ve Nginx ile bu avantajları nasıl uygulayacağımıza bakalım.

Apache 2 ile Tomcat’i Güvenli Hale Getirme

Apache HTTP Sunucusu, modüler yapısı sayesinde güçlü bir ters proxy olarak görev yapabilir.

Apache Kurulumu ve Gerekli Modülleri Etkinleştirme

sudo apt install apache2 -y

Gerekli Apache modüllerini etkinleştirin:

sudo a2enmod proxy proxy_http proxy_ajp ssl headers rewrite
sudo systemctl restart apache2

* proxy: Temel proxy işlevselliği.
* proxy_http: HTTP protokolü üzerinden proxy.
* proxy_ajp: AJP protokolü üzerinden proxy (eğer kullanılıyorsa).
* ssl: SSL/TLS şifrelemesi.
* headers: HTTP başlıklarını yönetme.
* rewrite: URL yeniden yazma.

Apache Sanal Host Yapılandırması (HTTP Proxy)

Tomcat’i 8080 portundan değil, standart HTTP portu (80) üzerinden erişilebilir hale getirelim.

sudo nano /etc/apache2/sites-available/tomcat.conf

Dosyanın içine aşağıdaki içeriği ekleyin. example.com yerine kendi alan adınızı kullanın.


    ServerName example.com
    ServerAlias www.example.com

    ProxyRequests Off
    ProxyPreserveHost On

    
        Require all granted
    

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/

    ErrorLog ${APACHE_LOG_DIR}/tomcat_error.log
    CustomLog ${APACHE_LOG_DIR}/tomcat_access.log combined

Bu yapılandırma, example.com adresine gelen tüm istekleri yerel Tomcat sunucusunun 8080 portuna yönlendirir.

Apache Sanal Host Yapılandırması (HTTPS Proxy ve Let’s Encrypt)

Web sitenizi HTTPS üzerinden yayınlamak, modern web güvenliğinin temelidir. Let’s Encrypt ile ücretsiz SSL/TLS sertifikaları alabiliriz.

Certbot Kurulumu ve SSL Sertifikası Alma
sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d example.com -d www.example.com

Certbot, otomatik olarak Apache yapılandırmanızı güncelleyecek ve SSL sertifikasını kuracaktır.

SSL Yapılandırmasını Güçlendirme

Certbot’un oluşturduğu SSL yapılandırmasını daha da güçlendirebiliriz. ssl.conf dosyasını düzenleyin:

sudo nano /etc/apache2/mods-enabled/ssl.conf

Aşağıdaki satırları bulun ve güncelleyin (veya ekleyin):

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLHonorCipherOrder on
SSLCompression off
SSLSessionTickets Off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling_cache(128K)"

Bu ayarlar, daha güçlü şifreleme algoritmaları ve protokolleri kullanılmasını sağlar.

Gelişmiş Güvenlik Başlıkları Ekleme

HTTP güvenlik başlıkları, tarayıcı tabanlı saldırılara karşı ek koruma sağlar. Bu başlıkları tomcat.conf dosyanıza ekleyin:


    ServerName example.com
    ServerAlias www.example.com

    ProxyRequests Off
    ProxyPreserveHost On

    
        Require all granted
    

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/

    # SSL Ayarları (Certbot tarafından eklenir)
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf

    # Güvenlik Başlıkları
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
    Header always set X-Frame-Options "DENY"
    Header always set X-Content-Type-Options "nosniff"
    Header always set X-XSS-Protection "1; mode=block"
    Header always set Referrer-Policy "no-referrer-when-downgrade"
    # Content-Security-Policy başlığı uygulamanıza özel olarak yapılandırılmalıdır.
    # Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';"

    ErrorLog ${APACHE_LOG_DIR}/tomcat_ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/tomcat_ssl_access.log combined

* Strict-Transport-Security (HSTS): Tarayıcıları her zaman HTTPS kullanmaya zorlar.
* X-Frame-Options: Sitenizin iframe’lerde görüntülenmesini engeller (clickjacking koruması).
* X-Content-Type-Options: Tarayıcıların MIME tiplerini tahmin etmesini engeller (MIME sniffing saldırılarına karşı).
* X-XSS-Protection: Tarayıcıların XSS saldırılarına karşı yerleşik korumalarını etkinleştirir.
* Referrer-Policy: Yönlendiren bilgilerinin nasıl gönderileceğini kontrol eder.
* Content-Security-Policy (CSP): XSS ve veri enjeksiyonu saldırılarını önlemek için güvenli içerik kaynaklarını belirler. (Bu başlık uygulamanızın gereksinimlerine göre dikkatlice yapılandırılmalıdır.)

HTTP’den HTTPS’ye Yönlendirme

Tüm HTTP isteklerini otomatik olarak HTTPS’ye yönlendirmek için tomcat.conf dosyasındaki 80 portu sanal hostunu aşağıdaki gibi güncelleyin:


    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent / https://example.com/
Yapılandırmayı Etkinleştirme ve Yeniden Başlatma
sudo a2ensite tomcat.conf
sudo apache2ctl configtest
sudo systemctl restart apache2

UFW Güvenlik Duvarı Yapılandırması (Apache için)

Yalnızca gerekli portlara (80 ve 443) izin verin:

sudo ufw allow 'Apache Full'
sudo ufw delete allow 'Apache' # Eğer önceden sadece 80 portuna izin verdiyseniz
sudo ufw enable # Eğer ufw etkin değilse
sudo ufw status

Nginx ile Tomcat’i Güvenli Hale Getirme

Nginx, yüksek performanslı ve hafif bir web sunucusu ve ters proxy’dir.

Nginx Kurulumu

sudo apt install nginx -y

Nginx Server Block Yapılandırması (HTTP Proxy)

Tomcat’i 80 portu üzerinden Nginx ile erişilebilir hale getirelim.

sudo nano /etc/nginx/sites-available/tomcat

Dosyanın içine aşağıdaki içeriği ekleyin. example.com yerine kendi alan adınızı kullanın.

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

* proxy_pass: İstekleri Tomcat’in çalıştığı adrese yönlendirir.
* proxy_set_header: Tomcat’in istemci IP’si ve protokolü gibi gerçek bilgileri almasını sağlar.

Nginx Server Block Yapılandırması (HTTPS Proxy ve Let’s Encrypt)

Apache’de olduğu gibi, Nginx için de Let’s Encrypt ile SSL sertifikası alacağız.

Certbot Kurulumu ve SSL Sertifikası Alma
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com

Certbot, Nginx yapılandırmanızı otomatik olarak güncelleyecek ve SSL sertifikasını kuracaktır.

SSL Yapılandırmasını Güçlendirme

Certbot’un oluşturduğu Nginx SSL yapılandırmasını daha da güçlendirebiliriz. sites-available/tomcat dosyanızı tekrar düzenleyin ve aşağıdaki SSL ayarlarını ekleyin/güncelleyin:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # Nginx için gerekli olabilir
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;

    # Diffie-Hellman parametreleri (güvenliği artırır, önceden oluşturulmuş olmalı)
    # sudo openssl dhparam -out /etc/nginx/dhparam.pem 2048
    # ssl_dhparam /etc/nginx/dhparam.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
    ssl_prefer_server_ciphers on;

    # OCSP Stapling
    ssl_stapling on;
    ssl_stapling_verify on;
    resolver 8.8.8.8 8.8.4.4 valid=300s;
    resolver_timeout 5s;

    add_header X-Frame-Options "DENY";
    add_header X-Content-Type-Options "nosniff";
    add_header X-XSS-Protection "1; mode=block";
    add_header Referrer-Policy "no-referrer-when-downgrade";
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    # Content-Security-Policy başlığı uygulamanıza özel olarak yapılandırılmalıdır.
    # add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';";

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
}

Nginx için Diffie-Hellman parametrelerini oluşturmak isteyebilirsiniz:

sudo openssl dhparam -out /etc/nginx/dhparam.pem 2048

Sonra ssl_dhparam /etc/nginx/dhparam.pem; satırını Nginx yapılandırmanıza ekleyin.

HTTP’den HTTPS’ye Yönlendirme

Certbot, HTTP’den HTTPS’ye yönlendirme için ayrı bir server bloğu oluşturacaktır. Eğer oluşturmadıysa, aşağıdaki gibi manuel olarak ekleyebilirsiniz:

server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}
Yapılandırmayı Etkinleştirme ve Yeniden Başlatma
sudo ln -s /etc/nginx/sites-available/tomcat /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

UFW Güvenlik Duvarı Yapılandırması (Nginx için)

Yalnızca gerekli portlara (80 ve 443) izin verin:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP' # Eğer önceden sadece 80 portuna izin verdiyseniz
sudo ufw enable # Eğer ufw etkin değilse
sudo ufw status

Yapılandırma Sonrası Güvenlik Kontrolleri ve Bakım

Güvenlik, tek seferlik bir işlem değil, sürekli bir süreçtir.

Erişim Testleri

* Web tarayıcınızdan alan adınızı (örn. https://example.com) ziyaret ederek uygulamanızın HTTPS üzerinden doğru şekilde çalıştığını doğrulayın.
* Tomcat Manager ve Host Manager arayüzlerine doğrudan 8080 portundan erişmeye çalışın (http://:8080/manager). Eğer IP kısıtlaması yaptıysanız, erişimin engellendiğini görmelisiniz.
* curl -I https://example.com komutunu kullanarak HTTP güvenlik başlıklarının doğru ayarlandığını kontrol edin.
* SSL Labs gibi araçlarla (https://www.ssllabs.com/ssltest/) SSL/TLS yapılandırmanızın derecesini kontrol edin.

Log İzleme

Hem Tomcat hem de ters proxy (Apache/Nginx) loglarını düzenli olarak izleyin. Anormal istekleri, hata mesajlarını veya yetkisiz erişim denemelerini tespit etmek için log analiz araçları kullanın.

Düzenli Güncellemeler

İşletim sistemi, Java, Tomcat, Apache/Nginx ve diğer tüm bağımlılıkları düzenli olarak güncelleyin. Güvenlik yamaları, bilinen zafiyetleri kapatır.

sudo apt update && sudo apt upgrade -y

Güvenlik Taramaları ve Denetimleri

Sitenizi düzenli olarak güvenlik tarayıcıları (örn. OWASP ZAP, Nessus, OpenVAS) ile tarayın. Bu araçlar, uygulamanızdaki ve altyapınızdaki potansiyel zafiyetleri ortaya çıkarabilir.

Yedeklemeler

Tomcat uygulamalarınızın, yapılandırma dosyalarınızın ve veritabanlarınızın düzenli yedeklerini alın. Bir güvenlik ihlali durumunda hızlı bir şekilde kurtarma yapabilmek için bu kritik öneme sahiptir.

Sonuç

Tomcat 10’u Apache veya Nginx ile Ubuntu 20.04 üzerinde güvenli hale getirmek, çok katmanlı bir yaklaşım gerektirir. Bu makalede, Tomcat’in kendi iç güvenlik ayarlarından başlayarak, Apache veya Nginx’i güçlü bir ters proxy olarak nasıl yapılandıracağımızı, SSL/TLS şifrelemesini nasıl uygulayacağımızı ve gelişmiş HTTP güvenlik başlıklarını nasıl ekleyeceğimizi detaylı bir şekilde inceledik.

Bir ters proxy kullanmak, Tomcat sunucunuzu doğrudan internete maruz kalmaktan koruyarak, SSL/TLS sonlandırma, yük dengeleme ve statik içerik sunumu gibi önemli avantajlar sağlar. Ayrıca, güvenlik başlıkları ve düzenli güncellemelerle birlikte, web uygulamanızın genel güvenlik duruşunu önemli ölçüde güçlendirir. Unutmayın ki güvenlik, sürekli dikkat ve bakım gerektiren dinamik bir süreçtir. Bu adımları uygulayarak ve düzenli olarak güvenlik pratiklerinizi gözden geçirerek, Tomcat tabanlı uygulamalarınızı kötü niyetli saldırılara karşı daha dirençli hale getirebilirsiniz.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.