Linux Sunucu Güvenliği ve Optimizasyonu

7z1c4hb.png


Linux Sunucu Optimizasyonu Nedir?


Linux sunucu optimizasyonu, bir sunucunun performansını artırmak için yapılan tüm işlemleri ifade eder. Bu, sunucunun daha hızlı çalışmasına, daha az kaynak kullanmasına ve daha düşük bir yük oluşturmasına yardımcı olur. Sunucu optimizasyonu, sunucuların ömrünü uzatır, kullanıcılara daha hızlı yanıt verir ve işletmenin daha iyi bir kullanıcı deneyimi sunmasına yardımcı olur.

Linux Sunucu Güvenliği Nedir?


Linux sunucu güvenliği, bir sunucunun saldırılara karşı korunmasını sağlamak için yapılan tüm işlemleri ifade eder. Bu, kötü amaçlı yazılımların sunucuya erişmesini engelleyen, yetkisiz erişimleri engelleyen ve sunucu verilerini koruyan önlemleri içerir. Sunucu güvenliği, işletmenin siber saldırılara karşı korunmasına yardımcı olur ve işletme verilerinin güvenliğini sağlar.

Linux Sunucu Güvenliği ve Optimizasyonu İçin İpuçları

  1. Sunucu Yazılımı Güncellemelerini Yapın
Sunucu yazılımı güncellemeleri, sunucunun güvenliğini sağlamak için çok önemlidir. Bu güncellemeler, sunucunun güvenliği açıklarını kapatarak, kötü amaçlı yazılımları ve saldırıları engelleyen güncellemeler içerir. Sunucunuzun otomatik güncelleme özelliği varsa, bu özelliği etkinleştirmenizi öneririz. Aksi takdirde, güncellemeleri düzenli olarak kontrol etmeniz ve yüklemeniz gerekecektir.

PHP:
sudo apt-get update && sudo apt-get upgrade

Bu komut, Ubuntu ve Debian tabanlı sistemlerdeki yazılım güncellemelerini yapar.

  1. Güvenlik Duvarı (Firewall) Kullanın
Güvenlik duvarı, sunucunuzun güvenliği için önemli bir bileşendir. Güvenlik duvarı, sunucunuzun giriş ve çıkışlarını kontrol eder ve kötü amaçlı yazılımları engelleyerek sunucunuzu korur. Linux sunucular için en popüler güvenlik duvarı uygulamalarından biri iptables'tir. Bu uygulama, sunucunuza gelen trafikleri filtreleyerek, zararlı trafikleri engeller ve doğru trafikleri sunucunuza geçirir.

PHP:
sudo apt-get install iptables

Bu komut, iptables uygulamasını Ubuntu ve Debian tabanlı sistemlere kurar.

  1. SSH Erişimini Sınırlayın
SSH erişimi, sunucunuza uzaktan erişmenizi sağlayan bir protokoldür. Ancak, SSH erişimi, kötü niyetli kişilerin sunucunuza erişmesi için bir yol da sağlayabilir. Bu nedenle, SSH erişimini sınırlamak önemlidir. SSH erişimini sınırlamak için, sunucunuzda yalnızca belirli IP adreslerinden SSH erişimi sağlanmasını sağlayabilirsiniz.
PHP:
sudo nano /etc/ssh/sshd_config

Bu komut, SSH konfigürasyon dosyasını açar.

Dosya içinde aşağıdaki satırları bulun ve düzenleyin:
PHP:
#Port 22
#PermitRootLogin yes
#PasswordAuthentication yes

Port numarasını istediğiniz bir port numarası ile değiştirin. Root kullanıcısının SSH erişimini engellemek için "PermitRootLogin no" olarak değiştirin. Parola tabanlı kimlik doğrulamasını engellemek için "PasswordAuthentication no" olarak değiştirin.

  1. DoS (Denial of Service) Saldırılarına Karşı Koruma Sağlayın
DoS saldırıları, sunucunuza aşırı miktarda trafik göndererek sunucunuzu çökertmeye veya hizmetlerinizi engellemeye çalışan saldırılardır. DoS saldırılarına karşı korunmak için, sunucunuzdaki ağ bağlantısını korumak için bir DoS koruma çözümü kullanabilirsiniz. DoS koruma çözümleri, sunucunuza gelen trafikleri filtreleyerek, zararlı trafikleri engeller ve doğru trafikleri sunucunuza geçirir.

PHP:
sudo apt-get install fail2ban

Bu komut, Ubuntu ve Debian tabanlı sistemlere Fail2Ban uygulamasını yükler. Fail2Ban, DoS saldırılarına karşı koruma sağlar.

  1. Swap Alanını Ayarlayın
