Şifresiz sudo ile sorumlu bir kullanıcı olması güvenli değil mi?


10

Ansible'da yeniyim. Şimdiye kadar gördüğüm çoğu VPS sağlama kılavuzu şunları yapıyor:

  1. root giriş yapmayı devre dışı bırak
  2. yalnızca giriş yapabilen ssh(şifre değil) yeni bir kullanıcı oluşturun
  3. yeni kullanıcıyı wheelgruba şifresiz sudo izni ile ekleyin

(1) ve (2) 'yi anlıyorum, ama (3)' ü anlamıyorum.

Şüphesiz şifresiz sudoolarak giriş yapmak gibidir root? Avantajı (rahatlığı) anlıyorum, ama bu çok güvensiz değil mi?

Yöneticilerin ağlarını çeşitli şekillerde çalıştırdıklarını ve bunun "öznel" olduğu söylenebilir, ancak bu ÇOK yaygın bir uygulamadır, hatta çeşitli resmi ansible dokümanlarda ve barındırma şirketleri tarafından yayınlanan kılavuzlarda gösterilir. Sağduyuya aykırıdır. Arkasındaki mantık nedir?


1
Ansible, idari görevleri otomatikleştirmek için tasarlanmıştır, bu nedenle genellikle üst düzey (kök) düzey erişim ve dolayısıyla "parolasız sudo" gerekir. Ancak sisteminizde mevcut olan komutların bir alt kümesini çalıştırmanız gerekiyorsa, yalnızca daha ayrıntılı bir sudo yapılandırmasına sahip komutlara kilitleyebilirsiniz. Parolasız sudo, kökün yapabileceği her şeye erişim anlamına gelmez (ancak, kullanıcının kendilerini daha fazla kontrol sağlamak için sudo yapılandırmanızı sudo üzerinden potansiyel olarak değiştirebileceğini fark ettiğinizde zorlamak zorlaşır ...).
David Spillett

@DavidSpillett Bunu merak ediyordum - yani sudoers dosyasında hangi sudo komutlarına izin verileceğini tanımlamak ... ama ansible'ın karmaşık python komutları ile yorumlayarak her şeyi yaptığı bir yerde okudum ve bu yaklaşım hızlı bir şekilde karışıklaşacaktı.
lonix

Yanıtlar:


18

Hizmet hesabı şifresiz sudo yapabilirse, o hesaba erişimi korumanız gerekir.

Hesabın bir parolasının olmaması ve yalnızca ssh tuşlarını kullanarak oturum açmak için, ssh özel anahtarını da güvende tutabilmeniz koşuluyla bunu başarır.


Bu yüzden bu sözleşmeden rahatsızlık duyma konusunda bir tür "haklıyım" - ve yine de bu, zorunluluk, gereklilik / pragmatizm için bir sözleşmedir.
Lonix

Yani temel güvenliği temelde VPS'den, ansible hesabın ssh anahtarını içeren yerel sistemime "taşıdığımı" mı söylüyorsunuz? Bu durumda, zayıf nokta VPS'nin kendisi değil, o benim! Ve bu ssh anahtarının korunmasında, uyanık otomasyonun bana verdiği kolaylık karşılığında ekstra uyanık olmalıyım.
lonix

6
ssh-agent ile korunan parola ssh anahtarı, oldukça iyi bir kimlik bilgisidir.
John Mahowald

@lonix Tüm güvenli sistemler kimlik bilgilerine ihtiyaç duyar. Güvenli sistemler, bu kimlik bilgilerini korumak için koyduğunuz önlemler kadar güvenlidir, çünkü bunlara% 100 erişim sağlar. Yani evet, SSH anahtarınızı (veya kök parolanızı veya herhangi bir şeyi) düzgün bir şekilde güvenmezseniz VPS'nizi güvence altına almayı bekleyemezsiniz. Şifresiz sudo'yu yapılandırmanız, bu bakış açısından hiçbir şey ifade etmez, sudo'yu şifre ile etkinleştirmek SSH anahtarını korumanızın gerekli olduğu gerçeğini değiştirmez.
Giacomo Alzetta

@GiacomoAlzetta Yukarıda bahsettiğim şeyin, sorumluluğun uzaktan kumandadan yerel makineye kaydırılması olduğunu biliyorum. Sudo yükseltme işlemi parola olmadan yapıldığından, zayıf nokta yerel olur.
lonix

4

(2) 'de oluşturulan yeni kullanıcı sadece SSH anahtarıyla giriş yapabilir, şifre olmadan giriş yapabilir. SSH anahtarı dolaylı kök erişimi sağlar. Yani bu sadece bir anahtarla root girişine izin verir.

Hesabın bir şifresi olmadığı sudoiçin şifre istemek mümkün değildir . Ayrıca Ansible'ın komutları yürütebilmesi gerekir. Anahtarla aynı yerde sağlanacak ek bir parolaya sahip olmak güvenliği artırmaz.


2

Sorun, ansible'ın yöneticiler ve otomasyon için olmasıdır, bu yüzden bir komut dosyasını çalıştırmak için bir parola girmeniz gerekiyorsa gerçekten en iyi yol değildir. Ayrıca sudo için parolayı bir dosyada veya veritabanında saklamak güvenli değildir ve çalma kitabını her çalıştırdığında ansible olsun. Bu nedenle, şifresiz sudo ve ssh Keys ile kimlik doğrulamanın kombinasyonu, güvenlik sağlamak için en iyi yöntemdir ve oynatma kitabını çalıştırarak doğru sorun yoktur. Ayrıca bir yönetici ve oyun kitabında ne programladığınızı biliyorsunuz. Yani oyun kitabı sunucularınızı yok edemez.


Playbooks olabilir sistemlerinizi yok, ancak yalnızca tuşları ayrı bir test ortamı kullanırsanız, o üretim konakları yok edemeyecek.
John Mahowald

Üretken sistemler üzerinde çalışırken bu kesinlikle bir önkoşuldur.
NicoKlaus

1
Ansible 'ansible-tonoz' ve bitwarden, hashicorp tonoz, keepass, vb.
Zoredache
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.