Takip et

Ubuntu 20.04 ile Sunucu Başlangıç Kurulumu

Ubuntu 20.04 ile Sunucu Başlangıç Kurulumu Giriş Günümüz dijital dünyasında, güvenli ve stabil bir sunucu altyapısı kurmak her proje iç

Ubuntu 20.04 ile Sunucu Başlangıç Kurulumu

Giriş

Günümüz dijital dünyasında, güvenli ve stabil bir sunucu altyapısı kurmak her proje için temel bir gerekliliktir. İster bir web sitesi barındırın, ister bir veritabanı çalıştırın, ister özel bir uygulama dağıtın, sunucunuzun doğru bir şekilde yapılandırılması kritik öneme sahiptir. Bu teknik makale, Ubuntu 20.04 (Focal Fossa) işletim sistemi üzerinde yeni bir sunucu için başlangıç kurulum adımlarını detaylı bir şekilde ele alacaktır. Ubuntu 20.04 LTS (Uzun Süreli Destek) sürümü olması nedeniyle, kararlılığı, geniş topluluk desteği ve uzun süreli güncellemeleriyle sunucu ortamları için ideal bir seçimdir.

Bu kılavuz, sunucunuza ilk erişimden başlayarak, temel güvenlik önlemlerine, kullanıcı yönetimine, ağ yapılandırmasına ve ek güvenlik araçlarının kurulumuna kadar bir dizi adımı kapsayacaktır. Amacımız, sunucunuzu gelecekteki dağıtımlarınız için sağlam, güvenli ve yönetilebilir bir temel üzerine inşa etmenize yardımcı olmaktır.

Sunucuya İlk Erişim ve Temel Ayarlar

Yeni bir sunucuya ilk kez erişmek, genellikle SSH (Secure Shell) protokolü aracılığıyla gerçekleşir. Bu aşamada, sunucunuzun IP adresi ve başlangıç kimlik bilgileri (genellikle bir kullanıcı adı ve parola, veya bir SSH anahtar çifti) gereklidir.

SSH Kullanımı

SSH, uzaktaki bir sunucuya güvenli bir şekilde bağlanmanızı sağlayan bir protokoldür. Bağlantı, şifreli bir tünel üzerinden kurulur, bu da veri alışverişinin güvenliğini garanti eder.

* Linux/macOS Kullanıcıları: Terminalinizi açın ve aşağıdaki komutu kullanın:

ssh kullanıcıadı@sunucu_ip_adresi

Örneğin, root kullanıcısı ile bağlanıyorsanız: ssh root@192.0.2.10
* Windows Kullanıcıları: PuTTY gibi bir SSH istemcisi veya Windows Subsystem for Linux (WSL) kullanarak terminal üzerinden bağlanabilirsiniz. PuTTY kullanıyorsanız, sunucu IP adresini girin ve bağlantı türü olarak SSH’ı seçin.

İlk bağlantıda sunucu parmak izini (fingerprint) kabul etmeniz istenebilir. Güvenliği doğrulamak için parmak izini kontrol etmek iyi bir pratiktir. Genellikle ilk girişte root kullanıcısı ve sağlayıcınız tarafından verilen bir parola ile giriş yaparsınız. Root kullanıcısı ile çalışmak güçlü yetkiler verir ve yanlış bir komutla sisteme kalıcı hasar verebilirsiniz. Bu nedenle, ilk kurulum adımlarından sonra root kullanıcısı ile çalışmayı bırakmak ve yetkilendirilmiş normal bir kullanıcı hesabı oluşturmak en iyi güvenlik uygulamasıdır.

Sistem Güncelleştirmeleri

Sunucuya ilk erişim sağlandıktan sonra yapılması gereken en önemli adımlardan biri, sistemin güncel olmasını sağlamaktır. Bu, hem güvenlik açıklarını kapatır hem de yazılım bağımlılıklarının doğru çalışmasını sağlar.

Güncelleme işlemleri için aşağıdaki komutları kullanın:

* Paket listesini güncelleme: Bu komut, sunucunuzun yazılım depolarındaki mevcut paketlerin listesini günceller.