Swap alanı, RAM belleğiniz dolu olduğunda kullanılacak ek bir bellek alanıdır. Swap alanı, sunucunuzun daha az bellek kullanmasına yardımcı olur ve sunucunuzun daha hızlı çalışmasını sağlar. Swap alanı ayarı, sunucunuzun optimize edilmesine yardımcı olabilir.

PHP:
sudo nano /etc/fstab

Bu komut, disk yapılandırma dosyasını açar.

Aşağıdaki satırları dosyanın sonuna ekleyin:

PHP:
/swapfile none swap sw 0 0

Bu satır, swap alanınızı oluşturur. Swap alanının boyutunu ayarlamak için aşağıdaki komutu kullanabilirsiniz:
PHP:
sudo fallocate -l [boyut]G /swapfile

[boyut] kısmını swap alanının boyutu ile değiştirin. Örneğin, 2 GB swap alanı için aşağıdaki komutu kullanabilirsiniz:

PHP:
sudo fallocate -l 2G /swapfile

Swap alanını oluşturduktan sonra aşağıdaki komutları kullanarak swap alanınızı etkinleştirebilirsiniz:

PHP:
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

  1. Sistem Güncellemelerini Yapın
Sunucunuzda çalışan yazılımların güncel olması, sunucunuzun güvenliği ve performansı için önemlidir. Güncelleştirilmemiş yazılımlar, güvenlik açıkları ve hatalar içerebilir. Bu nedenle, sistem güncellemelerini düzenli olarak yapmanız önemlidir.

PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sistemdeki tüm paketlerin ve uygulamaların güncellenmesini sağlar.

  1. SSH Kimlik Doğrulamasını Anahtar Tabanlı Yapın
SSH kimlik doğrulaması, sunucunuza SSH ile erişen kişilerin kimliklerini doğrulamak için kullanılır. SSH kimlik doğrulamasını anahtar tabanlı yapmak, güvenlik açısından daha güvenlidir. Anahtar tabanlı kimlik doğrulaması, parola tabanlı kimlik doğrulamasına göre daha zor çözülebilir ve daha az saldırıya maruz kalır.

PHP:
ssh-keygen -t rsa

Bu komut, RSA anahtarı oluşturur.

Oluşturulan anahtarı sunucuya kopyalamak için aşağıdaki komutu kullanabilirsiniz:

PHP:
ssh-copy-id [kullanıcı]@[sunucu_ip_adresi]

[kullanıcı] kısmını sunucuya bağlanmak için kullanacağınız kullanıcı adı ile değiştirin. [sunucu_ip_adresi] kısmını sunucunuzun IP adresi ile değiştirin.

SSH anahtarını kullanarak sunucuya bağlanmak için aşağıdaki komutu kullanabilirsiniz:

PHP:
ssh [kullanıcı]@[sunucu_ip_adresi] -i [anahtar_dosyası_yolu]

[kullanıcı], [sunucu_ip_adresi] ve [anahtar_dosyası_yolu] kısmını oluşturduğunuz kullanıcı adı, sunucunuzun IP adresi ve oluşturduğunuz anahtar dosyasının
yoluyla değiştirin.

  1. Güvenliğinizi Artırmak için Güvenlik Duvarı Kullanın
Güvenlik duvarı, sunucunuzun internete açık olan bağlantılarını koruyan bir güvenlik önlemidir. Güvenlik duvarı, istenmeyen trafikleri engelleyerek sunucunuzu daha güvenli hale getirir.

Ubuntu'da, güvenlik duvarı olarak ufw (Uncomplicated Firewall) kullanılır. Ufw, kullanımı kolay bir arayüz sağlar ve aşağıdaki komutlarla kolayca yapılandırılabilir:

PHP:
sudo ufw allow [port]/[protokol]

Bu komut, belirtilen port ve protokol için trafiği izin verir. Örneğin, HTTP trafiğini izin vermek için aşağıdaki komutu kullanabilirsiniz:

PHP:
sudo ufw allow 80/tcp
PHP:
sudo ufw enable

Bu komut, ufw güvenlik duvarını etkinleştirir.

  1. SSL Sertifikası Kurulumu
SSL sertifikası, sunucunuzda iletişim kurarken verilerin şifrelenmesini sağlar. Bu, sunucunuzu daha güvenli hale getirir ve kullanıcılarınızın güvenliğini sağlar.

Let's Encrypt, sunucularınız için ücretsiz SSL sertifikaları sağlar. Let's Encrypt'in certbot aracını kullanarak sunucunuz için SSL sertifikası kurabilirsiniz.

PHP:
sudo apt-get install certbot python3-certbot-nginx

Bu komut, certbot aracını ve nginx için certbot eklentisini kurar.

PHP:
sudo certbot --nginx

