Linux kutuma sızıp sızdırmadığını nasıl belirlerim?


11

Kısa süre önce kötü niyetli SSH giriş denemelerini analiz etme hakkında bir makale okudum . Bu beni düşündürdü, Debian kutumdaki SSH kullanıcı adı, şifre kombinasyonları nadir mi? Bir kaba kuvvet sözlüğü saldırısı tarafından hedeflenmiş miydim? /Var/log/auth.log.0 adresine bir göz atalım :

Sep 23 07:42:04 SLUG sshd[8303]: Invalid user tyjuan from 210.168.200.190
Sep 23 07:42:09 SLUG sshd[8305]: Invalid user tykeedra from 210.168.200.190
Sep 23 07:42:14 SLUG sshd[8307]: Invalid user tykeem from 210.168.200.190
Sep 23 07:42:19 SLUG sshd[8309]: Invalid user tykeshia from 210.168.200.190
Sep 23 07:42:25 SLUG sshd[8311]: Invalid user tyla from 210.168.200.190
Sep 23 07:42:30 SLUG sshd[8313]: Invalid user tylan from 210.168.200.190
Sep 23 07:42:35 SLUG sshd[8315]: Invalid user tylar from 210.168.200.190
Sep 23 07:42:40 SLUG sshd[8317]: Invalid user tyler from 210.168.200.190
Sep 23 07:42:45 SLUG sshd[8319]: Invalid user tylerfrank from 210.168.200.190
Sep 23 07:42:50 SLUG sshd[8321]: Invalid user tyliah from 210.168.200.190
Sep 23 07:42:55 SLUG sshd[8323]: Invalid user tylor from 210.168.200.190

Yani bu iyi görünmüyor. Artık bir saldırı tarafından hedeflendiğimi ve bazı kullanıcı adım, şifre kombinasyonlarımın zayıf olduğunu bildiğime göre, nasıl yapabileceğimi bilmek istiyorum ...

  • ... Linux kutuma sızıp sızmadığını belirleyecek miyim?
  • ... faillerin bıraktığı zararları geri alabilir misin?
  • ... bunun gelecekte olmasını önlemek mi?

GÜNCELLEME

Faillerin bıraktığı zararın geri alınmasıyla ilgili herhangi bir tavsiye var mı?


bu günlük güvenliğinizin ihlal edildiğini göstermez. bunun ötesinde sizi endişelendiren daha fazla bilginiz var mı?

Yanıtlar:


15

Birçok insan DenyHosts'u öneriyor gibi görünüyor, ancak sistemlerimde Fail2Ban ile çok başarılı oldum . (Yapılandırılabilir) sayıda başarısızlığı izler ve ardından bir eylem gerçekleştirir - sunucularımda, bu eylem ana bilgisayardan tüm trafiği bırakmak için iptables kullanmaktır. 10 giriş başarısızlığından sonra, yasaklanırlar ve bunun sonu gelir.

Logcheck ile birlikte kullanıyorum, böylece sunucularımda neler olup bittiğini her zaman biliyorum.

Birisinin sisteminize gerçekten girmiş olduğuna dair herhangi bir kanıtınız varsa (postaladığınız günlükler bunun kanıtı değildir), o zaman tek çözümünüz tutmanız gereken tüm verileri yedeklemek, makineyi silmek, yeniden yüklemek ve geri yüklemek yedeklemelerden. Aksi takdirde, emin olmanın bir yolu yoktur.


1
Logcheck ve fail2ban da kullanıyorum. Çok iyi bir kombinasyon.

İkincisi fail2ban kullanımı.
Malfist

Fail2ban da fail2ban'a geçtim çünkü fail2ban daha fazla hizmeti (posta, web, ftp, ...)
izliyor

10

Geçerli giriş denemeleri de giriş yaptı, bu yüzden bir kaba kuvvet denemesinin ardından bir başarı görüyorsanız, bu kötü bir şeyin olduğu iyi bir göstergedir.

Şüpheli SSH trafiği için günlüklerimi izlemek için DenyHosts kullanıyorum ve belirli bir noktada ana bilgisayarları otomatik olarak güvenlik duvarından alacak şekilde yapılandırdım.

Yük kalıpları, oturum açma etkinliği, periyodik trafik koklaması, çalışan işlemleri ve açık bağlantı noktalarını izleme ve tripwire gibi bir araçla dosya bütünlüğünü sağlama da dahil olmak üzere, makinenizi tehlikeye atıp atmadığını görmek için başka çeşitli yollar olduğunu unutmayın.

