Sudo şifresi ne kadar önemlidir?


25

Sudo şifresinin bilgisayarımı fiziksel olarak erişimi olan biri tarafından yerel olarak saldırıya uğramaya karşı koruduğunu biliyorum ( düzenleme: aslında, değil ). Şifrem bu amaç için yeterince güçlü, ancak birisinin uzaktan zorla uygulayabilmesi için yeterince güçlü olmadığını biliyorum.

Can herkes erişim standart bir Ubuntu masaüstü yüklemesinde bilgisayara fiziksel erişimi olan benim sudo şifresini kullanarak kök modunda bilgisayarım?

  1. Şebeke erişiminiz varsa, kesinlikle evet (Kısa cevap)
  2. Güvenliğe yeterince dikkat etmezseniz, evet (Uzun cevap)
  3. Eğer "ssh" çalışıyorsa ve 2FA yok ise , evet ( yorumlar ve cevaplar)
  4. Bir sudo / kullanıcı şifresi olmadan bilgisayarınıza root olarak erişebilirsiniz

kelimenin tam anlamıyla ben de dahil olmak üzere "herkes" veya örneğin, güvendiğim bazı ppa koruyucuları, diğerleri.
mxdsp

1
SSH ve sudo aracılığıyla root'a erişebilirler.
Aizuddin Zali

1
kesinlikle. Bunu sertleştirmek için 2FA kullanabilirsiniz. Bu izleyin kılavuzu
Aizuddin Zali

1
Sonra SSH saldırısından kurtuldun. İnsanların kullanabileceği birçok korsanlık tekniği var.
Aizuddin Zali

1
Basitçe "sudo şifresi" diye bir şey yoktur.
Ocaklar

Yanıtlar:


34

Sudo şifresinin bilgisayarımı fiziksel olarak erişimi olan biri tarafından yerel olarak saldırıya karşı koruduğunu biliyorum.

Seni çok fazla korkutmak istemem, ama eğer birileri fiziksel olarak erişime sahipse, şifreni ne kadar güçlü olduğuna bakılmaksızın onlara erişim verdin. Kök şifrenizi değiştirebilmesi için birisinin birisi tarafından yeniden başlatılması gerekir (mevcut şifrenizi vermenize gerek kalmadan "grub kurtarma" işleminden yapılabilir). Bu arada: bu yöntem geçerli ve bir özellik olarak ve kabul edilmiş bir güvenlik riski olarak kabul edilir (aksi halde şifrenin güvenli hale gelmesi durumunda sisteminizi hiçbir zaman düzeltemezsiniz).

ama birisinin uzaktan zorla uygulayabilmesi için yeterince güçlü olmadığını biliyorum.

İşte oyunda başka bir şey geliyor: bir ROUTER, aynı bilgileri kısa bir süre boyunca isteyen bir talep ise, dışarıdan erişimi kilitlemek için yeterince akıllı olmalıdır. Temelde burada sahip olduğunuz bir DOS saldırısı (ya da size saldıran 2+ bilgisayar varsa bir DDOS). Bir yönlendirici bu bağlantıyı kesmeli ve bu bağlantıdan yeni istekleri kabul etmeden önce bir bekleme süresi uygulamalıdır.

Standart bir Ubuntu masaüstü kurulumunda, bilgisayara herhangi bir fiziksel erişimi olmayan sudo şifremi kullanarak herhangi biri bilgisayarıma kök modda erişebilir mi?

Önce bağlanmaları ve ardından sudo şifresini girmeleri gerekir. "root" modu devre dışı ve doğrudan "#" komut istemine giriş yapamazsınız.

Bir servisi kötüye kullanmanın mümkün olduğunu unutmayın. Bu makinede çalışan "ssh" iseniz ve bunlar sisteminize "ssh" yapabilir ve bu kullanıcı için kullanıcı adınızı ve şifrenizi öğrenebilir (ve yönetici kullanıcı olduğu için sudo şifreniz de) makinenize erişebilir ve karıştır. Bu arada: böyle yaparlarsa önce sisteminizi bilmeleri gerekir (şifreniz gibi).

Fakat bununla ilgili bir sorun var (ve herhangi başka bir yöntem): şifrenizi nasıl almışlar? Sisteminizden kendisinden alamazlar. Ve genel olarak tahmin etmek zahmete değmez. Sosyal olarak tasarlandıysa ... o zaman sorun orada, sisteminizin güvenlik modelinde, genel olarak Ubuntu'da veya Linux'ta değil.