Bu komut, certbot aracını kullanarak nginx üzerinde SSL sertifikası kurar.

  1. Veritabanı Güvenliği
Sunucunuzda çalışan uygulamalar genellikle bir veritabanına ihtiyaç duyar. Veritabanı güvenliği, uygulamanızın ve sunucunuzun güvenliği için önemlidir. Veritabanınızı korumak için aşağıdaki adımları takip edebilirsiniz:

  • Veritabanı yönetim sisteminizin (DBMS) en son sürümünü kullanın.
  • Güçlü şifreler kullanın ve düzenli olarak şifreleri değiştirin.
  • Veritabanı kullanıcılarının yalnızca gerekli izinlere sahip olmasını sağlayın.
  • Veritabanı erişimi için güvenli bir protokol kullanın.
  1. Sunucu Performansını Artırmak için Optimizasyon Yapın
Sunucu optimizasyonu, sunucunuzun performansını artırmak için yapılan bir dizi işlemdir. Aşağıdaki adımları takip ederek sunucu performansınızı artırabilirsiniz:

  • Kullanılmayan servisleri devre dışı bırakın.
  • DNS sorgularını hızlandırmak için DNS önbellek yükleme kullanın.
    • Önbellekleme mekanizmalarını kullanarak sunucu yanıt süresini azaltın.
    • Dosya sistemini optimize edin.
  • Kullanılmayan Servisleri Devre Dışı Bırakma

    Sunucunuzda kullanmadığınız servisleri devre dışı bırakmak, sunucunuzun performansını artırabilir ve güvenliğini artırabilir. Ubuntu'da, systemd servis yöneticisi kullanılarak servisler yönetilir. Aşağıdaki komutları kullanarak devre dışı bırakmak istediğiniz servisleri durdurabilir ve kapatılmasını sağlayabilirsiniz:

PHP:
sudo systemctl stop [servis]
sudo systemctl disable [servis]


Örneğin, SSH servisini durdurmak ve kapatmak için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo systemctl stop ssh
sudo systemctl disable ssh

DNS Önbellekleme Kullanma

DNS önbellekleme, sunucunuzun DNS sorgularını önbelleğe alarak yanıt süresini azaltır. Bu, sunucunuzun daha hızlı yanıt vermesini sağlar. Ubuntu'da, nscd (Name Service Caching Daemon) kullanarak DNS önbellekleme yapılandırılabilir.

PHP:
sudo apt-get install nscd

Bu komut, nscd servisini yükler.

PHP:
sudo systemctl start nscd

Bu komut, nscd servisini başlatır.

Önbellekleme Mekanizmalarını Kullanma

Önbellekleme, sunucunuzun yanıt süresini azaltmak için kullanılan bir mekanizmadır. Apache veya Nginx gibi web sunucularında, önbellekleme, sunucu yanıt süresini azaltmak için kullanılabilir. Önbellekleme, statik içerikleri önbelleğe alarak sunucu yanıt süresini azaltır. Ubuntu'da, önbellekleme mekanizmaları olarak Varnish veya Redis kullanılabilir.

Dosya Sistemi Optimizasyonu

Dosya sistemi optimizasyonu, sunucunuzdaki dosya sistemlerinin performansını artırmak için yapılan bir dizi işlemdir. Ubuntu'da, dosya sistemleri için farklı optimizasyon seçenekleri mevcuttur. Örneğin, ext4 dosya sistemi için aşağıdaki komutlar kullanılabilir:

PHP:
sudo tune2fs -o journal_data_writeback /dev/sda1

Bu komut, ext4 dosya sisteminin performansını artırmak için kullanılır.

PHP:
sudo tune2fs -m 0 /dev/sda1

Bu komut, ext4 dosya sistemindeki boş alanı artırmak için kullanılır.

  1. Sistem Güncellemelerini Yapın
Sistem güncellemeleri, sunucunuzun güvenliğini sağlamak ve en son özellikleri kullanmanızı sağlamak için önemlidir. Ubuntu'da, güncellemeleri yapmak için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sunucunuzdaki tüm paketleri günceller.

  1. Firewall Kullanma
Firewall, sunucunuzun güvenliğini artırmak için kullanılan bir mekanizmadır. Ubuntu'da, ufw (Uncomplicated Firewall) kullanarak firewall yapılandırılabilir. Aşağıdaki komutları kullanarak ufw'yi yükleyebilirsiniz:

PHP:
sudo apt-get install ufw

Bu komut, ufw paketini yükler.

PHP:
sudo ufw enable

Bu komut, ufw'nin etkinleştirilmesini sağlar.

PHP:
sudo ufw allow [port]/[protocol]

Bu komut, belirli bir bağlantı noktası ve protokol için gelen trafiği izin verir.

Örneğin, SSH bağlantı noktasını izin vermek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo ufw allow 22/tcp

