Kökte oturum açanların IP Adresleri nasıl belirlenir?


15

Sorumlu olduğum belirli bir VM'ye kök erişimi olan birkaç kişi var. Kökte oturum açmak için hangi IP adresinin kullanıldığını bulmak istiyorum.


1
Daha önce hangi komutların yapıldığını görmek için günlüklere erişebilirsiniz:, sudo less /root/.bash_historyHala bunu araştırmaya çalışıyorum, gerçekten iyi bir soru gibi görünüyor :)
ryekayo


6
Birisi root olarak giriş yaparsa, ihtiyaç duydukları günlükleri kaldırmak için hemen hemen her şeyi yapabilir ...
Comintern

4
Bir yan not olarak, kök doğrudan girişine izin vermemelisiniz. Bu büyük bir güvenlik sorunudur.
fedorqui

Yanıtlar:


15

lastBu bilgiyi almak için komutu kullanabilirsiniz

# last|head
phemmer  ssh          192.168.0.24     Wed Aug 20 21:08 - 21:08  (00:00)
phemmer  pts/13       192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:07 - 23:07  (00:00)
phemmer  pts/15       192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  ssh          192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  :0                            Wed Jul 30 20:06   still logged in
reboot   system boot  3.13.2-gentoo    Wed Jul 30 20:05   still running

Şüphesiz görebileceğiniz gibi, 3. sütun SSH girişi durumunda uzak IP adresini gösterecektir.

last/var/log/wtmpdosyayı kullanır , bu nedenle bu yöntem G-Man'ın cevabına benzer (dosyanın yolunu belirtmeniz gerekmediğinden biraz daha basittir).


14

Bu, dağıtımınıza veya işletim sisteminize bağlıdır. sshdher girişi bir yere kaydeder ve ilgili IP adresini girişe aşağıdaki gibi bir biçimde dahil eder:

Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297

Bu bölüm tutarlıdır, ancak oraya nasıl gideceğiniz değişebilir. Dayanan sistemlerde systemd, kullanmak journalctl:

journalctl /usr/bin/sshd

sshdyürütülebilir tüm günlük iletilerini listelemek için . Kök girişler veya diğer kriterleri için o dışarı grep ve tarihe göre sınırlandırabilirsiniz --sinceve --until(bkz man journalctl).

Alternatif ve tarihsel olarak, iletiler (genellikle) içinde bir yerde oturum açacaktır /var/log. Genellikle sshdiletiler girilir /var/log/auth.log, ancak tam dosya önemli ölçüde değişebilir. Hangisi olursa olsun:

grep sshd /var/log/auth.log

size journalctlsürüme geniş ölçüde eşdeğer çıktı verecektir .



7

sshKök olarak /root/.ssh/authorized_keyskimin oturum açtığını denetlemek istiyorsanız , kullanıcıların doğrudan kök olarak oturum açarak (kök parolasını veya bir sertifikayı kullanarak) kullanmasına izin vermemelisiniz . Bunun yerine, her kişi için bir hesap kullanın sudove kök izinleri almak için kullanmasına izin verin. Bu şekilde uygun günlükte bulabilirsiniz (günlük dosyasının konumu, hangi dağıtımın bulunduğuna bağlıdır, günlük arka plan programını iletileri başka bir makineye gönderecek şekilde bile yapılandırabilirsiniz) mesajı user john ran the command 'sudo rm -rf /'. Belki bir günlükte bu komutu kolayca bulamazsınız.


2
İlk olarak, bu soruya cevap vermiyor. İkincisi, sistemi kurtarmak için her zaman bir yolunuz olmalıdır. LDAP kimlik doğrulamasını kullandığınızda ve LDAP sunucunuz öldüğünde ne olur? Kutuya nasıl giriş yapacaksınız?
Patrick

4
@Patrick İlk olarak, "belirli bir VM'ye kök erişimi olan birkaç kişi var" sorusu ile başlar, bu nedenle doğru yaklaşımın IP'yi değil, kullanıcıları denetlemek olduğunu akla getirmek mantıklıdır. İkincisi, ortaya koyduğunuz sorun ilgisiz: eğer bir kişinin çalışmayan bir LDAP acil durumundaki bir makineye erişmesi gerekiyorsa, kendi yerel hesabına sahip olmalı ve böyle bir acil durumda yönetim işi yapması gerekiyorsa, yerel hesap sudogüç. Bir hesabı iki kişi arasında paylaşmak için hiçbir zaman gerçek bir neden yoktur, ancak gerekirse bir kişinin iki hesabı olabilir.
pqnet

Soru, tasarımlarını nasıl değiştireceğini değil, bir IP adresini nasıl alacağını soruyor. Diğer çözümünüze gelince, artık hiç bitmeyen bir parola ile yerel bir hesabınız (muhtemelen birkaç tane) var. Bunu bir gelişme olarak görmezdim.
Patrick

@ Her neyse. Kendi sunucunuzu yönetiyorsunuz, benimkini yönetiyorum. Demek istediniz, insanlar yorumunuzu okuyacak ve karar verecek.
pqnet

1
@ Ne üzerinde Patrick iyileştirme? Ayrı kişiler için ayrı kullanıcı hesaplarına sahip olmak, kesinlikle birkaç kişinin tek bir roothesabı paylaşması konusunda neredeyse bir gelişmedir .
jw013

0

Sağladığınız kısa açıklamadan, bir günlük izleme sistemi kurmanız daha iyi olur gibi görünüyor. Girişleri izlemenize, uyarılar oluşturmanıza, birkaç günlük verileri karşılaştırmanıza ve tüm bunlar için elbette Grafikler oluşturmanıza yardımcı olur.

Ancak geçici olarak izlemeniz gerekiyorsa , lastkomutu kullanabilirsiniz .

last | grep root | grep -v tty | awk '{print $3}'

Bu size kök kullanıcının oturum açtığı listeyi IPsveya Hostnamesnereden geldiğini gösterir.

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.