Bir CentOS sunucusuna en son başarılı girişleri ve başarısız girişimleri bulma


29

Kullanıcı adı / şifre uyuşmazlığı nedeniyle başarısız olan en son giriş denemelerini bildirmek için bir günlük dosyası veya herhangi bir hizmet arıyorum. CentOS için böyle bir yardımcı program var mı? (dahili tercih edilir)

İkinci sorum ve daha genel olarak, sunucuma sızma girişimlerinin bir günlük dosyasına ihtiyacım var. İdeal olarak, bu günlük, girişler, httpd aktiviteleri ve diğer geleneksel açık portlar dahil tüm girişimleri içermelidir.


2
ikinci soruya cevap: OSSEC'e bir göz atın .
kuantumların

1
Ben Serverfault sorusunu sorduktan sonra bu iş parçacığı Stackoverflow taşınır. İşte ikinci soruyu tartışan konular.
kirpik

Yanıtlar:


61

Linux'ta lastkomut başarılı oturum açma girişimlerini gösterir ve oturum bilgilerini görüntüler (puan, kaynak, tarih ve uzunluk).

lastbKomut tüm kötü giriş girişimlerini kaydeder. Her ikisi de aynı mansayfayı paylaşır , ancak fark, lastikili /var/log/wtmpdosyayı lastbokur ve /var/log/btmpdosyayı varsayılan olarak okur .

Bu dosyaların aralığı, günlük döndürme zamanlamanıza bağlıdır, ancak birkaç haftaya yayılmalıdır. Çoğu dağıtım /var/log/wtmpaylık olarak dönecektir , bu nedenle genellikle /var/log/wtmp.1dosyayı -fparametre ile belirterek listelenen önceki bir kaydı okuyabilirsiniz ...last -f /var/log/wtmp.1


17
lastb
Kirpik

3
Bu seçilen cevap olmalıdır
bir kodlayıcı

@ acoder, tamamlandı: thumb:
lashgar

14

Soru burada açık ama çok kısa bir cevap: belki sadece / var / log / secure kontrol etmelisiniz (örneğin "başarısız" için grep).


Aslında ilk sorumun cevabı. ServerFault'da ikinciyi soracağım. Teşekkürler.
kirpik

1

Bu eski bir iş parçacığı ama buna benzer bir görev aldım, bu yüzden benim durumumda bu bir günlük girişi.

Nov 15 17:14:47 megatron sshd[4768]: Failed password for git from 192.168.122.1 port 49227 ssh2

Dolayısıyla, kullanıcının statik olduğundan eminseniz, bu şekilde yapabiliriz.

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for git"
grep -i "$MESSAGE" "$LOG

Kullanıcı bazında bilmemiz durumunda

#!/bin/bash
LOG=/var/log/secure
if [ -n "$1" ]
then
NEWUSER="$1"
else
NEWUSER="root"
fi
MESSAGE="Failed password for $NEWUSER"
grep -i "$MESSAGE" "$LOG"

Yani komut dosyası gibi yürütmek gerekir

[root@megatron bash1]# ./failedlogin.sh git

VEYA daha kolay yaklaşım

#!/bin/bash
LOG=/var/log/secure
MESSAGE="Failed password for"
grep -i "$MESSAGE" "$LOG"
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.