Bu komut, SSH bağlantı noktasının TCP protokolü üzerinden gelen trafiğe izin verir.

  1. Sistem Günlüklerini İnceleme
Sistem günlükleri, sunucunuzdaki olayları kaydeder. Günlükleri inceleyerek sunucunuzdaki sorunları tespit edebilirsiniz. Ubuntu'da, günlükleri incelemek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo tail -f /var/log/syslog

Bu komut, syslog dosyasını takip eder.

PHP:
sudo tail -f /var/log/auth.log

yapmak için aşağıdaki komutları kullanabilirsiniz:


PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sunucunuzdaki tüm paketleri günceller.

  1. Firewall Kullanma
Firewall, sunucunuzun güvenliğini artırmak için kullanılan bir mekanizmadır. Ubuntu'da, ufw (Uncomplicated Firewall) kullanarak firewall yapılandırılabilir. Aşağıdaki komutları kullanarak ufw'yi yükleyebilirsiniz:

PHP:
sudo apt-get install ufw

Bu komut, ufw paketini yükler.


PHP:
sudo ufw enable

Bu komut, ufw'nin etkinleştirilmesini sağlar.


PHP:
sudo ufw allow [port]/[protocol]

Bu komut, belirli bir bağlantı noktası ve protokol için gelen trafiği izin verir.

Örneğin, SSH bağlantı noktasını izin vermek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo ufw allow 22/tcp

Bu komut, SSH bağlantı noktasının TCP protokolü üzerinden gelen trafiğe izin verir.

  1. Sistem Günlüklerini İnceleme
Sistem günlükleri, sunucunuzdaki olayları kaydeder. Günlükleri inceleyerek sunucunuzdaki sorunları tespit edebilirsiniz. Ubuntu'da, günlükleri incelemek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo tail -f /var/log/syslog

Bu komut, syslog dosyasını takip eder.


PHP:
sudo tail -f /var/log/auth.log

Bu komut, yetkilendirme günlüğünü takip eder.

  1. SSH Güvenliği
SSH, sunuculara uzaktan erişim sağlamak için kullanılan bir protokoldür. SSH güvenliği, sunucunuzun güvenliğini sağlamak için önemlidir. Ubuntu'da, SSH güvenliğini artırmak için aşağıdaki adımları takip edebilirsiniz:

  • Root kullanıcısı ile SSH bağlantıları devre dışı bırakın.
  • RSA anahtarını kullanarak SSH kimlik doğrulamasını etkinleştirin.
  • Güçlü bir parola politikası kullanın.
  • SSH bağlantı noktasını değiştirin.
  1. Sonuç
Linux sunucu güvenliği ve optimizasyonu, sunucunuzun performansını artırarak ve güvenliğini sağlayarak işletmeniz için kritik öneme sahiptir. Bu makalede, Ubuntu'da Linux sunucu güvenliği ve optimizasyonu için birkaç ipucu ve komut örneği paylaştık. Bu ipuçlarını kullanarak sunucunuzu güvende tutabilir ve daha hızlı çalışmasını sağlayabilirsiniz. Ancak, her sunucunun farklı ihtiyaçları olduğundan, sunucun evinizin özelliklerine uyacak şekilde bir güvenlik ve optimizasyon planı hazırlamak için uzman bir sistem yöneticisine danışmanızı öneririz. Ayrıca, sunucunuzdaki özel ihtiyaçlarınız için ilave adımlar da atmanız gerekebilir.

Unutmayın, sunucu güvenliği ve optimizasyonu bir kez yapılmış bir iş değildir. Bu süreç, sunucunuzun yaşam döngüsü boyunca devam etmelidir. Sunucunuzda yeni uygulamaların yüklenmesi veya yeni güvenlik tehditlerinin ortaya çıkması durumunda, sunucunuzun güvenliği ve performansı için ilave adımlar atmanız gerekebilir.

Sonuç olarak, bu makalede, Ubuntu'da Linux sunucu güvenliği ve optimizasyonu için birkaç ipucu ve komut örneği sunduk. Bu ipuçlarını kullanarak, sunucunuzun performansını artırabilir ve güvenliğini sağlayabilirsiniz. Ancak, her sunucu farklıdır ve sunucunuzun ihtiyaçlarına uyacak şekilde bir plan yapmanız gerekebilir. Sunucunuzun güvenliği ve performansı için sürekli olarak ilave adımlar atarak sunucunuzu koruyun ve güncelleyin.
 
ellerine sağlık

İdolüm gelmiş o7

Elinize sağlık.



Ellerine Sağlık

Elinize sağlık bayağı güzel ama biraz renk güzelleştirecektir burayı :)
Teşekkür ederim hocam. Dikkat edeceğim.
Emeğinize Sağlık.


