Ubuntu Sunucu Güvenliği: Firewall, SSH, Paket Yönetimi, Şifre Politikaları

Share

Paket deposunu güncelleme: Linux tabanlı işletim sistemlerinde, sisteme yapılandırılmış olan depolardan paket listesini güncellemek için kullanılan bir komuttur.

update komutu, depolardan en son paket listelerini indirir ve sistemin paket listesi önbelleğini günceller. -y  bayrağı, güncelleme işlemi sırasında ortaya çıkabilecek herhangi bir uyarıya otomatik olarak “evet” cevabı vermek için kullanılır.

Genel olarak bu komutu çalıştırmak, sistemin paket listesi önbelleğinin güncel olduğundan emin olmak için önemlidir. Bu, sistem güvenliğini ve kararlılığını korumak için önemlidir ve özellikle herhangi bir paket kurmadan veya yükseltmeden önce bu komutu düzenli aralıklarla çalıştırmak iyi bir uygulamadır.

apt-get update -y

Güvenlik duvarını (ufw) yükleme ve yapılandırma: Bu, Kolaylaştırılmış Güvenlik Duvarı (ufw) ‘nu yükler ve gelen trafiği varsayılan olarak engellerken, gelen SSH, HTTP ve HTTPS trafiğine izin vermek için yapılandırır. Ayrıca güvenlik duvarını etkinleştirir.

apt-get install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # gelen SSH trafiğine izin ver
ufw allow 80/tcp # gelen HTTP trafiğine izin ver
ufw allow 443/tcp # gelen HTTPS trafiğine izin ver
ufw enable

 

Bu komutlar bir Linux tabanlı işletim sisteminde güvenlik duvarı kurmak için kullanılabilir. Sırasıyla ne yaptıklarını açıklayalım:

apt-get install -y ufw

Bu komut, “ufw” adlı bir programın kurulumunu gerçekleştirir. “ufw” (uncomplicated firewall), basit ve kullanımı kolay bir güvenlik duvarı uygulamasıdır.

ufw default deny incoming

Bu komut, gelen tüm bağlantıları varsayılan olarak engeller.

ufw default allow outgoing

Bu komut, çıkan tüm bağlantıları varsayılan olarak izin verir.

ufw allow 22/tcp # gelen SSH trafiğine izin ver

Bu komut, SSH (Secure Shell) bağlantıları için gelen trafiğe izin verir. SSH, uzaktan erişim için kullanılan bir protokoldür.

ufw allow 80/tcp # gelen HTTP trafiğine izin ver

Bu komut, HTTP bağlantıları için gelen trafiğe izin verir. HTTP, web sitelerinin yayınlanması için kullanılan bir protokoldür.

ufw allow 443/tcp # gelen HTTPS trafiğine izin ver

Bu komut, HTTPS bağlantıları için gelen trafiğe izin verir. HTTPS, güvenli bir şekilde iletişim kurmak için kullanılan bir protokoldür.

ufw enable

Bu komut, güvenlik duvarını etkinleştirir. Artık uygulanan tüm kurallar aktif hale gelir.

Bu komutlar, bir sunucunun ağ güvenliğini artırmak için kullanılabilir. Ancak, uygulama özel gereksinimlerinize göre değişebilir ve dikkatli bir şekilde kullanılmalıdır.



SSH üzerinden root girişini devre dışı bırakma: Bu, güvenlik nedenleriyle SSH hizmeti yapılandırma dosyasını değiştirerek kök kullanıcısı için SSH girişini engeller.
Gereksiz paketleri ve hizmetleri kaldırma: Bu, gereksiz veya güvenli olmayan birkaç paketi kaldırır, örneğin telnet, rsh, tftp ve talk gibi.

sed -i ‘s/PermitRootLogin yes/PermitRootLogin no/g’ /etc/ssh/sshd_config
systemctl restart ssh

Gereksiz paket ve servisleri kaldırın :

apt-get remove -y telnet
apt-get remove -y rsh-server
apt-get remove -y rsh-client
apt-get remove -y xinetd
apt-get remove -y tftp
apt-get remove -y tftpd
apt-get remove -y talk
apt-get remove -y talkd

Otomatik güvenlik güncellemelerini etkinleştirme: Bu, otomatik olarak güvenlik güncellemelerini indirip kurmak için unattended-upgrades paketini kurar ve yapılandırır.

apt-get install -y unattended-upgrades
dpkg-reconfigure –priority=low unattended-upgrades

Eski yazılım paketlerini kaldır ve paket önbelleğini temizle :

apt-get autoremove -y
apt-get clean -y

Güçlü bir parola politikası belirleme: Bu, Takılabilir Kimlik Doğrulama Modülünü (PAM) güçlü bir parola gerektirecek şekilde yapılandırır. Parolaların en az 8 karakter uzunluğunda ve 3 karakter sınıfı karmaşıklığı gerektirmesi sağlanır. Ayrıca, kullanıcının kullanıcı adıyla eşleşen parolaları yasaklar ve tekrarlanan karakterleri sınırlandırır.