Sudo şifreniz sizin olduğunuz sürece iyi olacaksınız / olacak. Ve eğer güçlü bir parola ise daha da iyi olursunuz (belki sizin için hatırlaması kolay ancak başkaları tarafından tahmin edilemeyebilir). Bunu tartışırken daha önce kullandığım bir örnek: Köpeğinizin "Abwegwfkwefkwe" olarak "Abwegwfkwefkwe" yi şifre olarak kullanarak seçmesi, iyi görünmesine rağmen KÖTÜ ise (birisi size sorabilir: 'köpeğinizin adı nedir' ve bunu deniyorlar. ücretsiz bir tahmin). "Abwegwfkwefkwe" ile hiçbir ilişkiniz yoksa, bu iyi bir şifredir.

Verebileceğim en iyi tavsiye:

  • İstenin beklendiğini bilmediğiniz sürece, istendiğinde yönetici şifrenizi girmeyin. Bir tarayıcı açarsanız ve "yönetici hesabı şifresi istiyoruz" gibi görünen bir açılır pencere verilirse ... dur ... ve önce düşün.

  • "sudo" lütuf süresi aktifken sisteminizi gözetimsiz bırakmayın. sudo --reset-timestampgeçerli ödemesiz süreyi kaldırır ve daha sonra "sudo" kullandığınızda şifreyi tekrar ister. AFK'ya giderken ekranınızı kilitleyin.

  • eğlenmek için hizmet veya yazılım yüklemeyin. Eğer gerek yoksa sshyüklemeyin ssh, internet sunucusu yüklemeyin Web sunucusu bir kullanmıyorsanız. Ve şu anda çalışan hizmetlere bir göz atın. BT'yi bir dizüstü bilgisayarda kullanmazsanız, devre dışı bırakın. Bir web kamerası kullanmıyorsanız devre dışı bırakın (etkinse). Artık kullanmadığınız yazılımı silin.

  • ve gerçekten paranoyak için (ve evet Paranoid Panda sana bakıyorum): Şifreyi sık sık değiştir. Uygunsuz erişim olup olmadığını kontrol etmek için rootkit avcılarını bile kurabilirsiniz.

  • önemli verilerinizi çevrimdışı tuttuğunuz bir şeye yedekleyin. Böylece sisteminizde birisini bulsanız bile, onu biçimlendirebilir ve yeni bir yükleme ile verilerinizi geri yükleyebilirsiniz.


2
Sen kısaltabilirsiniz sudo --reset-timestampiçin sudo -k, ya da sudo -Kgerçekten paranoyak için (sadece gerekli saldırgan muhtemelen kaybettim bu noktada, keyfi değerlere sistem saatini ayarlayabilirsiniz varsa).
Kevin,

Jups. Uzun versiyonunu kullandım, böylece ne işe yaradığı belli. "-k" aynısını yapar.
Rinzwind

1
@mxdsp: Şifreleme, eğer parola yeterince güçlüyse, şifrelenmiş bölümlerin içeriğini okumalarını engelleyebilir, ancak şifreleme anahtarını çalışan veya son zamanlarda kapatılan bir bilgisayardan çıkarmak mümkün olabilir . Kripto da çok hızlı hareket eden bir alandır ve yeni gelişmelere ayak uydurmanız, şifrelemenizin kullanılmaması ve kolayca kırılması gerekir.
Kevin

1
@mxdsp evet. Birincisi: Bir diski biçimlendirebilirsiniz ve veriler gittiğinde ... problemleri olan sizsiniz.
Rinzwind

1
İlk kısım örtük olarak tam disk şifrelemesi olmadığını varsaymaktadır.
otus

6

Evet yapabilirler.

Bunu yapmanın birden fazla yolu var ve sudoşifreyi kaba bir şekilde zorlamak muhtemelen ilk değil.

Öncelikle, sudoşifre, kullanıcının şifresidir; böylece gerçekten ne almak gerekiyordu olduğunu senin parola.

İkincisi, bir sisteme erişmek için kaba kuvvet kullanarak bir kullanıcının şifresini kırmak muhtemelen son çaredir.

Başka bir sisteme girmenin daha zarif (ama daha etkili) yolları var.

