Sunucumun kontrolünü yaptım /var/log/auth.log
ve günde 500'den fazla başarısız şifre / şifre giriş bildirimi alacağımı öğrendim! Sitem küçük ve URL’si belirsiz. Bu normal mi? Herhangi bir önlem almalı mıyım?
Sunucumun kontrolünü yaptım /var/log/auth.log
ve günde 500'den fazla başarısız şifre / şifre giriş bildirimi alacağımı öğrendim! Sitem küçük ve URL’si belirsiz. Bu normal mi? Herhangi bir önlem almalı mıyım?
Yanıtlar:
Bugünün internetinde bu ne yazık ki oldukça normal. Tüm IP ağlarında buldukları her sunucuya giriş yapmaya çalışan botnet ağları var. Genellikle, iyi bilinen hesaplara basit bir sözlük saldırısı kullanırlar (kök veya belirli uygulama hesapları gibi).
Saldırı hedefleri Google veya DNS girişleri aracılığıyla bulunmaz, ancak saldırganlar her IP adresini belirli bir alt ağda (örneğin bilinen kök sunucu barındırma şirketlerinde) dener. Bu yüzden URL’nizin (dolayısıyla DNS girişi) belirsiz olması önemli değil.
Bu yüzden şu kadar önemli:
Ayrıca, yükleyebileceğiniz fail2ban authlog tarayacak ve bir IP'den başarısız oturum açma girişimleri belirli bir miktar bulursa, o IP'yi eklemek için devam edecektir /etc/hosts.deny
birkaç dakika için saldırganı dışarı kilitlemek amacıyla veya iptables / netfilter.
SSH saldırılarına ek olarak, web sunucunuzu savunmasız web uygulamaları (bazı blog uygulamaları, CMS'ler, phpmyadmin vb.) İçin taramak da yaygınlaşıyor. Bu yüzden bunları güncel tuttuğunuzdan ve güvenli bir şekilde yapılandırdığınızdan emin olun!
action.d/iptables.conf
.
Birkaç 100 gayet iyi ... Geçen ay sunucularımdan birinin 40k deneme girişiminde bulunmadığını gördüm. Onları çizme zahmetine girdim: Harita
Ssh portunu değiştirip Port Knocking'i uyguladıktan sonra, sayı 0 :-) düştü.
grep 'Failed password' /var/log/secure* | grep sshd | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq
(yinelenenlere izin vermek istiyorsanız, sonunda | uniq'i kaldırın). Onları bir CSV'ye yerleştirip zeemaps.com'a yükleyebilirsiniz. Onlar (ilçe başına deneme sayısı için kırmızıya yeşil) haritayı renklendirmek için sayımını kullanmak istiyorsunuz nerede, o zaman benim daha iyi haritalar gördüm ama jet anladım değil ki bir takım
Biri için yalnızca genel anahtar kimlik doğrulamasına izin verilmesine ve kök girişlerine izin vermemesine ek olarak "tarpit" kullanıyorum.
Gelen netfilter
bir var recent
sen (kullanabileceğiniz modül, INPUT
zincirin):
iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --set --name tarpit --rsource
iptables -A INPUT -i if0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 6 --name tarpit --rsource -j DROP
iptables -A INPUT -i if0 -p tcp --dport 22 -j ACCEPT
Bunun anlamı, 22 numaralı bağlantı noktasına bağlanmak için yapılan her girişimin recent
IP ve "tarpit" adı altında başka bir şey olan modül tarafından listelenmesidir (merak ediyorsanız bakın /proc/net/xt_recent/tarpit
). Açıkçası başka isimler kullanabilirsiniz.
IP'leri listelemek veya silmek için aşağıdakileri kullanın:
echo "+123.123.123.123" > /proc/net/xt_recent/tarpit
echo "-123.123.123.123" > /proc/net/xt_recent/tarpit
Bu oran, girişimleri 300 saniye içinde 5 olarak sınırlar. Mevcut bir bağlantıya sahip kullanıcıların bu sınırdan rahatsız olmadıklarını, çünkü zaten kurulmuş bir bağlantıya sahip olduklarından ve daha fazlasını oluşturmalarına izin verildiğini (oran sınırının üzerinde bile olsa) unutmayın.
Kuralları beğeninize göre ayarlayın, ancak bu sıraya eklendiklerinden emin olun (yani eklerken bunları daha sonra bu sıraya göre kullanın, sonra sıraya eklerken).
Bu, gürültüyü son derece azaltır. Ayrıca, limanın değiştirilmesiyle ilgili algılanan güvenlikten farklı olarak gerçek güvenlik sağlar (kaba uygulamaya karşı). Ancak, eğer ortamınız için uygunsa, bağlantı noktasını değiştirmenizi tavsiye ederim. Gürültü seviyesini de çok azaltacak ...
Yine de fail2ban ile birleştirebilirsiniz, ancak onsuz gayet iyi koşuyorum ve sadece yukarıdaki kuralları.
DÜZENLE:
Bunu yaparak kendinizi kilitlemek mümkündür, böylece belirli bir bağlantı noktasını vurarak yasağınızı silmenizi sağlayan aşağıdakine benzer bir şey ekleyebilirsiniz:
iptables -A INPUT -i if0 -p tcp --dport <knockport> -m state --state NEW -m recent --name tarpit --remove
Fail2ban veya SSH'yi IP'nize kilitlemek gibi benzer yöntemler uygulayabilirsiniz . Ne yazık ki botlar her zaman erişimi zorlaştırmaya çalışıyor, bu yüzden oldukça normal, iyi bir şifreniz olduğundan emin olmalısınız.
Evet . Bugünlerde oldukça normal.
Lütfen mümkünse yalnızca yönetimsel amaçlar için ortak anahtar kimlik doğrulaması kullanın. İş istasyonunuzda özel bir anahtar oluşturun:
$ ssh-keygen -t dsa
İçeriğini CopyPaste ~ / .ssh / id_dsa.pub sunucuların için ~ / .ssh / authorized_key'lerine (doğrudan kök girişi gerektiren gerektiği ve /root/.ssh/authorized_keys).
Sunucularınızı / etc / ssh / sshd_config ' i sadece genel anahtar kimlik doğrulamasını kabul edecek şekilde yapılandırın :
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin without-password
Çok fazla sunucunuz varsa, Açık anahtarlar ve yapılandırmaları çalıştırmak için Kukla kullanabilirsiniz .
İçine bak Denyhosts ve fail2ban tekrarlanan SSH giriş girişimlerini engellemek ve görmek için Snort Eğer / IPS tam IDS gerektiriyorsa.
http://denyhosts.sourceforge.net/ kullanın
ve evet, ortak anahtar kimlik doğrulaması kullanmalı ve şifre kimlik doğrulamasını devre dışı bırakmalısınız.
Girişimler makineleştirilir, bu nedenle sayılar normal görünür (evet, bazı sitelere göre yüksek, diğerlerine göre düşük). Normalde yapmanız gereken adımları atmanız gerekir: Bir saldırı tespit etmeseniz bile sitelerinizi her gün saldırı hedefi olarak kabul edersiniz; Bir saldırı tespit etmemek, var olmadığı anlamına gelmez .
Sadece 500 almanın biraz düşük olduğunu söyleyebilirim.
Önceki bir işveren olarak, sürekli sızma akışı adı verilen bilgisayar güvenliği araştırmacılarından biri, "internet kozmik gürültüye eşdeğerdir" girişimlerini deniyor . İnternetteki sistemleri arayan ve sistemi ele geçirmek için otomatik olarak komut dosyalarından yararlanan normal, sürekli bir kötü niyetli trafik akışı olarak nitelendirdi. Bot ağları ve diğer kötü amaçlı sistemler, SETI'ye çok benzeyen hassas sistemler için interneti kalıcı olarak tarar ve yeniden tarar.
bu yaygındır, ancak bu iyi dövüşle savaşmaman gerektiği anlamına gelmez. Sunucunuzu nasıl daha güvenli hale getirebileceğinize dair bazı adımlar.
Etki alanı adları ile ilişkili herhangi bir IP adresinde SSH erişimini devre dışı bırakarak bu sayıyı ortak veya ortak ortamlarda büyük ölçüde azaltabilirsiniz. Listelenmemiş etki alanı dışındaki IP adresleri bu tür trafikten daha az alır, bu nedenle liste dışı bir IP satın alır ve bu IP’yi yalnızca SSH erişimi için kullanır.
Eğer uygulayabilirsiniz olduğu bir ortamda iseniz IPsec sunucu ortamında özel bir ağa / VPN, bu idealdir. Tüm SSH İnternet erişimini devre dışı bırakın, entegre bir ışıklandırma çözümünüz olduğundan emin olun. VPN'inizi kurun ve yalnızca VPN'inizden SSH erişimine izin verin.
VLAN bir seçenek değilse yönlendiricinizi veya güvenlik duvarı kurallarını yalnızca bilinen bir IP adres aralığından SSH bağlantılarına izin verecek şekilde yapılandırın.
Bu adımları izlerseniz, birinin SSH üzerinden sunucuya erişebilmesi için barındırma şirketleri ağınızı tehlikeye atması gerekeceğini bilerek geceleri daha kolay uyuyacaksınız.
Yüzlerce başarısız SSH bağlantısı görmek oldukça normal.
Seçeneğiniz varsa, SSH portumu standart olmayan bir şeyle değiştirdim. Sunucunuzu daha güvenli hale getirmesi gerekmez, ancak günlükleri temizler (ve kasıtlı olarak girmeye çalışan birini görmenizi sağlar!)
Fail2ban gibi otomatik bir kilitleme mekanizması kullanmaya ek olarak bir seçeneğiniz daha var: gerçekte saldırganın kötüye kullanım adresi ISS ile iletişime geçin. Tamamen boşuna görünebilir ama senaryo-kiddie durumunda, ISS'leri onlar üzerinde harekete geçmek için istekli değildir.
Kötüye kullanım adresini bulmak için arin.net ile başlayın ve whois kullanarak IP adresini arayın . Başka bir bölgesel kayıt defterine yönlendirilebilirsiniz, ancak sonunda adresi içeren IP bloğundan sorumlu ISS'yi bulabilirsiniz. Abuse @ adresini arayın veya sadece teknik kişiyi postalayın.
Onlara ilgili günlük dosyası girişleriyle kibar bir mesaj gönderin (herhangi bir özel bilgiyi kaldırdığınızdan emin olun) ve onlardan rahatsız edici ana bilgisayara karşı önlem almalarını isteyin.
Ben fail2ban kullanmanızı değil, standart olmayan bir portta SSH (ve diğerlerini) çalıştırmanızı tavsiye ederim. Gizliliğin gizliliğine inanmıyorum, ancak bunun loglarınızdaki gürültüyü azaltmanın mükemmel bir yolu olduğunu düşünüyorum.
Standart olmayan bağlantı noktalarında yapılan başarısız oturum açma girişimleri az ve çok olacaktır ve ayrıca daha fazla hedefli saldırı olduğunu da gösterebilir.
Hatta bir adım öteye gidebilir, Kippo gibi bir SSH bal küpü kurabilir ve bruteforcers 'içeri girebilir ' ve şansını ne verdiklerini görebilirler.
Evet, normal. Sizin durumunuzdaki müşterilere küçük web siteleriyle söylediklerimi.
Her zaman saldırıya uğramak için hazırlıklı ol.
Web sitenizin bir kopyasını dev bir sunucuya alın. Bu, ücretsiz alabileceğiniz XAMPP kullanarak Windows masaüstünüz olabilir.
HER ZAMAN dev sunucunuzda değişiklikler yapın ve ardından onları canlı web sitenize yükleyin. Wordpress gibi bir CMS ise, mesajlarınızı dev sunucuda yapın ve kopyalayıp canlı sunucuya yapıştırın.
ASLA canlı web sitenizden dev sunucunuza hiçbir şey indirmeyin.
Yapmadığınız değişiklikler için web sayfalarınızı düzenli olarak izleyin. Özellikle, ilaçlara veya 'geliştirme' ürünlerine gizli bağlantılar. Bunu sizin için yapacak çok sayıda tarayıcı eklentisi ve programı bulabilirsiniz.
Eğer ödün verilirse. Ana makinenize haber verin, her şeyi silin, tüm şifreleri değiştirin ve temiz dev sunucunuzu şimdi boş web sunucusuna yükleyin. Tekrarı önlemek için sunucunuzla birlikte çalışın.
Küçük bir site için bir güvenlik ekibine ihtiyacınız olmamalıdır. Ev sahibinizin sağlaması gereken şey budur. Olmazsa, o zaman canlı sunucuyu taşımaya çalışmak yerine bir dev sunucunuz olduğunda yapılması daha kolay olan başka bir ana bilgisayarı edinin.
Bu yardımcı olur umarım.
Durdurmanın başka bir yolu (kişisel olarak SSH bağlantı noktasını taşımak istemiyorum): Oturum açmak istediğiniz tüm ağları listeleyip listeleyemeyeceğinize karar verin, ardından bunların yalnızca SSH portunuza erişmesine izin verin.
Yerel ISS'lerin WHOIS girişleri, ayda 1-2 girişime yapılan saldırıları azaltmama yardımcı oldu (o zamanlar yaklaşık 1k / gündü). Bunları hala denyhosts kullanarak tespit ettim .
Daha önce aldığınız diğer mükemmel önerilere ek olarak , verilen sunucu için uygunsa AllowUsers direktifini de kullanmayı seviyorum . Bu, yalnızca belirli kullanıcıların SSH aracılığıyla oturum açmasına izin verir; bu da güvenli bir şekilde yapılandırılmış bir konuk / hizmet / sistem hesabı aracılığıyla erişim sağlama olasılığını büyük ölçüde azaltır.
Örnek:
AllowUsers admin jsmith jdoe
AllowUsers seçeneği, hangi kullanıcıların ssh servislerine erişebileceğini belirler ve kontrol eder. Boşluklarla ayırarak birden fazla kullanıcı belirtilebilir.
Evet normal. Yapabilirsin :
Fwknop, sahtekarlıktan daha iyi olanlardan biridir, çünkü taklit edilemez ve aslında sadece bir bağlantıyı yetkilendirmek yerine onaylar.
Openssh'ın kullandığı portu değiştirebilirsiniz ancak güvenliği gerçekten geliştirmiyorsunuz.
Google kimlik doğrulayıcı veya wikid kullanarak ssh kimlik doğrulamasını güçlendirin
Bu, parola tabanlı saldırıları ve yönetici makinenizi tehlikeye sokan ve ssh-key & password combo'nuzu çalmaya kararlı bir saldırgan / hedefli saldırı olasılığını koruyacaktır.
Yetenekli bir saldırganın tamamen yamalanmış yönetici kutunuzu tehlikeye atmanın ne kadar kolay olduğunu görmek için en yeni pwn2own comp dosyasına bakın.
Ne yazık ki bu oldukça normal. Saldırganları otomatik olarak tespit etmek ve yasaklamak için sisteminize fail2ban gibi bir şey eklemeyi düşünmelisiniz . Zaten yapmadıysanız, yalnızca ortak anahtarlarla ssh kullanmayı da düşünmelisiniz ve ssh üzerinden kök oturum açmasına izin vermemelisiniz. Dosyaları sisteme aktarmak için ftp kullanıyorsanız, bunun yerine scp / sftp kullanın.
Liman vuruşlarını yaptım ve günde birkaç sondam var. Bağlantı kurmuyorlar, o yüzden gidiyorlar. İlgili bağlantı noktalarına tüm erişimi günlüğe kaydeder ve raporlarım.
Ayrıca, kalıcı saldırganları geçici olarak kara listeye almak için bir güvenlik duvarı olarak Shorewall ile fail2ban'ı çalıştırdım.
SSH'ye İnternet erişimine ihtiyacınız yoksa devre dışı bırakın. Uzaktan erişim gerektiren az sayıda bilinen adresiniz varsa, bu adreslere erişimi sınırlandırın.
Yetkili anahtarlara erişimi sınırlamak da yardımcı olabilir.
pam_abl
Geçici olarak kaba kuvvetleri kara listeye almak için kullanıyorum ve harika çalışıyor. PAM'de yetkilendirmeye sahip olmak yerine hosts.deny
veya kendi veritabanını kullanarak kendi veritabanını kullanarak daha iyi olacağını düşünüyorum iptables
.
Diğer bir artı da pam_abl
günlük dosyalarının taranmasına bağlı değildir.
Bugünlerde tamamen normal.
SSH portuna gelen yeni bağlantılar için güvenlik duvarında "patlama" sınırını ayarlayabilir
veya a'la fail2ban'daki birçok günlük ayrıştırıcıdan birini kurabilir veya SSH portunu değiştirebilirsiniz;).
Sonuncusu en kolay olanıdır. Ağır yüklü makinelerde bu tür girişimler, tüm sistem üzerinde gerçekten çok kötü bir etki yaratabilir.
-
Saygılar,
Robert
Evet normal.
Sadece ssh portunu standart 22'den değiştirdim. Sunucum, kurallarım :) sadece / etc / ssh / sshd_config dosyasını düzenleyin, portu değiştirin ve servisi yeniden başlatın. Tek aşağı tarafı, kullandığınız her ssh istemcisine bu bağlantı noktasını yapılandırmaya eklemeyi unutmayın.
Kök girişini devre dışı bırak (Her linux sistem kök kullanıcısı var, böylece botlar kullanıcı adını kolayca tahmin edebilirler.) Normal bir kullanıcı olarak giriş yaptıktan sonra, su veya sudo ile köke geçebilirsiniz.
varsayılan portu 22'den değiştir
Yalnızca bilinen iplerden ssh erişimine izin ver
Ssh erişimi olan kullanıcı için güçlü bir alfa-sayısal şifre kullanın