echo “password requisite pam_cracklib.so retry=3 minlen=8 difok=3 reject_username minclass=3 maxrepeat=2” >> /etc/pam.d/common-password
echo “password required pam_pwquality.so try_first_pass local_users_only retry=3” >> /etc/pam.d/common-password

Denetim kaydını etkinleştirme: Bu, sistem olaylarının denetimi için auditd paketini yükler ve etkinleştirir.

apt-get install -y auditd
auditctl -e 1

Çekirdek dökümlerini devre dışı bırakma: Bu, hassas bilgileri ortaya çıkarabilecek çekirdek dökümlerine izin vermemek için sistemi yapılandırır.

echo “* hard core 0” >> /etc/security/limits.conf

/etc/passwd, /etc/shadow ve /etc/group dosyalarının içeriğini kaydetme: Bu, /etc/passwd, /etc/shadow ve /etc/group dosyaları üzerinde sıkı dosya izinlerini ayarlar ve bunlara erişim girişimlerini kaydeder.

chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/group

Tüm başarılı ve başarısız oturum açma girişimlerini kaydetme: Bu, PAM’ı tüm başarılı ve başarısız oturum açma girişimlerini sisteme kaydetmeye ayarlar.

sed -i ‘s/#?*\s+.faillog./faillog\tpam_tally2.so onerr=succeed/g’ /etc/pam.d/common-auth
sed -i ‘s/#?*\s+.faillog./faillog\tpam_tally2.so onerr=succeed/g’ /etc/pam.d/sshd

İşlem hesaplama özelliğini etkinleştir :

accton on

Süreç hesaplamayı etkinleştirme: Sisteme yüklü olan “acct” adlı bir yazılım paketini kullanarak gerçekleştirilir. Bu adımda, “accton” komutu kullanılarak hesaplama işleminin başlaması sağlanır. Bu adımın tamamlanması, kullanıcıların ve süreçlerin kullanımını izleme yeteneğini sağlar ve sistem yöneticilerinin, kaynak kullanımını izleyebilmeleri için gerekli verileri sağlar.

 

İstila tespiti (fail2ban) yükle ve yapılandır : İstila tespiti (fail2ban), bir sistemde belirli bir süre içinde birden fazla başarısız oturum açma veya diğer belirli olaylar gibi güvenlik ihlallerinin tekrarlanan girişimlerini tespit eden bir yazılımdır. Bu olayların sıklığı, sistemdeki bir hesabın güvenliğini tehlikeye atabilir.

Fail2ban, sistem güvenliğini artırmak için bir araçtır. Fail2ban, sistem loglarını izleyerek belirli bir süre içinde birden fazla başarısız girişimleri tespit eder ve bu IP adreslerini geçici olarak engeller. Bu, sisteminizin korunmasına yardımcı olur.

Fail2ban’ı yüklemek ve yapılandırmak, sisteminizde güvenlik önlemleri sağlamak için önemli bir adımdır. Yapılandırma, fail2ban’ın nasıl çalışacağına, hangi olayların izleneceğine, engelleme kurallarının ne kadar sürdürüleceğine ve engellenen IP adreslerinin ne zaman serbest bırakılacağına karar vermek anlamına gelir.

apt-get install -y fail2ban
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sed -i ‘s/bantime\s=\s600/bantime = 3600/g’ /etc/fail2ban/jail.local
sed -i ‘s/findtime\s=\s600/findtime = 3600/g’ /etc/fail2ban/jail.local
systemctl restart fail2ban

 

Bu işlemler, Ubuntu sunucunuzun güvenliğini arttırmak için çeşitli adımlar içerir. Yapılan adımlar aşağıdaki faydaları sağlayabilir:

  • Paket yöneticisi depolarını güncelleyerek sisteminizdeki yazılım paketlerinin en son sürümlerinin kullanılmasını sağlar.
  • Güvenlik duvarı (ufw) kurulumu, sisteme erişim kontrolü sağlar ve sadece belirli portların dışarıya açık kalmasına olanak tanır.
  • Root kullanıcısının SSH üzerinden giriş yapması engellenir, bu da yetkisiz erişimi azaltır.
  • Telnet, RSH ve benzeri hizmetler kaldırılır, bu hizmetler güvenlik açıklarına neden olabileceği için kullanımı önerilmez.
  • Unattended-upgrades paketi kullanılarak otomatik güncelleştirmelerin etkinleştirilmesi, bilinen güvenlik açıklarına karşı koruma sağlar.
  • Parola politikası, parolaların daha güçlü olmasını ve kaba kuvvet saldırılarına karşı daha iyi koruma sağlar.
  • Auditd kurulumu ve etkinleştirilmesi ile kullanıcılar ve süreçlerin faaliyetleri izlenebilir hale gelir.
  • /etc/passwd, /etc/shadow ve /etc/group dosyalarının gizliliği arttırılır ve erişim izinleri düzenlenir.
  • Başarılı veya başarısız giriş denemeleri loglanır.
  • Fail2ban kurulumu ile IP bazlı engellemeler yapılabilir ve kaba kuvvet saldırılarına karşı koruma sağlanabilir.

Bu işlemler sayesinde, sisteminizin güvenliği artacak ve yetkisiz erişimlere karşı daha iyi korunacaktır.

 

(Visited 119 times, 1 visits today)