sudo apt update

sudo komutu, normal bir kullanıcı olarak yetkilendirilmiş komutları çalıştırmanızı sağlar. Eğer root olarak giriş yaptıysanız, sudo kullanmanıza gerek yoktur ancak yeni bir kullanıcı oluşturduğumuzda bu komut kritik olacaktır.
* Kurulu paketleri yükseltme: Bu komut, kurulu tüm paketleri en yeni sürümlerine yükseltir.

sudo apt upgrade -y

-y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı vermeyi sağlar, bu da etkileşimli olmayan bir güncelleme süreci sunar.
* Gereksiz paketleri kaldırma: Bu komut, artık ihtiyaç duyulmayan veya eski bağımlılıkları olan paketleri sistemden temizler.

sudo apt autoremove -y

* Sistemi yeniden başlatma (gerektiğinde): Çekirdek (kernel) güncellemeleri gibi bazı önemli güncellemeler, yeni çekirdeğin devreye girmesi için sunucunun yeniden başlatılmasını gerektirebilir.

sudo reboot

Yeniden başlatma işleminden sonra sunucuya tekrar SSH ile bağlanmanız gerekecektir.

Bu adımlar, sunucunuzun güvenli ve kararlı bir başlangıç yapmasını sağlar.

Kullanıcı Yönetimi ve Yetkilendirme

Root kullanıcısı, Linux sistemlerinde en yüksek ayrıcalıklara sahip kullanıcıdır. Bu ayrıcalıklar, sistem üzerinde her türlü değişikliği yapma yeteneği anlamına gelir. Ancak, root kullanıcısı olarak sürekli çalışmak büyük bir güvenlik riski taşır. Yanlış bir komut, tüm sistemi çalışmaz hale getirebilir veya ciddi güvenlik açıkları yaratabilir. Bu nedenle, sunucuyu yönetmek için ayrıcalıklı ancak kısıtlı yetkilere sahip bir kullanıcı oluşturmak en iyi pratiktir.

Yeni Bir Kullanıcı Oluşturma

Yeni bir kullanıcı oluşturmak için adduser komutunu kullanırız:

sudo adduser [kullanıcıadı]

Örneğin, adminuser adında bir kullanıcı oluşturmak için:

sudo adduser adminuser

Bu komutu çalıştırdıktan sonra, sistem sizden yeni kullanıcı için güçlü bir parola belirlemenizi isteyecektir. Güçlü parolalar, büyük ve küçük harfler, rakamlar ve özel karakterlerin birleşiminden oluşmalıdır. Parolayı girdikten sonra, kullanıcı hakkında ek bilgiler (ad, telefon numarası vb.) girmeniz istenecektir. Bu alanları boş bırakmak için Enter tuşuna basabilirsiniz. Son olarak, bilgilerin doğru olduğunu onaylamanız istenecektir.

Sudo Yetkisi Verme

Yeni oluşturduğunuz kullanıcının, gerektiğinde yönetici ayrıcalıklarına sahip komutları çalıştırabilmesi için sudo grubuna eklenmesi gerekir. sudo (superuser do) komutu, yetkili kullanıcıların belirli komutları root ayrıcalıklarıyla çalıştırmasına olanak tanır.

Kullanıcıyı sudo grubuna eklemek için aşağıdaki komutu kullanın:

sudo usermod -aG sudo [kullanıcıadı]

Örneğin, adminuser kullanıcısını sudo grubuna eklemek için:

sudo usermod -aG sudo adminuser

* -a bayrağı, kullanıcıyı ek bir gruba eklemek için kullanılır (append).
* -G bayrağı, belirtilen grubu belirtir.

Bu komut, adminuser kullanıcısını sudo grubuna ekler. Artık bu kullanıcı, sudo komutuyla yönetici ayrıcalıkları gerektiren işlemleri gerçekleştirebilir.

Yeni Kullanıcı ile Giriş Testi:
Yeni kullanıcı hesabınızın düzgün çalıştığından emin olmak için, mevcut SSH oturumunuzu kapatmadan yeni bir terminal penceresi açarak yeni kullanıcı ile giriş yapmayı deneyin:

ssh adminuser@sunucu_ip_adresi

Giriş yaptıktan sonra, sudo yetkisini test etmek için basit bir komut çalıştırabilirsiniz:

sudo apt update

Parolanız istendiğinde, adminuser için belirlediğiniz parolayı girin. Eğer komut hatasız çalışırsa, yeni kullanıcınızın sudo yetkileri başarıyla yapılandırılmıştır. Bu adımdan sonra, root kullanıcısı ile olan SSH oturumunuzu kapatabilir ve tüm yönetim işlemlerinizi yeni oluşturduğunuz güvenli kullanıcı hesabı üzerinden yapmaya başlayabilirsiniz.

SSH Güvenliğini Sağlama

SSH, sunucu yönetiminin omurgasıdır, ancak aynı zamanda potansiyel bir saldırı vektörüdür. SSH hizmetinin güvenliğini artırmak, sunucunuzun genel güvenliği için hayati öneme sahiptir. Aşağıdaki adımlar, SSH bağlantınızı daha güvenli hale getirecektir.

SSH yapılandırma dosyası /etc/ssh/sshd_config adresinde bulunur. Bu dosyada yapılan her değişiklikten sonra SSH servisini yeniden başlatmanız gerekir: sudo systemctl restart sshd.

Varsayılan SSH Portunu Değiştirme

SSH’ın varsayılan portu 22’dir. Bu port, otomatik botlar ve kötü niyetli aktörler tarafından sürekli taranır. Portu değiştirmek, sunucunuzun bu tür otomatik taramalardan kaynaklanan saldırı riskini önemli ölçüde azaltır.

1. sshd_config dosyasını bir metin düzenleyici ile açın:

sudo nano /etc/ssh/sshd_config

2. Dosya içinde Port 22 satırını bulun. Bu satırın başında # işareti varsa, yorum satırı olduğu anlamına gelir ve aktif değildir. # işaretini kaldırın ve 22 yerine 1024 ile 65535 arasında, henüz kullanılmayan rastgele bir port numarası (örneğin, 2222) atayın:

Port 2222

3. Değişiklikleri kaydedin (nano’da CTRL+O, sonra Enter, sonra CTRL+X).
4. SSH servisini yeniden başlatın:

sudo systemctl restart sshd

5. ÖNEMLİ: Yeni porttan bağlantı kurmayı denemeden mevcut oturumunuzu kapatmayın. Yeni bir terminal penceresi açın ve yeni port numarasını belirterek bağlanmayı deneyin:

ssh -p 2222 adminuser@sunucu_ip_adresi

Eğer bağlantı başarılı olursa, mevcut oturumunuzu kapatıp yeni port üzerinden çalışmaya devam edebilirsiniz.

Root Girişini Devre Dışı Bırakma

Root kullanıcısının doğrudan SSH ile giriş yapmasını engellemek, sunucunuzun güvenliğini artırmanın en etkili yollarından biridir. Bu, saldırganların en güçlü hesabı ele geçirmesini zorlaştırır.

1. sshd_config dosyasını tekrar açın:

sudo nano /etc/ssh/sshd_config

2. PermitRootLogin satırını bulun. Bu satırı no olarak değiştirin veya bu şekilde bir satır yoksa ekleyin:

PermitRootLogin no

3. Değişiklikleri kaydedin ve SSH servisini yeniden başlatın:

sudo systemctl restart sshd

Artık root kullanıcısı doğrudan SSH ile giriş yapamayacaktır. Root yetkisi gerektiren işlemler için adminuser gibi yetkilendirilmiş bir kullanıcı ile giriş yapıp sudo komutunu kullanmanız gerekecektir.

Parola ile Girişi Devre Dışı Bırakma (Anahtar Tabanlı Kimlik Doğrulama)