Yalnızca bir tane yapacaksanız, sistem yükünü izlemek, uzlaşmayı tespit etmenin çok etkili bir yoludur, çünkü tehlikeye atıldığında çoğu makine büyük miktarlarda spam göndermek veya çok fazla trafik almak gibi şeyler yapmak için kullanılır. Yüksek değerli bir hedefseniz ve insanlar ana makinenizi bir zombiye dönüştürmek dışındaki nedenlerden dolayı size özel olarak girmeye çalışıyor olsa da yararlı olmayabilir, ancak yine de değerli. Ayrıca, profil oluşturma ve daha fazla donanıma veya daha iyi yazılıma ne zaman yatırım yapmanız gerektiğini anlamak için yükün izlenmesi gerekir.

Ayrıca beklenmedik şeyler için auth.log ve diğerlerine bakarak kapsamlı günlük analizi yapmalısınız. Günlük dosyası analizi rekabetçi bir pazardır ve sorun henüz çözülmemiştir, ancak günlükleri size günlük olarak göndermek için yapılandırılabilen ücretsiz araçlar vardır.

Katmanlar aracılığıyla güvenlik!


1
Tabii ki, saldırgan izinsiz giriş kanıtlarını kaldırmak için günlükleri değiştirmiş olabilir, bu yüzden günlüklerde kanıt eksikliği her şeyin yolunda olduğu anlamına gelmez.

Bu doğru. Kanıt eksikliği temelde hiçbir zaman ödün vermediğimin kanıtı değil, kitabımda. Uzak bir sunucuda oturum açmak, günlüklerin güvenilirliğini artırabilir. Bu amaçla syslog-ng ve ssh tünellerini kullanıyorum.

Sunucumu da kesmek için gülünç sayıda deneme gördüm ... DenyHosts'u kurdum ve sadece 10 dakika sonra birkaç IP eklemişti. Teşekkürler!
Aaron Brown

4

Tripwire unutun, oldukça pahalı. Bunun yerine AIDE kullanın. Ücretsiz, kurulumu kolay (ancak geçici dizinlerin hariç tutulması ve başka şekilde yapılandırılması biraz zaman alır).

çalıştırırsanız, tüm dosyaların bir veritabanını oluşturur. Tekrar çalıştırın ve size hangi dosyaların değiştiğini söyleyecektir.

Yapılması gereken diğer bir şey, insanlar tekrar tekrar giriş yapamadığından, bir denyhost türü engelleyiciye sahip CSF'yi yüklemek, bunları güvenlik duvarı kurallarınıza ekleyecektir. Ayrıca SSH oturum açma işlemlerinin ortak bir anahtara sahip olmasını da isteyebilirsiniz, komut dosyası çocukların istedikleri kadar oturum açmayı deneyebilir.


Tripwire'ın açık kaynaklı (ve ücretsiz) bir sürümü var. Bakınız tripwire.org
Dan Andreatta