Hepinize teşekkür ederim.
 

JohnWick51

Uzman üye
20 Mar 2022
1,865
770
28
E
7z1c4hb.png


Linux Sunucu Optimizasyonu Nedir?


Linux sunucu optimizasyonu, bir sunucunun performansını artırmak için yapılan tüm işlemleri ifade eder. Bu, sunucunun daha hızlı çalışmasına, daha az kaynak kullanmasına ve daha düşük bir yük oluşturmasına yardımcı olur. Sunucu optimizasyonu, sunucuların ömrünü uzatır, kullanıcılara daha hızlı yanıt verir ve işletmenin daha iyi bir kullanıcı deneyimi sunmasına yardımcı olur.

Linux Sunucu Güvenliği Nedir?


Linux sunucu güvenliği, bir sunucunun saldırılara karşı korunmasını sağlamak için yapılan tüm işlemleri ifade eder. Bu, kötü amaçlı yazılımların sunucuya erişmesini engelleyen, yetkisiz erişimleri engelleyen ve sunucu verilerini koruyan önlemleri içerir. Sunucu güvenliği, işletmenin siber saldırılara karşı korunmasına yardımcı olur ve işletme verilerinin güvenliğini sağlar.

Linux Sunucu Güvenliği ve Optimizasyonu İçin İpuçları

  1. Sunucu Yazılımı Güncellemelerini Yapın
Sunucu yazılımı güncellemeleri, sunucunun güvenliğini sağlamak için çok önemlidir. Bu güncellemeler, sunucunun güvenliği açıklarını kapatarak, kötü amaçlı yazılımları ve saldırıları engelleyen güncellemeler içerir. Sunucunuzun otomatik güncelleme özelliği varsa, bu özelliği etkinleştirmenizi öneririz. Aksi takdirde, güncellemeleri düzenli olarak kontrol etmeniz ve yüklemeniz gerekecektir.

PHP:
sudo apt-get update && sudo apt-get upgrade

Bu komut, Ubuntu ve Debian tabanlı sistemlerdeki yazılım güncellemelerini yapar.

  1. Güvenlik Duvarı (Firewall) Kullanın
Güvenlik duvarı, sunucunuzun güvenliği için önemli bir bileşendir. Güvenlik duvarı, sunucunuzun giriş ve çıkışlarını kontrol eder ve kötü amaçlı yazılımları engelleyerek sunucunuzu korur. Linux sunucular için en popüler güvenlik duvarı uygulamalarından biri iptables'tir. Bu uygulama, sunucunuza gelen trafikleri filtreleyerek, zararlı trafikleri engeller ve doğru trafikleri sunucunuza geçirir.

PHP:
sudo apt-get install iptables

Bu komut, iptables uygulamasını Ubuntu ve Debian tabanlı sistemlere kurar.

  1. SSH Erişimini Sınırlayın
SSH erişimi, sunucunuza uzaktan erişmenizi sağlayan bir protokoldür. Ancak, SSH erişimi, kötü niyetli kişilerin sunucunuza erişmesi için bir yol da sağlayabilir. Bu nedenle, SSH erişimini sınırlamak önemlidir. SSH erişimini sınırlamak için, sunucunuzda yalnızca belirli IP adreslerinden SSH erişimi sağlanmasını sağlayabilirsiniz.
PHP:
sudo nano /etc/ssh/sshd_config

Bu komut, SSH konfigürasyon dosyasını açar.

Dosya içinde aşağıdaki satırları bulun ve düzenleyin:
PHP:
#Port 22
#PermitRootLogin yes
#PasswordAuthentication yes

Port numarasını istediğiniz bir port numarası ile değiştirin. Root kullanıcısının SSH erişimini engellemek için "PermitRootLogin no" olarak değiştirin. Parola tabanlı kimlik doğrulamasını engellemek için "PasswordAuthentication no" olarak değiştirin.

  1. DoS (Denial of Service) Saldırılarına Karşı Koruma Sağlayın
DoS saldırıları, sunucunuza aşırı miktarda trafik göndererek sunucunuzu çökertmeye veya hizmetlerinizi engellemeye çalışan saldırılardır. DoS saldırılarına karşı korunmak için, sunucunuzdaki ağ bağlantısını korumak için bir DoS koruma çözümü kullanabilirsiniz. DoS koruma çözümleri, sunucunuza gelen trafikleri filtreleyerek, zararlı trafikleri engeller ve doğru trafikleri sunucunuza geçirir.

PHP:
sudo apt-get install fail2ban

Bu komut, Ubuntu ve Debian tabanlı sistemlere Fail2Ban uygulamasını yükler. Fail2Ban, DoS saldırılarına karşı koruma sağlar.

  1. Swap Alanını Ayarlayın