Parola ile giriş, kaba kuvvet saldırılarına karşı savunmasızdır. SSH anahtar çiftleri (genel ve özel anahtar), parolalara kıyasla çok daha güvenli bir kimlik doğrulama yöntemi sunar. Özel anahtarınız yalnızca sizin bilgisayarınızda kalır ve asla ağ üzerinden iletilmezken, genel anahtar sunucunuzda saklanır.

SSH Anahtar Çifti Oluşturma (İstemci Tarafında)

Kendi bilgisayarınızda (istemcinizde) henüz bir SSH anahtar çiftiniz yoksa, bir tane oluşturmanız gerekir:

ssh-keygen -t rsa -b 4096

* -t rsa: RSA algoritmasını kullanır.
* -b 4096: Anahtarın bit uzunluğunu 4096 olarak ayarlar (daha uzun, daha güvenli).

Komut, anahtar çiftini kaydetmek için bir konum ve isteğe bağlı olarak bir parola (passphrase) girmenizi isteyecektir. Bir parola eklemek, özel anahtarınızın çalınması durumunda ek bir güvenlik katmanı sağlar.

Public Anahtarı Sunucuya Kopyalama

Oluşturduğunuz genel anahtarı (genellikle ~/.ssh/id_rsa.pub yolunda bulunur) sunucunuza kopyalamanız gerekir. Bunun en kolay yolu ssh-copy-id komutunu kullanmaktır:

ssh-copy-id -i ~/.ssh/id_rsa.pub -p [yeni_ssh_portu] adminuser@sunucu_ip_adresi

Bu komut, sunucudaki adminuser hesabının ~/.ssh/authorized_keys dosyasına genel anahtarınızı ekler. Eğer ssh-copy-id komutu sizde yoksa veya çalışmazsa, genel anahtarınızı manuel olarak kopyalayabilirsiniz:

cat ~/.ssh/id_rsa.pub

Yukarıdaki komutun çıktısını kopyalayın. Ardından sunucunuza adminuser olarak bağlanın ve kopyaladığınız anahtarı sunucudaki ~/.ssh/authorized_keys dosyasına ekleyin. Eğer ~/.ssh dizini veya authorized_keys dosyası yoksa, bunları oluşturmanız gerekebilir:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys

Kopyaladığınız genel anahtarı authorized_keys dosyasına yapıştırın, kaydedin ve dosyaya doğru izinleri verin:

chmod 600 ~/.ssh/authorized_keys

Genel anahtarınız sunucuya kopyalandıktan sonra, artık parola ile girişi devre dışı bırakabilirsiniz.

1. sshd_config dosyasını açın:

sudo nano /etc/ssh/sshd_config

2. Aşağıdaki satırları bulun ve değerlerini no olarak ayarlayın:

PasswordAuthentication no
    ChallengeResponseAuthentication no
    UsePAM no

(Bazı durumlarda UsePAM no gerekli olmayabilir, ancak güvenlik için eklenebilir.)
3. Değişiklikleri kaydedin ve SSH servisini yeniden başlatın:

sudo systemctl restart sshd

4. ÖNEMLİ: Mevcut oturumunuzu kapatmadan önce, yeni bir terminalde SSH anahtarınızla sorunsuz bir şekilde bağlanabildiğinizden emin olun. Eğer anahtar ile bağlantı kuramazsanız, sunucunuza erişiminizi kaybedebilirsiniz.

Bu adımlarla, SSH bağlantınız çok daha güvenli hale getirilmiş olur.

Güvenlik Duvarı Yapılandırması (UFW)

Bir güvenlik duvarı (firewall), sunucunuza gelen ve giden ağ trafiğini kontrol eden bir güvenlik sistemidir. Ubuntu’da, Uncomplicated Firewall (UFW) güvenlik duvarını yapılandırmayı kolaylaştıran bir arayüzdür. UFW, sunucunuzu istenmeyen bağlantılardan korumak için hayati öneme sahiptir.

UFW Temelleri

UFW genellikle Ubuntu’da önceden yüklü gelir. Kurulu değilse, aşağıdaki komutla kurabilirsiniz:

sudo apt install ufw -y

UFW’nin mevcut durumunu kontrol etmek için:

sudo ufw status

Varsayılan olarak, UFW pasif (inactive) durumdadır.

