Gelen arkadaşlarım DesdeLinux, vaat edilen şey bir borç ve işte bununla ilgili bir yazı Linux sistemlerinin koruması nasıl en üst düzeye çıkarılır ve öyle kal kasa davetsiz misafirlerden ve sunucularınızdaki, PC'lerinizdeki veya dizüstü bilgisayarlarınızdaki bilgileri korumanın yanı sıra !!!!
Comenzando
Başarısız2ban: Python'da, kaba kuvvet erişimine teşebbüs eden uzak bağlantıları cezalandırarak veya engelleyerek hareket eden, bir sisteme izinsiz girişi önlemek için yazılmış bir uygulamadır.
Kurulum:
Fedora, RHEL, CentOS:
yum install fail2ban
Debian, Ubuntu:
apt-get install fail2ban
Ayar:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local nano /etc/fail2ban/jail.local
[VARSAYILAN] adlı bölümde açıklamayı kaldırıp, #bantime = 3600 değiştirip şu şekilde bırakıyoruz:
#bantime = 3600 bantime = 604800
[Sshd] bölümünde, şu şekilde bırakarak enable = true özelliğini tanıtıyoruz:
#enabled = true etkinleştirildi = true
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Hizmeti başlatıyoruz:
Fedora, RHEL, CentOS:
systemctl fail2ban.service etkinleştirme systemctl start fail2ban.service
Debian, Ubuntu:
hizmet fail2ban başlatma
Ssh kullanarak root erişimini reddedin:
Makinemizi korumak için ssh'ı root kullanıcısı aracılığıyla reddedeceğiz. Bunu yapmak için / etc / ssh / sshd_config dosyasını aşağıdaki gibi düzenleriz:
cp sshd_config sshd_config.bck nano / etc / ssh / sshd_config
Yorumsuz ve değiştiririz
#Protocol 2 Protokol 2
Yorumsuz ve değiştiririz
#PermitRootLogin evet PermitRootLogin hayır
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Hizmeti başlatıyoruz:
Fedora, RHEL, CentOS:
systemctl sshd.service etkinleştirin systemctl start sshd.service
Debian, Ubuntu:
hizmet sshd başlangıcı
Anahtar kullanarak bir ssh sunucusuna erişimi reddedin ve ssh'a yalnızca RSA anahtarlarıyla izin verin
PC1 ile Sunucu1'e bağlanmak istiyorsak ilk yapmamız gereken şey PC1'de anahtarımızı oluşturmaktır. Kullanıcılarımızla ve PC1'de root olmadan şunları gerçekleştiriyoruz:
ssh-keygen -t rsa -b 8192 (normalde 1024 ile 2048 arasındaki anahtarlar kullanıldığından bu, güvenli olmaktan çok daha fazlasını üretir)
Parolamızı aldıktan sonra, onu Sunucu1'e yüklüyoruz:
ssh-copy-id kullanıcı @ sunucu_ip
Bu yapıldıktan sonra, Sunucu1'e bağlanacağız ve nano / etc / ssh / sshd_config dosyasını kök izinlerle değiştireceğiz:
ssh kullanıcısı @ Sunucu1 nano / etc / ssh / sshd_config
#PasswordAuthentication evet yazan satırı buna değiştiriyoruz:
#PasswordAuthentication evet
Şifre Doğrulama no
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Ssh hizmetini yeniden başlatıyoruz:
Fedora, RHEL, CentOS:
systemctl sshd.service'i yeniden başlat
Debian, Ubuntu:
hizmet sshd yeniden başlatma
Ssh dinleme bağlantı noktasını değiştir
Yine / etc / ssh / sshd_config dosyasını düzenleriz ve porta atıfta bulunan kısımda şu şekilde bırakırız:
# Bağlantı Noktası 22 Bağlantı Noktası 2000 (veya 2000'den büyük herhangi bir sayı. Örneklerimizde bunu kullanacağız.)
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Ssh hizmetini yeniden başlatıyoruz:
Fedora, RHEL, CentOS:
systemctl sshd.service'i yeniden başlat
Debian, Ubuntu:
hizmet sshd yeniden başlatma
Fail2ban kullanırlarsa, sshd'nin bağlantı noktasını ayarlamasına ilişkin yapılandırmayı değiştirmek gerekir.
nano /etc/fail2ban/jail.local [sshd] port = ssh, 2000 [sshd-ddos] port = ssh, 2000 [dropbear] port = ssh, 2000 [selinux-ssh] port = ssh, 2000
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Hizmeti yeniliyoruz:
Fedora, RHEL, CentOS:
systemctl yeniden fail2ban.service
Debian, Ubuntu:
hizmet fail2ban yeniden başlatma
güvenlik duvarı
Fedora, RHEL, CentOS:
Selinux ve Iptables bu sistemlerde varsayılan olarak etkinleştirilmiştir ve bu şekilde devam etmenizi tavsiye ederim. İptables ile bir port nasıl açılır? Daha önce değiştirdiğimiz ssh portunun yeni port 2000'i nasıl açacağımızı görelim:
Açık:
nano / etc / sysconfig / iptables
ve varsayılan ssh port 22'ye başvuran satırı değiştirip şöyle bırakıyoruz:
# -Bir GİRİŞ -m durum - durum YENİ -m tcp -p tcp --dport 22 -j KABUL -A GİRİŞ -p tcp -m durum - durum YENİ -m tcp --dport 2000 -j KABUL
CTRL + O ile kaydedip CTRL + X ile kapatıyoruz
Hizmeti yeniden başlatıyoruz:
systemctl iptables'ı yeniden başlat
Debian, Ubuntu:
Debian veya Ubuntu ve türevlerinde, Netfilter'i çok kolay yönettiği için hayatımızı kolaylaştıracak bir UFW güvenlik duvarına sahibiz.
Kurulum:
apt-get install ufw ufw etkinleştir
Yürüttüğümüz açık bağlantı noktalarının durumunu görmek için:
ufw durumu
Bir bağlantı noktası açmak için (örneğimizde yeni ssh bağlantı noktası 2000 olacaktır):
ufw izin 2000
Bir bağlantı noktasını reddetmek için (bizim durumumuzda bu, ssh'nin varsayılan bağlantı noktası 22 olacaktır):
ufw deny 22 ufw sil deny 22
Ve hazır arkadaşlar. Bu şekilde makinelerinizi güvende tutacaklar. Yorum yapmayı unutmayın ve bir dahaki sefere kadar: D.
ve aşağıdaki gibi bir şifreleme sistemi: https://www.dyne.org/software/tomb/
Ayrıca evinizdeki kullanıcıları tty ile bağlanırlarsa kafesleyin:
http://olivier.sessink.nl/jailkit/index.html#intro
https://operativoslinux.wordpress.com/2015/02/21/enjaular-usuarios-en-linux/ (kolay yol)
Tüm dosya sistemini şifrelemek çok daha iyi ve daha güvenlidir.
Linux'ta güvenlikle ilgili aşağıdaki eğitim için bunu dikkate alacağım: D.
Çekirdeğin sysctl aracılığıyla sertleştirilmesi, onu destekleyen çekirdekte rastgele yığın ve Exec-Shield'in etkinleştirilmesi, dmesg ve / proc dosya sistemine erişim sağlanması, bir denetim arka plan programı çalıştırılması, TCP korumasının SYN'nin etkinleştirilmesi hakkında konuşmak da iyi olacaktır , / dev / mem'e erişimi kısıtlayın, sistemi tehlikeli veya güvenli olmayan TCP / IP yığın seçeneklerini devre dışı bırakın (yönlendirme, yankı, kaynak yönlendirme), kullanıcıların güçlü parolalar oluşturması için pam_cracklib'i kullanın, Tomoyo gibi MAC sistemi kullanımının önemi , AppArmor ve SELinux.
çok kullanışlı!!!! tam aradığım şey teşekkürler 🙂
Rica ederim arkadaş :).
Apache kullanıyorsanız, botlardan kaçınmak için mod_rewrite ile kural eklemekten zarar gelmez. Çok kullanışlı
http://perishablepress.com/eight-ways-to-blacklist-with-apaches-mod_rewrite/
ve nginx için herhangi bir numara veya konfigürasyon var mı?
Debian 8'de / etc / ssh / sshd_config dosyasında zaten Protokol 2 etkin ve PermitRootLogin işlevi şifresiz seçeneğiyle (yalnızca kimlik doğrulama anahtarıyla ve özel anahtara sahip bilgisayardan root girebilirsiniz)
debian 8 firewalld'de pd geldi ve ufw'yi küçük bıraktı
Ferm gördün mü? Kuralların nasıl tanımlandığını seviyorum.
http://ferm.foo-projects.org/download/examples/webserver.ferm
Debian 8'in güvenlik duvarı kullanmasına sevindim çünkü çok çok çok iyi ...
Bir saldırganın yerel bilgisayarın ip'i ile paketler ürettiği ve DOS'u çok kolaylaştırdığı için fail2ban'a dikkat edin.
Adam, yerel PC IP'si ve geri döngü IP'si Fail2ban listesinin dışında tutuldu.
Aksi takdirde, yanlış pozitiflerimiz olabilir.
İyi ve çok etkili Öneriler… Tabii ki, sunucu ortamında ve eğer bir web sitesi barındırıyorsak, ek adımlar içerir…. Şu anda JackTheStripper adında, web uygulamaları için en iyi güvenlik uygulamalarını izleyerek bir sunucuyu GNU / Linux ile hazırlayan ve koruyan bir bash Betiğinden başka bir şey olmayan bir proje yürütüyoruz ... projeyi şuradan öğrenebilirsiniz: http://www.jsitech.com/jackthestripper ....
Kernel.randomize_va_space = 2 değerini korumayı sevmeme rağmen güzel bir betik
İşin iyi yanı, çalıştırmadan önce ihtiyaçlarınıza göre biraz değiştirebilirsiniz ..... A Merhaba ...
Merhaba, elbette yazım temel bir sigortalıyla ilgileniyor ve her biri, LAMP veya FTP, SFTP, BIND ve uzun vb. Sistemlerinde kurduğu hizmetlere bağlı olarak kendini az çok korumalı :)
Güvenlik ile ilgili bir sonraki yazıda bu sorunları ele alacağım.
Olumlu geribildirim için teşekkürler :).
@petercheco, kılavuzlarınız mükemmel, FreeeBSD sistemi için iyi bir şifreleme kılavuzu olur, FreeBSD, masaüstlerinin yapılandırılması ve özelleştirilmesi, Güvenlik Duvarı, oluşturma ve oluşturma hakkında ikinci bölümü ne zaman yapacağınızı bilmiyorum. bir kablosuz ağın yapılandırılması.
Selam dostum,
Seyrek paylaşımların gösterdiği gibi biraz meşgulüm, ancak bunu bir sonraki FreeBSD gönderisinde aklımda tutacağım.
Kutlama :).
Bu yorumlarda seviyelendirildi, neden bahsettiğiniz hakkında hiçbir fikrim yok, kimse xD
Harika makale!
Bu güvenlik eylemi, ekipmanın bir şekilde sınırlandırılması anlamına mı geliyor?
Hayır ... Sistemin normal kullanımı hiçbir şekilde sınırlı değildir.
Ve komik (trajik) şey şu ki, Lenovo makinelerinde gördüğümüz gibi, eğer bios ürün yazılımı kötü amaçlı yazılımla değiştirilirse, yaptığınız hiçbir şeyin önemi yoktur.
Üretici tarafından önceden yüklenmiş Windows'u kullandığınız sürece ...
hata: bios aygıt yazılımına yüklediklerini unutmayın, yani sistem her yeniden başlatmada, işletim sisteminden önce, şeytanlardan önce başlar ve her şeyden önce ona karşı hiçbir şey yapmanıza izin vermez. çok az saldırı yapılabilir, bu yüzden uefi fikri prensipte iyidir.
İlginç makale, bu öğleden sonra daha dikkatli okuyacağım. Teşekkür ederim.
Rica ederim :). Memnun oldum.
Harika bir makale, bütün öğleden sonra okuyarak kendimi eğlendirdim. Her şeyi çok dikkatli bir şekilde açıklamaya ayırdığınız zaman takdir ediliyor.
Şili selamlar
Carlos
Merhaba Carlos,
Çok teşekkürler :).
Lenovo makineleri, eğer bios aygıt yazılımı kötü amaçlı yazılım ile müdahale edilmiş gibi görünüyorsa, makineler (Dizüstü Bilgisayar-Masaüstü Bilgisayar) yukarıdakilere göre üretici tarafından her zaman Windows ile birlikte gelir… gönderi… .petercheco?
Tüm bunları yapmadan bile işe yarıyor, çünkü kötü amaçlı yazılım Linux için değil Windows için yapıldı.
İptables'da pek çok şey ve püf noktası eksiktir, örneğin baş döndürücü nmap gibi, tüm açık portlar arasında, ttl ve pencere boyutunu kullanan bir Windows bilgisayarı, scanlogd, apache mod güvenliği, grsec, selinux veya bunun gibi bir şey. Ftp'yi sftp ile değiştirin, bir DDoS'den önce bizi hizmetsiz bırakmalarını önlemek için X bağlantı noktasındaki her bir hizmete IP başına bağlantı sayısını sınırlayın ve çok sayıda UDP gönderen IP'leri saniyeler boyunca engelleyin.
Sunduğunuz örneklerle, yeni bir kullanıcı onu okumaktan deliye döner ... Her şeyi tek bir gönderiye koyamazsınız. Birkaç giriş yapacağım :).
Bu noktada başlangıç servisini verirken archlinux'ta bir hata alıyorum, ona durum veriyorum ve bu çıkıyor:
sudo systemctl durumu fail2ban
● fail2ban.service - Fail2Ban Hizmeti
Yüklendi: yüklendi (/usr/lib/systemd/system/fail2ban.service; etkin; satıcı ön ayarı: devre dışı)
Aktif: başarısız (Sonuç: başlangıç sınırı), Cum 2015-03-20 01:10:01 CLST'den beri; 1 sn. Önce
Dokümanlar: adam: fail2ban (1)
İşlem: 1695 ExecStart = / usr / bin / fail2ban-client -x start (kod = çıkıldı, durum = 255)
Mar 20 01:10:01 Gundam systemd [1]: Fail2Ban Hizmeti başlatılamadı.
Mar 20 01:10:01 Gundam systemd [1]: Unit fail2ban.service başarısız durumuna girdi.
Mar 20 01:10:01 Gundam systemd [1]: fail2ban.service başarısız oldu.
Mar 20 01:10:01 Gundam systemd [1]: başlatma isteği fail2ban… ice için çok hızlı tekrarlandı
Mar 20 01:10:01 Gundam systemd [1]: Fail2Ban Hizmeti başlatılamadı.
Mar 20 01:10:01 Gundam systemd [1]: Unit fail2ban.service başarısız durumuna girdi.
Mar 20 01:10:01 Gundam systemd [1]: fail2ban.service başarısız oldu.
İpucu: Bazı çizgiler elipsize edildi, tam olarak göstermek için -l kullanın.
biraz yardım? D:
Merhaba, systemctl ile fail2ban'ı etkinleştirdiyseniz fail2ban.service'i etkinleştirdiyseniz ve systemctl start fail2ban.service ise, sorun yaptığınız jails yapılandırmasında olacaktır. Lütfen hapishanenizi kontrol edin ve her şeyin yolunda olduğunu doğrulayın.
selamlar
PeterÇek
Her şeyden önce iyi öğretici. Pek çok şey eksik ama temellere odaklandınız.
shini-kire, /var/log/fail2ban.log'unuzu kontrol edin
Selamlar.
Teşekkür ederim @Maykel Franco :).
iyi,
fail2ban bir ev bilgisayarına mı kurmalı yoksa sunucular için mi daha fazlası ???
Teşekkür ederim.
Daha ziyade sunucular için ama sizden daha fazla kişi tarafından erişilebilen bir wifi üzerindeyseniz, bu iyidir ...
Merhaba arkadaşım, bana Gnu / Linux dağıtımlarındaki kısa bir yangının bölümünde iyi bir güvenlik yazısı gibi görünüyor.Bu yorumu yazıyorum çünkü bunu Ubuntu 14.04 dağıtımında yapıyorum çünkü zaten 15.04'te olduğunu bilerek neler oluyor Aşağıdaki problem nano /etc/fail2ban/jail.local'ı root olarak giriyorum ve sshd kısmında görselleştirme yapmıyorum ve kaydediyorum [VARSAYILAN] bölümünde açıklamayı kaldırıp değiştiriyoruz #bantime = 3600 ve
[Sshd] bölümünde, şu şekilde bırakarak enable = true özelliğini tanıtıyoruz:
#etkin = doğru
etkin = doğru
Görünüşe göre sshd'nin önceki sürümü çalıştığım için olabileceği görünmüyor, teşekkürler