Swap alanı, RAM belleğiniz dolu olduğunda kullanılacak ek bir bellek alanıdır. Swap alanı, sunucunuzun daha az bellek kullanmasına yardımcı olur ve sunucunuzun daha hızlı çalışmasını sağlar. Swap alanı ayarı, sunucunuzun optimize edilmesine yardımcı olabilir.

PHP:
sudo nano /etc/fstab

Bu komut, disk yapılandırma dosyasını açar.

Aşağıdaki satırları dosyanın sonuna ekleyin:

PHP:
/swapfile none swap sw 0 0

Bu satır, swap alanınızı oluşturur. Swap alanının boyutunu ayarlamak için aşağıdaki komutu kullanabilirsiniz:
PHP:
sudo fallocate -l [boyut]G /swapfile

[boyut] kısmını swap alanının boyutu ile değiştirin. Örneğin, 2 GB swap alanı için aşağıdaki komutu kullanabilirsiniz:

PHP:
sudo fallocate -l 2G /swapfile

Swap alanını oluşturduktan sonra aşağıdaki komutları kullanarak swap alanınızı etkinleştirebilirsiniz:

PHP:
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

  1. Sistem Güncellemelerini Yapın
Sunucunuzda çalışan yazılımların güncel olması, sunucunuzun güvenliği ve performansı için önemlidir. Güncelleştirilmemiş yazılımlar, güvenlik açıkları ve hatalar içerebilir. Bu nedenle, sistem güncellemelerini düzenli olarak yapmanız önemlidir.

PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sistemdeki tüm paketlerin ve uygulamaların güncellenmesini sağlar.

  1. SSH Kimlik Doğrulamasını Anahtar Tabanlı Yapın
SSH kimlik doğrulaması, sunucunuza SSH ile erişen kişilerin kimliklerini doğrulamak için kullanılır. SSH kimlik doğrulamasını anahtar tabanlı yapmak, güvenlik açısından daha güvenlidir. Anahtar tabanlı kimlik doğrulaması, parola tabanlı kimlik doğrulamasına göre daha zor çözülebilir ve daha az saldırıya maruz kalır.

PHP:
ssh-keygen -t rsa

Bu komut, RSA anahtarı oluşturur.

Oluşturulan anahtarı sunucuya kopyalamak için aşağıdaki komutu kullanabilirsiniz:

PHP:
ssh-copy-id [kullanıcı]@[sunucu_ip_adresi]

[kullanıcı] kısmını sunucuya bağlanmak için kullanacağınız kullanıcı adı ile değiştirin. [sunucu_ip_adresi] kısmını sunucunuzun IP adresi ile değiştirin.

SSH anahtarını kullanarak sunucuya bağlanmak için aşağıdaki komutu kullanabilirsiniz:

PHP:
ssh [kullanıcı]@[sunucu_ip_adresi] -i [anahtar_dosyası_yolu]

[kullanıcı], [sunucu_ip_adresi] ve [anahtar_dosyası_yolu] kısmını oluşturduğunuz kullanıcı adı, sunucunuzun IP adresi ve oluşturduğunuz anahtar dosyasının
yoluyla değiştirin.

  1. Güvenliğinizi Artırmak için Güvenlik Duvarı Kullanın
Güvenlik duvarı, sunucunuzun internete açık olan bağlantılarını koruyan bir güvenlik önlemidir. Güvenlik duvarı, istenmeyen trafikleri engelleyerek sunucunuzu daha güvenli hale getirir.

Ubuntu'da, güvenlik duvarı olarak ufw (Uncomplicated Firewall) kullanılır. Ufw, kullanımı kolay bir arayüz sağlar ve aşağıdaki komutlarla kolayca yapılandırılabilir:

PHP:
sudo ufw allow [port]/[protokol]

Bu komut, belirtilen port ve protokol için trafiği izin verir. Örneğin, HTTP trafiğini izin vermek için aşağıdaki komutu kullanabilirsiniz:

PHP:
sudo ufw allow 80/tcp
PHP:
sudo ufw enable

Bu komut, ufw güvenlik duvarını etkinleştirir.

  1. SSL Sertifikası Kurulumu
SSL sertifikası, sunucunuzda iletişim kurarken verilerin şifrelenmesini sağlar. Bu, sunucunuzu daha güvenli hale getirir ve kullanıcılarınızın güvenliğini sağlar.

Let's Encrypt, sunucularınız için ücretsiz SSL sertifikaları sağlar. Let's Encrypt'in certbot aracını kullanarak sunucunuz için SSL sertifikası kurabilirsiniz.

PHP:
sudo apt-get install certbot python3-certbot-nginx

Bu komut, certbot aracını ve nginx için certbot eklentisini kurar.

