DNSSEC (Domain Name System Security Extensions)

DNSSEC (Domain Name System Security Extensions), DNS (Domain Name System) üzerindeki güvenliği sağlamak için kullanılan bir dizi uzantıdır. DNSSEC, DNS sorgularının ve cevaplarının bütünlüğünü, kimlik doğrulamasını ve doğruluğunu sağlayarak DNS tabanlı saldırıları önlemek amacıyla geliştirilmiştir.

DNS, internet üzerindeki alan adlarını IP adreslerine çeviren bir sistemdir. Örneğin, bir web sitesine erişmek istediğinizde tarayıcınıza yazdığınız alan adı (örneğin, www.mesutguner.com), DNS tarafından ilgili IP adresine dönüştürülür ve isteğiniz ilgili sunucuya iletilir. Ancak, DNS yapılandırmasında güvenlik önlemleri eksik olduğunda, saldırganlar DNS sorgularını manipüle ederek kullanıcıları yanlış IP adreslerine yönlendirebilir veya sahte web sitelerine yönlendirebilir.

DNSSEC, bu tür saldırıları önlemek ve güvenliği artırmak için tasarlanmıştır. Aşağıda, DNSSEC’in nasıl çalıştığını anlatan adımları bulabilirsiniz:

  1. İmzalama Anahtarı Oluşturma: İlk adım, alan adını yöneten kuruluşun (örneğin, bir etki alanı kaydedicisi veya DNS sağlayıcısı) bir çift anahtar oluşturmasıdır. Bu çift anahtar, gizli bir özel anahtar (özel anahtar) ve buna karşılık gelen bir genel anahtar (açık anahtar) içerir.
  2. Bölge İmzalama: İmzalama anahtarları oluşturulduktan sonra, alan adı kayıtları (DNS kayıtları) imzalanır. Her kaydın bir dijital imzası oluşturulur, bu da kaydın bütünlüğünü ve doğruluğunu sağlar. İmzalama işlemi, özel anahtar kullanılarak gerçekleştirilir.
  3. Açık Anahtar Yayınlama: İmzalama işlemi tamamlandıktan sonra, genel anahtar, DNS sunucusunda yayınlanır. Bu, DNS istemcilerinin (örneğin, web tarayıcıları) alınan DNS yanıtlarını doğrulamasına olanak sağlar.
  4. Güven Zinciri: DNSSEC’de güvenlik zinciri önemlidir. Güven zinciri, DNS hiyerarşisi boyunca doğrulama sürecini destekler. Üst düzey etki alanı sunucuları, alt düzey etki alanı sunucularının (alt etki alanlarına sahip web siteleri) doğrulanmasını sağlayan dijital imzaları taşır. Böylece, bir kullanıcı bir etki alanı sorguladığında, yanıtın doğruluğunu doğrulayabilir.
  5. Doğrulama: DNS istemcileri, DNSSEC desteği olan bir DNS sunucusuna bir sorgu gönderdiğinde, sunucu DNSSEC imzalı kayıtlarla yanıt verir. Yanıttaki imzalar, DNS kayıtlarının doğruluğunu sağlamak için kullanılır.
  6. İmza Doğrulama: DNS istemcileri, aldıkları DNS yanıtlarındaki dijital imzaları doğrular. Bu doğrulama süreci, ilgili genel anahtarlarla imza doğrulama işlemi kullanılarak gerçekleştirilir. İmzalar doğrulandığında, DNS kayıtlarının bütünlüğü ve doğruluğu onaylanmış olur.

DNSSEC’in kullanılması, DNS üzerindeki çeşitli saldırı türlerine karşı koruma sağlar. Örneğin, DNS cache zehirleme saldırılarına karşı etkilidir. Bu tür saldırılar, yanıltıcı DNS kayıtlarının bir DNS sunucusunun önbelleğine enjekte edilerek kullanıcıları yanlış web sitelerine yönlendirir. DNSSEC ile, DNS kayıtlarının imzalanması ve doğrulanması sayesinde bu saldırı türleri önlenebilir.

DNSSEC, internetin güvenliğini artıran bir önlem olarak kabul edilir. Ancak, tam olarak etkili olabilmesi için DNSSEC’in hem etki alanı kaydedicileri hem de DNS sunucuları tarafından desteklenmesi gerekmektedir. Ayrıca, DNSSEC’in yaygın olarak benimsenmesi için internet altyapısında ve tarayıcı desteğinde değişikliklerin yapılması gerekmektedir.

DNSSEC, internetin güvenliğini artıran ve DNS üzerindeki saldırıları önleyen bir teknolojidir. Bu makalede, DNSSEC’in temel çalışma prensiplerini ve önemini açıklamaya çalıştım. Ancak, DNSSEC’in ayrıntılı teknik detayları ve uygulama yönergeleri için resmi DNSSEC kaynaklarını incelemeniz önerilir.

Ubuntu 20.04 üzerinde DNSSEC kurulumu için aşağıdaki adımları izleyebilirsiniz:

Paket Güncellemesi: Öncelikle sistem paketlerini güncellemeniz gerekmektedir. Terminali açın ve aşağıdaki komutları sırasıyla çalıştırın:

sudo apt update
sudo apt upgrade

DNSSEC Araçlarının Kurulumu: DNSSEC araçlarını yüklemek için aşağıdaki komutu kullanın:

sudo apt install dnssec-tools
DNSSEC Anahtar Çiftlerinin Oluşturulması: DNSSEC için kullanılacak anahtar çiftlerini oluşturmanız gerekmektedir. Aşağıdaki komutu kullanarak anahtar çiftlerini oluşturun:

sudo dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE example.com
Yukarıdaki komutta “example.com” yerine kendi alan adınızı kullanmalısınız. Bu komut, özel ve genel anahtar çiftlerini oluşturacaktır.

Anahtarların DNS Sunucusuna Eklenmesi: Oluşturulan anahtarları DNS sunucusuna eklemek için aşağıdaki komutu kullanın:

sudo dnssec-dsfromkey example.com.+008+12345
Yine, “example.com” alan adınızı kendi alan adınızla değiştirmelisiniz. Bu komut, DNS sunucusuna eklenecek olan DS (Delegation Signer) kaydını üretecektir.

DS Kaydının Kaydedilmesi: Oluşturulan DS kaydını alan adınızı yöneten alan adı kaydedicisine (domain registrar) göndermelisiniz. DS kaydını almak için aşağıdaki komutu kullanın:

sudo cat Kexample.com.+008+12345.dsset
Bu komut, DS kaydını terminale yazdıracaktır. Bu kaydı alan adı kaydedicinize ileterek DNSSEC desteğini etkinleştirmiş olursunuz.

DNS Sunucusunun Yapılandırılması: DNS sunucusunun yapılandırma dosyasını düzenleyerek DNSSEC ayarlarını yapmanız gerekmektedir. Örneğin, bind9 DNS sunucusunu kullanıyorsanız, “/etc/bind/named.conf.options” dosyasını düzenleyebilirsiniz. Aşağıdaki gibi ayarları ekleyin:

dnssec-enable yes;
dnssec-validation yes;
Bu ayarlar DNSSEC desteğini açacak ve DNSSEC doğrulamasını etkinleştirecektir.

DNS Sunucusunun Yeniden Başlatılması: Yapılandırmaları tamamladıktan sonra DNS sunucusunu yeniden başlatmanız gerekmektedir. Aşağıdaki komutu kullanarak DNS sunucusunu yeniden başlatın:

sudo service bind9 restart
DNS sunucusu başarıyla yeniden başladıktan

directadmin phpmyadmin one click login

merhaba

öncelikle

/usr/local/directadmin/directadmin c | grep one_click_pma_login

one_click_pma_login=0

ile login durumunu kontrol ediyoruz.

one_click_pma_login değerini set ediyoruz

cd /usr/local/directadmin

./directadmin set one_click_pma_login 1 restart

sonra tekrar build ediyoruz.

cd custombuild

./build update

./build phpmyadmin

Ubuntu 22.04 Nginx proxy server kurulumu ve ayarları

Öncelikle paket derleyicimizi güncelleyerek başlıyoruz.
sudo apt-get update -y
sudo apt-get upgrade -y

sonrasında ilgili paketleri kuruyoruz.
sudo apt-get install nginx -y
libnginx-mod-http-geoip2 nginx-common nginx-core nginx-proxy

sudo systemctl status nginx
● nginx - A high performance web, http and reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled;)
   Active: active (Nginx server running)

nano editörü ile default config file yada varsa sizin config dosyanız editliyoruz.

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

# example nginx reverse proxy mapping
# /etc/nginx/sites-available/default
location /examples {
  proxy_pass http://localhost:8080/examples;
}


nginx proxy header value set ediyoruz.


# example nginx reverse proxy config file
# /etc/nginx/sites-available/default
location /examples {
  proxy_pass http://localhost:8080/examples;
  proxy_buffering off;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Port $server_port;
}

nginx servisini restart ediyoruz.

sudo systemctl restart nginx

http://localhost/examples -- proxies for --> http://localhost:8080/examples



Zimbra Let’s Encrypt auto-renew SSL

#!/bin/bash

#Set domain for renew (in format openthreat.ro)
DOMAIN=””

#Stop the jetty or nginx service at Zimbra level
runuser -l zimbra -c ‘zmproxyctl stop’
runuser -l zimbra -c ‘zmmailboxdctl stop’

#Renew SSL
certbot renew –standalone

#Copy new SSL to Zimbra SSL folder
cp /etc/letsencrypt/live/mail.$DOMAIN/* /opt/zimbra/ssl/letsencrypt/
chown zimbra:zimbra /opt/zimbra/ssl/letsencrypt/*

#Build the proper Intermediate CA plus Root CA
echo “—–BEGIN CERTIFICATE—–
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/
MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow
PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD
Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O
rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq
OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b
xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw
7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD
aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG
SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69
ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr
AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz
R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5
JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo
Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
—–END CERTIFICATE—–” >> /opt/zimbra/ssl/letsencrypt/chain.pem

#Backup Zimbra SSL directory
cp -a /opt/zimbra/ssl/zimbra /opt/zimbra/ssl/zimbra.$(date “+%Y%m%d”)

#Copy the private key under Zimbra SSL path
cp /opt/zimbra/ssl/letsencrypt/privkey.pem /opt/zimbra/ssl/zimbra/commercial/commercial.key

#Final SSL deployment
runuser -l zimbra -c ‘cd /opt/zimbra/ssl/letsencrypt/ && /opt/zimbra/bin/zmcertmgr deploycrt comm cert.pem chain.pem’
runuser -l zimbra -c ‘zmcontrol restart’

Cpanel Reverse DNS does not match SMTP Banner çözümü

Reverse DNS does not match SMTP Banner sorununun çözümü için aşağıdaki adımları uygulayabilirsiniz.

  1. WHM panele login olun
  2. Sağ bardan Exim Configuration Manager açın
  3. ACL Options altında yer alanIntroduce a delay into the SMTP transaction for unknown hosts and messages detected as spam.”  durumun of olarak güncelleyin.
  4. Exim mail servisi restart edin sonrasında mxtoolbox dan kontrol edebilirsiniz.