SSH günlük kaydı özellikleri, özel / genel anahtar kimlik doğrulaması için su günlüğüne eşdeğer mi?


11

İşte işte, UNIX'te belirli bir uygulamayı yönetmek için kullanılan kök olmayan bir paylaşılan giriş hesabımız var. Politika, paylaşılan hesaba doğrudan giriş yapılmasına izin vermemektir; kendiniz olarak giriş yapmanız ve paylaşılan hesaba geçmek için "su" komutunu kullanmanız gerekir. Bu, günlük kaydı / güvenlik amaçlıdır.

Şifremi günde bir kez girmeme ve aracı iletme işleminin günün geri kalanında şifre istemlerini ortadan kaldırmasına izin vermek için bir aracıyla SSH genel / özel anahtar kimlik doğrulamasını kullanmaya başladım. Gerçekten güzel.

Ancak, bazı sistemler kilitli, bu yüzden gerçekten paylaşılan hesaba ulaşmak için "su" komutunu kullanmak zorunda. Arg! Her zaman şifreleri girmeye geri dön!

Ortak / özel anahtarlar kullanılıyorsa paylaşılan bir hesapta uzaktan oturum açmaya izin vermek için bir politika değişikliği istemek için makul bir şansa sahip olabilmem için SSH genel / özel anahtar kimlik doğrulamasıyla günlüğe kaydedilmiş yeterli bilgi var mı?

Ben / var / log / secure bir yönetici bakmak vardı ve sadece belirli bir IP adresinden bir kullanıcı hesabı için ortak bir anahtar kabul edildiğini söylüyor. Kimlik açıklamasını kimin ortak anahtar olduğunu veya kimin özel anahtarının yaptığını söylemedi.

Yanıtlar:


13

sshd_configDosyada birçok günlük kaydı düzeyi vardır . Man sayfasına bakın ve arayın LogLevel. Varsayılan seviye, INFOancak seviyelere VERBOSEveya hatta DEBUG#seviyelere kadar çarpmak çok kolaydır .

Ayrıca, sudoalternatif olarak araştırmalısınız su. Faydaları hakkında tam bir tartışma sudokendi başına bir soru olacaktır. Ancak sudo, sudoers config dosyası aracılığıyla kontrol edilebilen, hangi komutların çalıştırılabileceğini vb .


Bir sudo değiştirme önermek için oy verildi.
Matt Simmons

6

Başka bir yol , yalnızca sysadmins'in belirli hesaplarda oturum açmak için hangi ortak anahtarların kullanılabileceğini kontrol authorized_keysetmesi için kullanıcının kapsamının dışına (örneğin, /etc/ssh/authorized_keys) hareket etmektir.

AuthorizedKeysFileDirektifi sshd_configaşağıdaki gibi değiştirirdik .

AuthorizedKeysFile /etc/ssh/authorized_keys/%u

Ardından /etc/ssh/authorized_keys, giriş yapabilmesi gereken her kullanıcı için dosyaların bulunduğu dizini oluşturun ve doldurun ; böylece rootdosyanın yalnızca kök ve uygun bir kullanıcı tarafından okunabilir diğer dosyalara okunabilir / yazılabilir olduğundan emin olun :

-rw-------  1 root root    1,7K 2008-05-14 14:38 root
-rw-r-----  1 root john     224 2008-11-18 13:15 john

Her dosya, belirli bir hesaba giriş yapmasına izin verilecek bir dizi ortak anahtar içerir. Her kullanıcı hesabı için ilgili bir grup da oldukça yaygındır.

Ortak / özel anahtarları kullanmak, uzaktan kullanıcı erişimini kontrol etmek için çok daha iyi bir yöntemdir. Her ay şifreyi değiştirmek zorunda değilsiniz (bunu da ayarlamanız gerekmez) ve bir çalışanın şirketinizden ayrılması sadece genel anahtarını kaldırması nedeniyle değiştirmeniz gerekmez; ve elbette SSH seçenekleri ( http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&sektion=8#SSHRC) ile belirli bir kullanıcının neye ve nereden erişebileceğine ince ayar yapabilirsiniz.


1

SSH genel / özel anahtar kimlik doğrulaması, ana makine kimlik doğrulamasından ayrıdır. Burada şansın kalmadı. Belirli bir grubun üyelerinin sudoparola olmadan belirli yönetim komutlarını çalıştırmasına izin verilmesine rağmen (örneğin aşağıdaki secretariesgruptaki kullanıcıların hesapları yönetmesine izin verir gibi) isteyebilirsiniz:


# file: /etc/sudoers
...
%secretaries    ALL= NOPASSWD: /usr/bin/adduser, /usr/bin/rmuser   
...

İkincisi .. SUDO kullandığınızda denetlemek çok, çok daha kolay .. "sudo appname -options" yazılan kullanıcı joe görebilirsiniz "root" yazılan "appname -options" ve daha sonra kimin mutabakat gitmek zorunda daha basit hepsi o zaman root olarak giriş yaptı.
Brian

Tamam, bu yardımcı olur. Ancak, görevlerimizden bazıları daemon süreçlerini başlatmak ve durdurmaktır. Sudo "start" ve "stop" komut dosyalarını paylaşılan grup kullanıcı adı olarak çalıştırmamıza izin verir mi? (kök olmayan) İşlemlerin, kurduğumuz paylaşılan hesap kullanıcı adına ait olmasını istiyoruz.
David I.

Evet, -useçenek bunu yapmanıza izin verir, bkz. Sudo.ws/sudo/man/1.8.1/sudo.man.html
Nikolai N Fetissov
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.