PHP:
sudo certbot --nginx

Bu komut, certbot aracını kullanarak nginx üzerinde SSL sertifikası kurar.

  1. Veritabanı Güvenliği
Sunucunuzda çalışan uygulamalar genellikle bir veritabanına ihtiyaç duyar. Veritabanı güvenliği, uygulamanızın ve sunucunuzun güvenliği için önemlidir. Veritabanınızı korumak için aşağıdaki adımları takip edebilirsiniz:

  • Veritabanı yönetim sisteminizin (DBMS) en son sürümünü kullanın.
  • Güçlü şifreler kullanın ve düzenli olarak şifreleri değiştirin.
  • Veritabanı kullanıcılarının yalnızca gerekli izinlere sahip olmasını sağlayın.
  • Veritabanı erişimi için güvenli bir protokol kullanın.
  1. Sunucu Performansını Artırmak için Optimizasyon Yapın
Sunucu optimizasyonu, sunucunuzun performansını artırmak için yapılan bir dizi işlemdir. Aşağıdaki adımları takip ederek sunucu performansınızı artırabilirsiniz:

  • Kullanılmayan servisleri devre dışı bırakın.
  • DNS sorgularını hızlandırmak için DNS önbellek yükleme kullanın.
    • Önbellekleme mekanizmalarını kullanarak sunucu yanıt süresini azaltın.
    • Dosya sistemini optimize edin.
  • Kullanılmayan Servisleri Devre Dışı Bırakma

    Sunucunuzda kullanmadığınız servisleri devre dışı bırakmak, sunucunuzun performansını artırabilir ve güvenliğini artırabilir. Ubuntu'da, systemd servis yöneticisi kullanılarak servisler yönetilir. Aşağıdaki komutları kullanarak devre dışı bırakmak istediğiniz servisleri durdurabilir ve kapatılmasını sağlayabilirsiniz:

PHP:
sudo systemctl stop [servis]
sudo systemctl disable [servis]


Örneğin, SSH servisini durdurmak ve kapatmak için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo systemctl stop ssh
sudo systemctl disable ssh

DNS Önbellekleme Kullanma

DNS önbellekleme, sunucunuzun DNS sorgularını önbelleğe alarak yanıt süresini azaltır. Bu, sunucunuzun daha hızlı yanıt vermesini sağlar. Ubuntu'da, nscd (Name Service Caching Daemon) kullanarak DNS önbellekleme yapılandırılabilir.

PHP:
sudo apt-get install nscd

Bu komut, nscd servisini yükler.

PHP:
sudo systemctl start nscd

Bu komut, nscd servisini başlatır.

Önbellekleme Mekanizmalarını Kullanma

Önbellekleme, sunucunuzun yanıt süresini azaltmak için kullanılan bir mekanizmadır. Apache veya Nginx gibi web sunucularında, önbellekleme, sunucu yanıt süresini azaltmak için kullanılabilir. Önbellekleme, statik içerikleri önbelleğe alarak sunucu yanıt süresini azaltır. Ubuntu'da, önbellekleme mekanizmaları olarak Varnish veya Redis kullanılabilir.

Dosya Sistemi Optimizasyonu

Dosya sistemi optimizasyonu, sunucunuzdaki dosya sistemlerinin performansını artırmak için yapılan bir dizi işlemdir. Ubuntu'da, dosya sistemleri için farklı optimizasyon seçenekleri mevcuttur. Örneğin, ext4 dosya sistemi için aşağıdaki komutlar kullanılabilir:

PHP:
sudo tune2fs -o journal_data_writeback /dev/sda1

Bu komut, ext4 dosya sisteminin performansını artırmak için kullanılır.

PHP:
sudo tune2fs -m 0 /dev/sda1

Bu komut, ext4 dosya sistemindeki boş alanı artırmak için kullanılır.

  1. Sistem Güncellemelerini Yapın
Sistem güncellemeleri, sunucunuzun güvenliğini sağlamak ve en son özellikleri kullanmanızı sağlamak için önemlidir. Ubuntu'da, güncellemeleri yapmak için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sunucunuzdaki tüm paketleri günceller.

  1. Firewall Kullanma
Firewall, sunucunuzun güvenliğini artırmak için kullanılan bir mekanizmadır. Ubuntu'da, ufw (Uncomplicated Firewall) kullanarak firewall yapılandırılabilir. Aşağıdaki komutları kullanarak ufw'yi yükleyebilirsiniz:

PHP:
sudo apt-get install ufw

Bu komut, ufw paketini yükler.

PHP:
sudo ufw enable

Bu komut, ufw'nin etkinleştirilmesini sağlar.

PHP:
sudo ufw allow [port]/[protocol]

Bu komut, belirli bir bağlantı noktası ve protokol için gelen trafiği izin verir.