UFW için varsayılan politikaları belirlemek önemlidir. Genellikle, tüm gelen bağlantıları reddetmek ve tüm giden bağlantılara izin vermek istenir:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Bu komutlar, sunucunuzun dışarıdan gelen bağlantılara kapalı olmasını sağlar, ancak sunucunuzun kendisinin dışarıya bağlantı kurmasına izin verir.

Gerekli Portları Açma ve Etkinleştirme

Varsayılan politikaları ayarladıktan sonra, sunucunuzun ihtiyaç duyduğu belirli portları açmanız gerekir. Bu adım kritik öneme sahiptir, çünkü SSH portunuzu açmadan güvenlik duvarını etkinleştirirseniz sunucunuza erişiminizi kaybedersiniz.

1. SSH Portunu Açma: SSH için belirlediğiniz yeni portu açın (bu örnekte 2222):

sudo ufw allow 2222/tcp

Eğer SSH portunuzu değiştirmediyseniz, varsayılan 22 portunu açmanız gerekir: sudo ufw allow 22/tcp.
2. Diğer Gerekli Portları Açma: Sunucunuzun amacına bağlı olarak başka portları da açmanız gerekebilir. Örneğin:
* HTTP (Web sunucusu için):

sudo ufw allow http
        # veya sudo ufw allow 80/tcp

* HTTPS (Güvenli web sunucusu için):

sudo ufw allow https
        # veya sudo ufw allow 443/tcp

* Belirli bir IP adresinden gelen bağlantılara izin vermek için:

sudo ufw allow from 192.168.1.100 to any port 2222

3. UFW’yi Etkinleştirme: Tüm gerekli portları açtıktan sonra, UFW’yi etkinleştirin:

sudo ufw enable

Bu komut, bağlantınızı kesebileceği konusunda bir uyarı verecektir. “y” yazarak onaylayın.

UFW etkinleştirildikten sonra, durumunu tekrar kontrol edebilirsiniz:

sudo ufw status verbose

Bu komut, aktif kuralları ve varsayılan politikaları detaylı bir şekilde gösterecektir. Artık sunucunuzun temel bir güvenlik duvarı koruması bulunmaktadır.

Sistem Ayarlarının Yapılandırılması

Sunucunuzun doğru zaman dilimi ve hostname ile yapılandırılması, logların doğru tutulması, zamanlanmış görevlerin düzgün çalışması ve ağ üzerindeki kimliğinin net olması açısından önemlidir.

Zaman Dilimi ve Yerel Ayarlar

Doğru zaman dilimi ayarı, logların okunabilirliği ve zaman bağımlı uygulamaların doğru çalışması için kritik öneme sahiptir.

1. Zaman dilimini ayarlama:
Önce mevcut zaman dilimini kontrol edin:

timedatectl

Ardından, kullanılabilir zaman dilimlerini listeleyin:

timedatectl list-timezones

Bulunduğunuz bölgeye uygun zaman dilimini seçin (örneğin, Europe/Istanbul) ve ayarlayın:

sudo timedatectl set-timezone Europe/Istanbul

Tekrar timedatectl komutunu çalıştırarak değişikliğin uygulandığını doğrulayın.

2. Yerel Ayarlar (Locales) Yapılandırması:
Yerel ayarlar, dil, karakter kodlaması ve bölgesel biçimlendirme gibi sistem çapındaki ayarları kontrol eder. UTF-8 desteği modern sistemler için standarttır.

sudo dpkg-reconfigure locales

Bu komut, bir arayüz açarak istediğiniz yerel ayarları seçmenize olanak tanır. Genellikle en_US.UTF-8 ve ihtiyacınız varsa kendi dilinizin UTF-8 sürümünü (örneğin, tr_TR.UTF-8) seçmeniz önerilir. Seçimlerinizi yaptıktan sonra, varsayılan yerel ayarı belirlemeniz istenecektir.

Hostname Yapılandırması

Hostname, ağ üzerindeki sunucunuzu tanımlayan bir isimdir. Anlamlı bir hostname, birden fazla sunucuyu yönetirken veya ağ sorunlarını giderirken faydalıdır.