4
"* ... determine if my Linux box has been infiltrated?"
  • garip süreçlerin işaretlerini ara. Normalde chkrootkit ile gelen araçları kullanıyorum ( http://www.chkrootkit.org )
  • Farklı bir makineden nmap ile bir portcan yapın. Kutunuz ele geçirildiyse, atacker arka kapı takmış olabilir

“* ... failler tarafından bırakılan zararlardan herhangi biri geri alınsın mı?”

bir saldırı varsa, en iyi tavsiye sıfırdan yeniden yüklemektir (yeni kurulumda herhangi bir delik eklediğinizden emin olun). Bir arka kapı veya gizli bir işlemi fark etmemek çok kolaydır, yeniden yüklemeden daha iyidir.

“* ... bunun gelecekte olmasını önlemek mi?”

  • güvenlik güncellemeleri

  • sıkı güvenlik duvarı

  • güçlü şifreler

  • gereksiz hizmetleri kapat


3

logcheck , portsentry ve tripwire gibi araçlara göz atın . rasgele sözlük SSH girişimleri için çok yaygın, bu yüzden çok endişelenmezdim. Rastgele gizleme için bağlantı noktasını değiştirmek isteyebilirsiniz, ancak zaman zaman rastgele denemeler görmeye devam edersiniz, bu internette bir makineye sahip olmaktır.


3

Bu saldırıları önlemek için sunucularımda kullandığım bir şey DenyHosts . DenyHosts kötü niyetli bir kullanıcının oturum açmaya çalışmasını durduracaktır. Yüklediğimden beri günlük dosyalarımda çok daha az oturum açma girişimi var.


3

Genel / Özel anahtar çiftlerini ek kimlik doğrulama olarak kullanmak iyi bir uygulamadır; Bu şekilde bir kullanıcı sağ tuş olmadan SSH üzerinden oturum açamaz; kaba bir zorlayıcıyı tahmin etmek oldukça imkansız olurdu. Bununla ilgili güzel bir makale burada bulunabilir .

Bu sadece bir parola ile SSH kimlik doğrulaması için oldukça sağlam olacaktır; Ancak daha fazla güvenlik açığı var! Açık bağlantı noktası kullanan tüm uygulamalara dikkat edin; Bir hata içeriyorsa, istismar edenler sisteminizi geçebilir. İyi bir örnek, şu anda kullanmakta olduğumuz webstats yazılımındaki bir hata nedeniyle sunucumuza yüklenen spam bot'du.


2

Fail2ban bir erişim günlüğü gerçek zamanlı analiz edicidir. Herhangi bir IP'yi oturum açma başarısız girişimleriyle engelleyecek şekilde yapılandırılabilir. Bu, ssh portunu taşımak zorunda kalmadan sözlük saldırılarını önler. chkrootkit ve rootkithunter izinsiz girişi kontrol etmek için iyi araçlardır. İzinsiz giriş başarılı olduysa, en iyi uygulama verileri kopyalamaktır (ve yalnızca yürütülebilir dosyalar değil, verilerdir), silin ve yeniden yükleyin, çünkü sistemin temiz olduğundan% 100 emin olmak gerçekten zordur.


2

Burada kutunuzun ele geçirildiğini önerecek hiçbir şey yok. Parolalarınız oldukça zayıf olsa bile, her kullanıcı adına yalnızca bir giriş denemesi yapan bir sözlük saldırısının başarılı olması pek olası değildir.

Ancak, şifrelerinizin zayıf olduğunu biliyorsanız, onları güçlendirin! Şahsen pwgen (Debian tarafından paketlenmiş) gibi. Her koşuda, yodieCh1, Tai2daci veya Chohcah9 gibi (en azından benim için) hatırlanması oldukça kolay olan çok sayıda güçlü, ancak nispeten belirgin şifre adayları üretir.

Ancak, sisteminizin güvenliğinin ihlal edildiğini gösteren başka kanıtlar varsa ... Yörüngeden çekmeyin. Emin olmanın tek yolu bu.

Yürütülemeyen veriler muhtemelen kurtarılabilir, ancak yürütülebilir içeriğe sahip herhangi bir şey (bu, MS Office belgeleri ve bazı yapılandırma dosyaları gibi şeyleri içerir), düşmanca davranılması ya da düşmanca olabilme olasılığını kabul etmek ve sisteminize zarar vermek ya da etrafta kalırsanız gelecekteki yeniden uzlaşma için bir yol sağlamak.


2

Sevdiğim küçük bir ek koruma, herhangi bir sözlük saldırısını veya benzerlerini yavaşlatmak için gelen ssh bağlantılarını sınırlamaktır. Bunun sizi tek başına korumasını beklemeyin, ancak parola kimlik doğrulamasını devre dışı bırakma da dahil olmak üzere diğer yanıtlardaki önerilere ek olarak bunu kullanın.

İptables kullanma:

$ iptables        -A INPUT      -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
$ iptables        -A INPUT      -p tcp --dport 22 -m state --state NEW -m limit --limit 3/min --limit-burst 3 -j ACCEPT
$ iptables        -A INPUT      -p tcp --dport 22 -j DROP

2

Bu konu hakkında bazı kötü tavsiyeler var, örneğin:

  • ssh için standart olmayan bir bağlantı noktası kullanma (yanlış!)
  • bazı üçüncü taraf güvenlik araçlarını kullanma (gereksiz bir bağımlılık / karmaşıklık ekleme)
  • güvenlik duvarınızı engellenecek veya beyaz listeye eklenecek şekilde yapılandırma (bakım başlığı)

/etc/ssh/sshd_configGüvenliği artırmak için bunun yerine ince ayar yapmanız yeterlidir :

  • PermitRootLogin no
  • AllowUsers'ı yalnızca sistemde ssh hesabı olan kullanıcılar için yapılandırın
  • Yalnızca 'PasswordAuthentication no' ile fiziksel anahtarlar kullanmayı düşünün

Eğer kutu iseniz sızılmış. Kutuyu yeniden oluşturun.


(-1) Güvenlik duvarında kuralların yapılandırılması veya izinsiz giriş önleme sisteminin kullanılması bazen gerekebilir. Neden iyi bir fikir olmadığı hakkında ek bir tartışma yapmadan kötü tavsiye olarak adlandırmak çok yararlı değildir.
Zoredache

1

Her zaman ssh etkin olacak. Yüksek bir porta taşıyın.

İzinsiz giriş tespiti için mükemmel, ancak kurulumu oldukça zor olan "Tripwire" adlı bir program var. Başka bir şey yoksa, sorunları anlayabilmeniz için dokümanlarını okumalısınız.


1

Makineyi internete bağlamadan önce saldırı tespitini kurmanız gerekir.

Ve tüm dünyanın böyle şeyleri bile deneyemeyeceğinden emin olmak için IP beyaz listesi SSH bağlantılarını IP yapmak iyi bir fikirdir.


Ayrıca, SSH yoluyla oturum açmasına izin verilen beyaz listeye eklenen kullanıcıların yanı sıra mümkünse şifre tabanlı kimlik doğrulamayı devre dışı bırakmasını da ekleyeceğim.

1

Linux kutuma sızıp sızdırmadığını nasıl belirleyebilirim?

Salt okunur ortamdan (livecd) önyükleme yapın ve dosyaları yedeklemenizle veya orijinal ortamınızla karşılaştırın.

Sadece tuhaf davranışlar için etrafa bakın. Elbette bu, 'normal' şeyin ne olduğunu iyi hissetmek için bir saldırıdan önce zaman ayırırsanız en kolayıdır.

Gönderdiğiniz hatalar bir uzlaşma anlamına gelmez. Sadece biri deniyor.

Faillerin bıraktığı zararları nasıl geri alabilirim?

Sistemin güvenliği ihlal edilmeden önce bir yedeklemeyi yeniden kurun ve geri yükleyin.

Görmek:

Gelecekte bunun olmasını nasıl önleyebilirim?

Görmek:




0

rkhunter veya chkrootkit veya her ikisini kullanın; hangi portların açıldığını görmek için kutunuzu dışarıdan tarayın

her neyse, sahip olduğunuz tek şey geçersiz kullanıcı, endişelenmenize gerek yok :)