Örneğin, SSH bağlantı noktasını izin vermek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo ufw allow 22/tcp

Bu komut, SSH bağlantı noktasının TCP protokolü üzerinden gelen trafiğe izin verir.

  1. Sistem Günlüklerini İnceleme
Sistem günlükleri, sunucunuzdaki olayları kaydeder. Günlükleri inceleyerek sunucunuzdaki sorunları tespit edebilirsiniz. Ubuntu'da, günlükleri incelemek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo tail -f /var/log/syslog

Bu komut, syslog dosyasını takip eder.

PHP:
sudo tail -f /var/log/auth.log

yapmak için aşağıdaki komutları kullanabilirsiniz:


PHP:
sudo apt-get update
sudo apt-get upgrade

Bu komutlar, sunucunuzdaki tüm paketleri günceller.

  1. Firewall Kullanma
Firewall, sunucunuzun güvenliğini artırmak için kullanılan bir mekanizmadır. Ubuntu'da, ufw (Uncomplicated Firewall) kullanarak firewall yapılandırılabilir. Aşağıdaki komutları kullanarak ufw'yi yükleyebilirsiniz:

PHP:
sudo apt-get install ufw

Bu komut, ufw paketini yükler.


PHP:
sudo ufw enable

Bu komut, ufw'nin etkinleştirilmesini sağlar.


PHP:
sudo ufw allow [port]/[protocol]

Bu komut, belirli bir bağlantı noktası ve protokol için gelen trafiği izin verir.

Örneğin, SSH bağlantı noktasını izin vermek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo ufw allow 22/tcp

Bu komut, SSH bağlantı noktasının TCP protokolü üzerinden gelen trafiğe izin verir.

  1. Sistem Günlüklerini İnceleme
Sistem günlükleri, sunucunuzdaki olayları kaydeder. Günlükleri inceleyerek sunucunuzdaki sorunları tespit edebilirsiniz. Ubuntu'da, günlükleri incelemek için aşağıdaki komutları kullanabilirsiniz:

PHP:
sudo tail -f /var/log/syslog

Bu komut, syslog dosyasını takip eder.


PHP:
sudo tail -f /var/log/auth.log

Bu komut, yetkilendirme günlüğünü takip eder.

  1. SSH Güvenliği
SSH, sunuculara uzaktan erişim sağlamak için kullanılan bir protokoldür. SSH güvenliği, sunucunuzun güvenliğini sağlamak için önemlidir. Ubuntu'da, SSH güvenliğini artırmak için aşağıdaki adımları takip edebilirsiniz:

  • Root kullanıcısı ile SSH bağlantıları devre dışı bırakın.
  • RSA anahtarını kullanarak SSH kimlik doğrulamasını etkinleştirin.
  • Güçlü bir parola politikası kullanın.
  • SSH bağlantı noktasını değiştirin.
  1. Sonuç
Linux sunucu güvenliği ve optimizasyonu, sunucunuzun performansını artırarak ve güvenliğini sağlayarak işletmeniz için kritik öneme sahiptir. Bu makalede, Ubuntu'da Linux sunucu güvenliği ve optimizasyonu için birkaç ipucu ve komut örneği paylaştık. Bu ipuçlarını kullanarak sunucunuzu güvende tutabilir ve daha hızlı çalışmasını sağlayabilirsiniz. Ancak, her sunucunun farklı ihtiyaçları olduğundan, sunucun evinizin özelliklerine uyacak şekilde bir güvenlik ve optimizasyon planı hazırlamak için uzman bir sistem yöneticisine danışmanızı öneririz. Ayrıca, sunucunuzdaki özel ihtiyaçlarınız için ilave adımlar da atmanız gerekebilir.

Unutmayın, sunucu güvenliği ve optimizasyonu bir kez yapılmış bir iş değildir. Bu süreç, sunucunuzun yaşam döngüsü boyunca devam etmelidir. Sunucunuzda yeni uygulamaların yüklenmesi veya yeni güvenlik tehditlerinin ortaya çıkması durumunda, sunucunuzun güvenliği ve performansı için ilave adımlar atmanız gerekebilir.

Sonuç olarak, bu makalede, Ubuntu'da Linux sunucu güvenliği ve optimizasyonu için birkaç ipucu ve komut örneği sunduk. Bu ipuçlarını kullanarak, sunucunuzun performansını artırabilir ve güvenliğini sağlayabilirsiniz. Ancak, her sunucu farklıdır ve sunucunuzun ihtiyaçlarına uyacak şekilde bir plan yapmanız gerekebilir. Sunucunuzun güvenliği ve performansı için sürekli olarak ilave adımlar atarak sunucunuzu koruyun ve güncelleyin.
Ellerinize saglik
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.