1. Hostname’i değiştirme:
Mevcut hostname’i kontrol edin:

hostname

Yeni bir hostname ayarlayın:

sudo hostnamectl set-hostname [yeni_hostname]

Örneğin: sudo hostnamectl set-hostname webserver01

2. /etc/hosts dosyasını düzenleme:
Bu dosya, IP adreslerini hostname’lerle eşleştirir. Yeni hostname’inizi bu dosyaya eklemek iyi bir pratiktir, özellikle sunucunun kendi kendini çözmesi için.

sudo nano /etc/hosts

Aşağıdaki gibi bir satır ekleyin veya mevcut olanı düzenleyin:

127.0.0.1       localhost
    127.0.1.1       [yeni_hostname]

127.0.1.1 yerine sunucunuzun özel IP adresini de kullanabilirsiniz. Değişiklikleri kaydedin.

Bu adımlarla, sunucunuzun temel sistem ayarları doğru bir şekilde yapılandırılmış olur.

Ek Güvenlik ve İzleme Önlemleri

Temel güvenlik adımlarının ötesine geçerek, sunucunuzu daha da güçlendirmek ve olası tehditleri izlemek için ek araçlar kullanmak önemlidir.

Fail2Ban Kurulumu ve Yapılandırması

Fail2Ban, sunucunuza yapılan kaba kuvvet saldırılarına karşı koruma sağlayan bir intrusion prevention (saldırı önleme) yazılımıdır. Belirli bir süre içinde hatalı giriş denemeleri yapan IP adreslerini otomatik olarak bloke eder.

1. Kurulum:

sudo apt install fail2ban -y

2. Temel Yapılandırma:
Fail2Ban’ın ana yapılandırma dosyası /etc/fail2ban/jail.conf‘tur. Ancak, bu dosyayı doğrudan düzenlemek yerine, güncellemeler sırasında üzerine yazılmasını önlemek için /etc/fail2ban/jail.local adında yeni bir dosya oluşturup değişiklikleri buraya yapmanız önerilir.

Varsayılan jail.conf dosyasını kopyalayarak başlayabilirsiniz:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Şimdi jail.local dosyasını düzenleyin:

sudo nano /etc/fail2ban/jail.local

Bu dosya içinde, genel ayarları (DEFAULT bölümü altında) ve belirli servisler için ayarları (örneğin [sshd] bölümü) yapılandırabilirsiniz.

* bantime: Bir IP adresinin ne kadar süreyle yasaklanacağını saniye cinsinden belirtir (örn. bantime = 1h veya bantime = 3600).
* findtime: Belirtilen süre içinde kaç başarısız denemenin yasaklamaya yol açacağını belirler (örn. findtime = 10m).
* maxretry: Yasaklanmadan önce izin verilen maksimum başarısız deneme sayısı (örn. maxretry = 5).

SSH için genellikle aşağıdaki gibi bir bölüm bulacaksınız veya ekleyebilirsiniz:

[sshd]
    enabled = true
    port = [SSH_PORTUNUZ] # Örneğin, 2222
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 3
    bantime = 1h

[SSH_PORTUNUZ] yerine kendi belirlediğiniz SSH port numarasını yazmayı unutmayın.

3. Servisi Etkinleştirme ve Başlatma:

sudo systemctl enable fail2ban
    sudo systemctl start fail2ban

4. Durumu Kontrol Etme:
Fail2Ban’ın çalıştığını ve hangi jail’lerin aktif olduğunu kontrol etmek için:

sudo fail2ban-client status

Belirli bir jail’in (örneğin sshd) durumunu görmek için:

sudo fail2ban-client status sshd

Bu komut, yasaklanan IP adreslerini ve deneme sayılarını gösterecektir.

Fail2Ban, sunucunuzu kaba kuvvet saldırılarından koruyarak önemli bir güvenlik katmanı ekler.

Log Yönetimi ve İzleme