Tipik olarak bir saldırgan gidip en yaygın güvenlik açıklarından (muhtemelen bir kullanıcı kabuğu alıp herhangi bir yöntemle bir kullanıcı kabuğu alması ve bir ShellShock'tan bir kök kabuğu almak için faydalanılması) yararlanmaya çalışacaktır:

  • Aşağıdaki gibi bilgileri almak için sistemdeki açık bağlantı noktalarını tarama:
    • İşletim sistemi sürümü
    • Çalışan servisler sürümü
  • En azından bir kullanıcı kabuğu elde etmek ve ardından bir kök kabuğu (yeniden, belki bir ShellShock'tan faydalanmak) almak için bilinen işletim sistemini kullanmak veya hizmet hatalarını çalıştırmak (arabellek taşması, ...).

sudo/ Kullanıcının şifresinin kaba şekilde zorlanması, bir kök kabuğunun başka türlü elde edilememesi durumunda bir girişim olabilir, ancak örneğin kök olarak çalışan bir hizmetten yararlanmak, saldırganın sudo/ kullanıcının şifresini kaba zorlama gerektirmez .


1
Teşekkür ederim. kısaca, bir saldırganın root erişimine ulaşmak için sudo şifresine ihtiyaç duymadığı anlamına mı geliyor?
mxdsp

2
@mxdsp Tam olarak. Şöyle yapın: eğer bir saldırgan herhangi bir şekilde bir sudoer kullanıcı kabuğu elde etmeyi başarırsa (örneğin, bir sudoer kullanıcının koşu programını açıklarsa), bir kök kabuk atlamak için bilinen istismarları kullanabilir (cevabımda en rezil bahsettiğim) kullanıcının / sudoşifrenin gerekliliği . Daha da iyisi, kök olarak çalışan bir hizmetten yararlanmayı başarırsa, doğrudan kök olur.
kos

1
@mxdsp Şimdi oldukça genelleştiriyoruz ancak bu videoyu örneğin sudohaklara sahip olmayan bir kullanıcının (= ~ bir saldırganın giriş yaptığı, ancak saldırganın şifresini bilmediği bir kullanıcı) bir köken alabileceğini anlamak için görmek Sadece bilinen hatalardan yararlanarak kabuk (bu durumda rezil ShellShock).
kos

1
@mxdsp Bir tarafta değil, sudoers kullanıcısı demek istemedim, sadece kullanıcı. Bu gerekli değil, aynı anda çok fazla şey düşünüyordum.
kos

3
  1. Son birkaç yılda güvenlik konusunda bir şey öğrendim, o zaman bir şey: Hiçbir şey imkansız değildir .

  2. Kesinlikle bir ağa erişiminiz olduğu sürece. Sisteminizde çalışan ve ağ üzerinden erişilebilen her servis teorik olarak savunmasız ve dolayısıyla potansiyel bir zayıflıktır.

Ve bu nedenle, yeterli fikirleri olan bir saldırgan için bu mümkün. Sisteminizi mümkün olduğu kadar güvenli hale getirebilirsiniz, ancak hiçbir zaman% 100 güvenliğe ulaşamazsınız.

Bu nedenle, haklı bir teknik çaba ile neyin mümkün olduğunu ve neyin artık çalışamayacağınızı koruyan sizi neyin iyi koruduğunu değerlendirmek önemlidir.


Bir ağ erişimim var. Bu tür bir saldırının ne kadar muhtemel olabileceği konusunda daha belirgin olabilir mi?
mxdsp

1
iki faktörlü kimlik doğrulaması kullanın. PAM.D'yi düzenlemelisiniz, vb.
Aizuddin Zali

@Arronical link bu forumdan ve ayrıca çok güzel bir rehber.
Aizuddin Zali,

@Arronical bunu soru yorumuna koydum. Bu kılavuz
Aizuddin Zali

Maalesef @AizuddinZali Sayfayı yenilemedim!
Arronical

2

Sudo şifresinin bilgisayarımı fiziksel olarak erişimi olan biri tarafından yerel olarak saldırıya uğramaya karşı koruduğunu biliyorum (düzenleme: aslında, değil). Şifrem bu amaç için yeterince güçlü, ancak birisinin uzaktan zorla uygulayabilmesi için yeterince güçlü olmadığını biliyorum. Standart bir Ubuntu masaüstü kurulumunda, bilgisayara herhangi bir fiziksel erişimi olmayan sudo şifremi kullanarak herhangi biri bilgisayarıma kök modda erişebilir mi?

sudo şifresi yalnızca yerel koruma için değil, amacı root yetki kullanımına ekstra bir güvenlik katmanı eklemektir. İyi bir tartışma burada bulunabilir /superuser//a/771523/467316

Şifreniz düşündüğünüz kadar güçlü olmayabilir. Şu anda, müşterimin Active Directory karmalarının% 20-40'ını daha önce gördüğümler için kırıyordum. Kötü şifre kuralları olanların% 70'i kırılıyor. 16 karakterlik karmaşık şifreler öneririm. oclHashcat ve Radeon ekran kartları çok fazla zarar verebilir. Geçtiğimiz 5 yıl içerisinde her ihlalden çıkan bütün şifre dökümlerini eklediğinizde, hangisinin işe yarayacağına dair iyi bir sözlük edinirsiniz.

SSH kullanıyorsanız, sshd_config'te bazı düzenlemeler yapın.

sudo nano /etc/ssh/sshd_config

MUSTS hemen kapıdan dışarıya çıkar (kullanmıyorsanız ftp sunucusunu devre dışı bırakmak için sonuncusu).

Protocol 2
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 5
#Subsystem sftp /usr/lib/openssh/sftp-server

Kaydet, ssh'yi yeniden başlat

sudo service ssh restart

Genel anahtar şifrelemesini kullanın Uzak makinenizde kendinize bir anahtar oluşturarak başlayın (puttygen veya işletim sisteminizdeki lezzetleri kullanın). Genel anahtarı yetkili_keys dosyası olarak giriş yapmak istediğiniz kullanıcının altındaki Ubuntu makinenize kopyalayın (muhtemelen oluşturmanız gerekir)

sudo nano /home/yourdumbusername/.ssh/authorized_keys

genel anahtarı bu biçimde kopyala

ssh-rsa 23r0jfjlawjf342rffjfa89pwfj8ewfew98pfrfj8428pfwa9fupfwfcajwfpawf8rfapfj9pf892jpfjpwafj8a where-ever-you-have-your-private-key-for-your-own-notes

kaydedin ve ortak anahtar girişine izin vermek için sshd_config'inizi kurun

sudo nano /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

ssh kaydedin ve yeniden başlatın

sudo service ssh restart

Ortak anahtar şifrelemesini kullanarak ubuntu sunucunuza özel anahtarlı bilgisayarınızdan SSHing'i deneyin. Her şey yolunda giderse ubuntu ana bilgisayarına geri dönün ve parola doğrulamasını devre dışı bırakın.

sudo nano /etc/ssh/sshd_config

PasswordAuthentication no

Kaydet ve ssh'yi yeniden başlat

sudo service ssh restart

Onaylamak için özel anahtarlı bilgisayardan tekrar sshing yapmayı deneyin.

Daha fazla eklemek ister misiniz? ayrıcalıklı olmayan bir hesap oluşturun, PermitRootLogin no'yu çevirin, ssh'yi yeniden başlatın, ortak anahtarınızı yeni hesabın yetkili_ anahtarlarına ekleyin, ayrıcalıklı olmayan bir hesap olarak giriş yapın, kökten ayrıcalıklı hesabınıza su verin.


2

sudo'nun amacı şifre ile ilgili değildir, bunun yerine bazı kullanıcılara root-ish yetenekleri kazandırırken, diğerlerini bir makine üzerinde root girişini sunmalarını istemeden sınırlandırmaktır (şifre / anahtar / güvenlik belirteci / vb.). Mesela benim işimde, günden güne çalışanlar sudo ile istasyonlarını (bir şirketin vetoed deposundan) başlatabilir / kapatabilir / kurabilir ve yükseltebilirler. Cihazlara bilerek çıkarma, biçimlendirme, kullanıcı ekleme ve çıkarma, hangi çekirdek modüllerin kara listeye alınması gerektiğine veya crontab'da (vb. Evinizdeyken, sudo'nuz makineye tam erişim sağlar. Parola ile ilgili olarak, gerçekte, kullanıcı hesabınızın sudo'nun gerektirdiği parolasıdır (otomatik giriş etkinleştirilmemişse, oturum açmak için kullanacağınızla aynı).

Kötü İpucu : Eğer sudo özellikli bir unix'te (linux / apple osx) düzenli bir hesap oluşturmak istiyorsanız, aşağıdakileri çalıştırın

sudo -s
passwd
Enter your unix password:

Bu noktada root 'un düzenli bir şifresi vardır ve sadece "old fashion" şeklinde belirtilen şifreyle çıkış yapabilir ve root olarak giriş yapabilirsiniz.

Güvenlik ile ilgili olarak, bir program (örneğin web sunucusu, mysql, php daemon, sshd gibi) yükseltilmiş bir hesap olarak çalışıyorsa .. root diyor ve orada bilinen bir suistimal varsa, saldırganların erişim elde etmek için herhangi bir güvenlik belgesine ihtiyacı olmayabilir. Programın güvenlik açığından yararlanabilir ve bu programdan root olarak çalışan yeni bir kabuk ortaya çıkarabilirler. Ancak, dağıtım yöneticileri benzer sorunların farkında olduğundan ve iyi düşünülmüş ve genellikle güvenli bir varsayılan ortam oluşturma konusunda olağanüstü bir iş çıkardığı için bu oldukça nadirdir.

Gelen diğer işletim sistemine sudo benzer bir operasyon sağ tıklayın ve Sistem Yöneticisi (veya dırdır UAC ayrıcalık) olarak çalıştırmak olacaktır.

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.