0

Çok farklı bir şey: Google'ı IP adresinde kullanmayı deneyin ! Kendisini Türkiye'den STARTURK olarak adlandıran bir hacker , sitenizi hacklemeye çalışmış olabilir.

Sisteminize kaba kuvvet saldırısı gibi görünse de, bu hacker sadece bir deneme yaptı ve şimdi başka bir siteye gitti olabilir.


0

Birçoğunun belirttiği gibi, Tripwire / AIDE sistem değişikliklerini aramanın en iyi yoludur. Ne yazık ki, inek iyi bilinen bir sistemde yapılandırılması gerektiğinden ahırda değil.

En azından başlamanıza yardımcı olabilecek bir şey, dosyalarınızın md5 toplamlarını kontrol etmek için RPM veritabanınızı kullanmaktır. Temel özü şudur:

rpm -qa | xargs rpm -V

Bu, çeşitli nedenlerle mükemmel değildir. İlk olarak, yerel RPM veritabanınız teorik olarak değiştirilebilirdi. İkinci olarak, dağıtımların çoğunda ön bağlantı kullanılır ve RPM ön bağlantının farkında değildir. MD5'ler yasal olan bu süreçten değiştirilmiş gibi görünebilir.

En iyi tavsiye şudur: Ödün verdiğinizden emin değilseniz, gerçekten yeniden oluşturma zamanı.


0

Gelecekteki güvenlik sorunlarını önlemek için OSSEC'e göz atabilirsiniz , bunu sunucularımızda dosya bütünlüğü kontrolleri ve günlük izleme yapmak için kullanıyorum, çok eksiksiz ve yapılandırması kolaydır. Posta bildirimi gönderebilir, uyarıları komut satırı veya bir web arayüzü üzerinden kontrol edebilirsiniz ...

http://www.ossec.net/

web sitesinden alınmıştır:

"OSSEC, Açık Kaynak Ana Bilgisayar Tabanlı Saldırı Tespit Sistemidir. Günlük analizi, dosya bütünlüğü denetimi, ilke izleme, rootkit algılama, gerçek zamanlı uyarı ve etkin yanıt gerçekleştirir."

  • günlük analizi Sunucularınızdaki günlük dosyasını kontrol edebilir ve kurallar aracılığıyla sizi uyarır (önceden tanımlanmış çok şey vardır ve kendinizinkini ekleyebilirsiniz)

  • dosya bütünlüğü tripwire / aide işlevi gibi, böylece sunucunuzda herhangi bir dosyanın değiştirilip değiştirilmediğini göreceksiniz

  • politika izleme: bazı "En iyi uygulamalar" güvenlik kurallarını kontrol edin

  • rootkit algılama: rkhunter, fonksiyonellik gibi chkrootkit

  • gerçek zamanlı uyarı ve etkin yanıt: Ossec'i uyarılara otomatik olarak tepki verecek şekilde yapılandırabilirsiniz (bunu kullanmıyorum ancak çok fazla başarısız bağlantı denemesi yapan ana bilgisayarlara ssh erişimini engellemek için kullanabilirsiniz)

Gerçekten iyi bir ürün ve çok aktif

Kutunuzu sertleştirmek için lynis veya bastille de kullanabilirsiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.