Sunucunuzdaki log dosyaları, sistem olayları, hatalar, güvenlik ihlali denemeleri ve uygulama davranışları hakkında değerli bilgiler içerir. Bu logları düzenli olarak kontrol etmek, sorunları erken tespit etmenize ve güvenlik olaylarına yanıt vermenize yardımcı olur.

* journalctl: systemd tabanlı sistemlerde (Ubuntu 20.04 gibi), journalctl komutu sistem günlüğüne erişmek için kullanılır.
* Tüm günlükleri görmek için: journalctl
* Belirli bir servisin günlüklerini görmek için: journalctl -u sshd.service
* Son 100 satırı görmek için: journalctl -n 100
* Gerçek zamanlı günlükleri izlemek için: journalctl -f

* /var/log Dizini: Geleneksel olarak, birçok uygulama ve sistem bileşeni loglarını /var/log dizini altında saklar.
* auth.log: Kimlik doğrulama denemeleri ve sudo kullanımları.
* syslog: Genel sistem mesajları.
* kern.log: Çekirdek (kernel) mesajları.
* ufw.log: UFW güvenlik duvarı günlükleri.
* Web sunucuları (Apache, Nginx) gibi uygulamaların kendi log dizinleri bulunur (örn: /var/log/apache2/, /var/log/nginx/).

Logları düzenli olarak gözden geçirmek, olası saldırı girişimlerini, sistem hatalarını veya performans sorunlarını belirlemenize yardımcı olur. Büyük ölçekli sistemlerde, log yönetimini otomatikleştiren ELK Stack (Elasticsearch, Logstash, Kibana) veya Graylog gibi merkezi loglama çözümleri kullanılabilir.

Sonuç ve Sonraki Adımlar

Bu makalede, Ubuntu 20.04 üzerinde yeni bir sunucu için kapsamlı bir başlangıç kurulum sürecini adım adım ele aldık. Sunucuya ilk erişimden başlayarak, sistem güncellemeleri, güvenli kullanıcı yönetimi, SSH bağlantısının güçlendirilmesi, güvenlik duvarı yapılandırması, temel sistem ayarları ve ek güvenlik önlemleri (Fail2Ban) gibi kritik konuları detaylandırdık. Bu adımlar, sunucunuz için sağlam, güvenli ve yönetilebilir bir temel oluşturmanızı sağlar.

Unutulmamalıdır ki, sunucu güvenliği sürekli bir süreçtir. Başlangıç kurulumu sadece ilk adımdır. Sunucunuzu düzenli olarak güncellemek, güvenlik yamalarını uygulamak, logları izlemek ve yedekleme stratejileri oluşturmak, uzun vadede sunucunuzun güvenliğini ve kararlılığını sağlamak için hayati öneme sahiptir.

Sonraki Adımlar:

Bu temel kurulumu tamamladıktan sonra, sunucunuzu projenizin ihtiyaçlarına göre yapılandırmaya başlayabilirsiniz:

* Web Sunucusu Kurulumu: Apache veya Nginx gibi bir web sunucusu kurarak web sitelerinizi veya uygulamalarınızı barındırabilirsiniz.
* Veritabanı Kurulumu: MySQL, PostgreSQL veya MongoDB gibi bir veritabanı sistemi kurarak uygulamalarınız için veri depolama sağlayabilirsiniz.
* Programlama Dili Ortamları: Python, Node.js, PHP, Ruby gibi programlama dilleri için gerekli çalışma zamanı ortamlarını ve bağımlılıklarını kurabilirsiniz.
* Versiyon Kontrol Sistemleri: Git gibi versiyon kontrol sistemlerini kurarak kod dağıtımlarınızı ve güncellemelerinizi kolaylaştırabilirsiniz.
* Monitoring Araçları: Prometheus, Grafana veya Zabbix gibi izleme araçlarını kurarak sunucunuzun performansını ve kaynak kullanımını sürekli olarak takip edebilirsiniz.

Her adımda güvenlik ve en iyi uygulamaları göz önünde bulundurarak, sunucunuzun uzun vadede sorunsuz ve güvenli bir şekilde çalışmasını sağlayabilirsiniz.

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.