Çoğu insan Linux'un güvenli olduğunu düşünür, ancak bu yanlış bir varsayımdır. Dizüstü bilgisayarınızın güvenlik takviyesi olmadan çalındığını hayal edin. Hırsız, kullanıcı adınızın "root" ve şifrenizin "toor" olduğunu düşünebilir, çünkü bu Kali tarafından belirlenen varsayılan parola ve birçok kişi bunu kullandı ve hiç değiştirmedi.
Her Linux sistemi, özellikle hassas veriler içeriyorsa, daha yüksek güvenlikten yararlanacaktır. Linux sunucu güvenliğimizi daha iyi korumanıza yardımcı olmak umuduyla, 40 pratik Linux sunucu güvenliğini artırma ipucunu sizinle paylaşmama izin verin.
1. Linux sunucusunun veri iletişimini şifreleyin
Ağ üzerinden iletilen tüm veriler izlenebilir. Mümkün olduğunda, iletilen verileri şifrelemek için bir parola kullanın veya bir anahtar / sertifika kullanın.
2. Linux'ta FTP, Telnet ve Rlogin / Rsh hizmetlerini kullanmaktan kaçının
Çoğu ağ yapılandırmasında, aynı ağ üzerinde bulunan ve paket dinleyicisi kullanan herkes kullanıcı adlarını, parolaları, FTP / telnet / rsh komutlarını ve aktarılan dosyaları yakalayabilir.
Genel çözümler:
FTP'ye FTP veya TLS şifreleme eklemek için OpenSSH, SFTP veya FTPS (SSL üzerinden FTP) kullanın. NIS, rsh ve diğer eski hizmetleri silmek için aşağıdaki yum komutunu girin:
# yum xinetd ypserv tftp-server telnet-server rsh-server sil3. Linux'taki güvenlik açıklarını azaltmak için paketi en aza indirin
Yazılım açıklarını önlemek için gereksiz yazılımlar yüklemekten kaçının. Sistemde kurulu tüm paket setlerini görüntülemek için bir RPM paket yöneticisi (yum veya apt-get ve / veya dpkg gibi) kullanın. Gereksiz tüm paketleri silin.
# yum listesi yüklendi # yum list paketAdı # yum paketAdı kaldır # dpkg - liste # dpkg - bilgi paketiAdı # apt-get paketAdı kaldır4. Her sistem veya sanal makine örneğinin ayrı bir ağ hizmetine sahip olduğundan emin olun
Ayrı sunucularda veya sanal makine örneklerinde farklı ağ hizmetleri çalıştırın. Bu, tehlikeye atılabilecek diğer hizmetlerin sayısını sınırlar. Örneğin: bir bilgisayar korsanı Apache gibi yazılım akışlarını başarılı bir şekilde kullanabilirse, MySQL, PgSQL, e-posta sunucusu gibi diğer hizmetler de dahil olmak üzere tüm sunucuya erişim elde edecektir.
5. Linux çekirdeğini ve yazılımını güncel tutun
Güvenlik yamalarının uygulanması, Linux sunucularının bakımının önemli bir parçasıdır. Yama yayınlandıktan sonra güvenlik güncellemesini mümkün olan en kısa sürede tamamlayın.
Tüm güvenlik güncellemelerini başlatmak için RPM paket yöneticilerini (yum ve / veya apt-get ve / veya dpkg gibi) kullanın.
# yum güncelleme veya # apt-get update apt-get upgrade6. Linux Güvenlik Uzantılarını Kullanın
Linux, yanlış yapılandırmayı veya hasarlı programları önlemek için çeşitli güvenlik yamalarıyla birlikte gelir. Koşullar izin verirse, ağ ve diğer programlar üzerinde kısıtlamaları uygulamak için SELinux veya diğer Linux güvenlik uzantılarını kullanabilirsiniz.
7. SELinux
SELinux esnek zorunlu erişim kontrolü (MAC) sağlar MAC çekirdeğini çalıştırmak, sistemi, sisteme zarar verebilecek veya yok edebilecek kötü amaçlı uygulamalardan koruyabilir.
8. Linux kök hesabı güçlü bir parola politikası kullanır
Kök hesaplar oluşturmak ve sürdürmek için useradd / usermod komutlarını kullanın. Güçlü bir şifre politikanız olduğundan emin olun. Örneğin: güçlü bir şifre en az 8 karakter uzunluğunda ve harflerin, sayıların, özel karakterlerin, büyük ve küçük harflerin vb. Bir karışımını içerir.
9. Güvenliği artırmak için Linux kullanıcıları için şifrelerin zamanlamasını ayarlayın
Chage komutu, parolanın sona erme ayrıntılarını ve en son parola değişikliğinin tarihini görüntüler. Sistem, kullanıcıların şifrelerini ne zaman değiştirmesi gerektiğini belirlemek için bu ayrıntıları kullanır.
Parola son kullanma tarihini devre dışı bırakın
# chage -M 99999 kullanıcıAdıParola son kullanma bilgilerini alın
# chage -l kullanıcıAdıHerhangi bir kullanıcının şifresinin zaman sınırını değiştirin
#chage -M 60 -m 7 -W 7 kullanıcıAdı10. Linux'ta eski parolaların kullanımını kısıtlayın
Linux altında tüm kullanıcıların aynı eski parolayı kullanmasını veya yeniden kullanmasını engelleyebilirsiniz. Pam_unix modülündeki parametreler, artık kullanılamayan eski şifrelerin sayısını kaydedebilir.
11. Oturum açma hatasından sonra kök hesabı kilitleyin
Linux altında, arıza günlüğü kayıtlarını görüntülemek ve hata sayaçlarını ve sınırlarını korumak için kullanılabilecek oturum açma hatası sınırlarını belirlemek için faillog komutunu kullanabilirsiniz.
Başarısız girişleri görüntüleyin
başarısız günlüğüBaşarısız girişten sonra hesabın kilidini açın
faillog -r -u kullanıcıAdıNot: Hesabı kilitlemek ve kilidini açmak için passwd komutunu kullanabilirsiniz:
# kilitli hesap passwd -l kullanıcıAdı # unlocak hesap passwd -u kullanıcı adı12. Hesabın boş bir parolaya sahip olduğunu doğrulayın
Aşağıdaki komutu girin
# awk -F: '($ 2 == "") {baskı}' / etc / shadowTüm hesapları boş parolalarla kilitleyin:
# passwd -l hesapAdı13. ROOT dışındaki kullanıcıları doğrulayın, UID değeri 0'dır
Yalnızca kök hesabın UID 0'a sahip olduğundan ve sisteme tam erişime sahip olduğundan emin olun.
UID değeri 0 olarak ayarlanmış tüm hesapları görüntülemek için aşağıdaki komutu girin:
# awk -F: '($ 3 == "0") {yazdır}' / etc / passwd14. Kök girişini devre dışı bırakın
Doğrudan kök kullanıcı olarak oturum açmayın. Gerektiğinde kök düzeyinde komutları yürütmek için sudo kullanın. sudo, basit denetim ve izleme işlevleri sağlarken, sistemin güvenliğini büyük ölçüde artırır.
15. Fiziksel sunucu güvenliği
Linux sunucusu fiziksel konsol erişimini koruyun. BIOS'u yapılandırın ve harici cihazlardan (DVD / CD / USB kalem gibi) önyüklemeyi devre dışı bırakın. Bu ayarları korumak için BIOS ve grup önyükleyici parolasını ayarlayın.
16. İstenmeyen Linux hizmetlerini devre dışı bırakın
Gereksiz tüm hizmetleri ve arka plan yordamlarını devre dışı bırakın. Sistem başlangıcından tüm gereksiz hizmetleri kaldırın.
3. seviye çalıştırma başlatıldığında başlatılan tüm hizmetleri listelemek için aşağıdaki komutu girin:
# chkconfig --list | grep '3: açık'Hizmeti devre dışı bırakmak için şunu girin:
# service serviceName durdurma # chkconfig serviceName kapalı17. Dinleyen ağ bağlantı noktasını bulun
Tüm açık bağlantı noktalarını ve ilişkili programları listelemek için netstat komutunu kullanın:
netstat -tulpnGereksiz tüm ağ hizmetlerini durdurmak için chkconfig komutunu kullanın.
18. X Pencere Sistemini (X11) çıkarın
X11'i Linux tabanlı ayrılmış posta ve Apache / Nginx web sunucularında çalıştırmayın. Sunucu güvenliğini ve performansını iyileştirmek için X Windows'u devre dışı bırakabilir ve silebilirsiniz.
/ Etc / inittab dosyasını düzenleyin ve çalışma seviyesini 3 olarak ayarlayın. Son olarak, X Windows sistemini silin ve şunu girin:
CentOS 7 / RHEL 7 sunucusunda aşağıdaki komutu kullanın
# yum grup "X Pencere Sistemi" ni kaldır # yum group "GNOME Masaüstü" nü kaldırın # yum group "KDE Plazma Çalışma Alanları" nı kaldırın # yum group "GUI'li Sunucuyu" kaldır # yum group "MATE Desktop" ı kaldır19. Linux'ta güvenlik duvarı tabanlı Iptables ve TCPWrappers yapılandırın
Sunucuya yetkisiz erişimi korumak, trafiği filtrelemek ve yalnızca gerekli trafiğe izin vermek için Linux çekirdek güvenlik duvarının etkinleştirilmesi şiddetle tavsiye edilir. İnternete ağ erişimini filtrelemek için ana bilgisayar tabanlı bir ağ ACL sistemi olan TCPWrappers'ı kullanın.
20. Linux çekirdeği /etc/sysctl.conf optimizasyonu
/Etc/sysctl.conf dosyası, çalışma zamanında çekirdek parametrelerini yapılandırmak, /etc/sysctl.conf dosyasından okumak ve Linux başladığında ayarları uygulamak için kullanılır.
Örnek /etc/sysctl.conf:
# Execshield'ı aç kernel.exec-shield = 1 kernel.randomize_va_space = 1 # IP sahtekarlığı korumasını etkinleştir net.ipv4.conf.all.rp_filter = 1 # IP kaynak yönlendirmesini devre dışı bırakın net.ipv4.conf.all.accept_source_route = 0 # Yayın isteklerini göz ardı etme net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.icmp_ignore_bogus_error_messages = 1 # Sahte paketlerin günlüğe kaydedildiğinden emin olun net.ipv4.conf.all.log_martians = 1Çevrilen içerik: https://www.cyberciti.biz/tips/linux-security.html
Lütfen sonraki 20 öğe için sonraki sayıya bakın ~