Her zaman kök olmanın nesi yanlış?


83

Bunun aptalca bir soru olduğunu hissediyorum, ama bu bir süredir merak ettiğim bir şey.

VPS'im var ve bu benim ilk büyük linux girişimim. Buna erişimi olan tek kişi benim. Sorum şu ki, bir hesap oluşturup onlara sudo erişimi sağlamak yerine sadece root olarak giriş yapmanın nesi yanlış? Eğer bir sudoer root'un yapabileceği her şeyi yapabilirse, fark nedir? Eğer bir bilgisayar korsanı şifremi standart, root olmayan hesabıma kırabilirse, o zaman da sudo komutlarını çalıştırabilir, o zaman benim kök hesabımı korsan korsan ne kadar önemli ya da daha az önemli?


28
Ayrıca "Unix Way" e yabancı iseniz, bu aptalca bir soru olmadığını da yorumluyorum. Soruyu ilk önce yeni bir Linux yöneticisi olarak sormayı düşündüğünüz için bir bonus almalısınız.
Bart Silverstrim

Ve bazı cevaplara yorum yapmak istiyorum. Özellikle de "kötülük yapan şeyleri mahvedebilirsin" diyenler. Bunun noktası olduğunu sanmıyorum ... "rm -rf /", "sudo rm -rf /" ile aynı şeyi yapıyor. Mesele şu ki, "sudo rm" gibi şeyler çalışmaz, ancak "düşük porttaki sudo startMyApp" çalışmaz.
Zlatko

asla olmamakta yanlış olan ne?
ostendali

Yanıtlar:


70

Kök olarak oturum açtıysanız, kolayca dizinleri silebilir veya geçmişe bakıldığında sistemde gerçekten aptal olan bir şeyi parmakla çevirerek yapabilirsiniz; oysa bir kullanıcı olarak normalde birkaç zihinsel döngü gerçekleştirmeniz gerekir. tehlikeli bir şey yapmadan önce yazıyorsunuz.

Ayrıca root ayrıcalıkları olarak root olarak çalıştırdığınız herhangi bir program, yani birisi veya bir şey sizi tehlikeli ya da trojan ya da diğer zararlı yazılımlar gibi sisteminize zarar vermek isteyen bir web sitesine gözatabilir / derleyebilir / tarayabilirse, Sistem 1024’ün altındaki TCP bağlantı noktalarına erişim dahil olmak üzere istediğini yapabilir (örneğin, sisteminizi bilginiz olmadan bir geri göndericiye dönüştürebilir).

Temel olarak, kendiniz giriş yapmayı önleyebileceğiniz gibi bir sorun mu soruyorsunuz. Dikkatsiz bir anda o güvenlik ağına sahip oldukları için mutlu olduklarını bilen birçok insan tanıdım.

EDIT: Köklerin en iyi bilinen, dolayısıyla senaryolar ve saldırılar için kolay bir hedef olma sorunu da var. Hesabı devre dışı bırakan ve bunun yerine kullanıcıları sudo kullanmaya zorlayan sistemler, ssh'den kökünden ayrılma girişiminin veya hesaba yapılan yerel bir istismarın, başlarını duvara çarptığı anlamına gelir. Bir şifre ve kullanıcı adı tahmin etmek / kırmak zorunda kalacaklardı . Bir dereceye kadar gizlilik yoluyla güvenlik ancak çoğu senaryo kiddie saldırılarını engellemediğini iddia etmek zor.


25
+1 - "sudo" kullanımı, programları root olarak çalıştırılmasını sağlar. Bu, "bilgisayar korsanlarını durdurma" meselesi değil, sizi ayrıcalıklı olmayan bir kullanıcı olarak çalışma alışkanlığına sokma ve kök ayrıcalıkların çağrılmasını amaçlanan ve açık bir eylem yapma meselesidir.
Evan Anderson,

2
Evan'ın gerçekten bir AI olup olmadığını merak etmeye başladım.
Bart Silverstrim

11
Sudo ayrıca bir denetim izi ekler. Sudo olarak çalıştırıldığında kim, ne ve ne zaman günlüğe kaydedilir. Hangi günlük dosyası dağıtıma göre değişiklik gösterebilir ancak RedHat dağıtımı / var / log / secure kullanmaya meyillidir ve Ubuntu /var/log/auth.log... kullanır. Bunun tüm Debian tabanlı dağıtımlar için geçerli olup olmadığından emin değilim.
3dinfluence

3
+1 - bu sadece yaratma ya da yapma yapma haklarıyla ilgili değil, aynı zamanda yok etme haklarıyla ilgili. Kök olarak oturum açmak (veya bu konuda başka bir işletim sisteminde eşdeğer) güvenlikle kapalı bir silah taşıyarak dolaşmak gibidir. Bu tetiğe kasten asla dokunmamanız gerekebilir;
Maximus Minimus

3
mh: / ben kovboy şapkasını koyar, tabancasının emniyetini atlatır, bir bira açar, alçakça homurdanır, hercai menekşe hakkında bir şeyler yapar ve sonra kök olarak oturum açar.
Kyle Brandt

29

Bir aptalın sunucunuza root olarak giriş yapmasına izin vermezseniz, her zaman kendiniz root olarak çalıştırmayın. Kalbi teslim edemezsen, asla aptal olmadığını söylersin . Hayır, gerçekten mi? Emin misin? :)

Faydası: Aynı anda hem kök hem de aptal olma olasılığını azaltır .


6
+1 - "Fayda: aynı anda hem kök hem de aptal olmanız olasılığını azaltır." Bunu kesinlikle seviyorum.
Evan Anderson

Scott Adams'ın felsefesi için +1, herkesin bir salak olduğu. :) Evet, bu sen ve ben de demek oluyor.
Ernie

Kesinlikle - bu iş görüşmelerindeki en önemli sorularımdan biri - en son ne zaman batırdınız? Herkes var, burada sadece "en eğlenceli sysadmin fubar" ya da her neyse konu hakkındaki konuları okumanız gerekiyor. Birisi hayatında en az bir kere gerçek bir aptal hata yaptığını kabul etmezse, muhtemelen onlarla çalışmak istemediğin birkaç sebep vardır.
Tom Newton

9

Asıl sebep hatalar. Her zaman köklüyseniz, basit yazım hatası sistemi gerçekten mahvedebilir. Yalnızca root olarak giriş yaparsanız veya sudo kullanıyorsanız, yapılması gerekenleri yapmak için tehlikeli bir hata yapma riskini en aza indirirsiniz.


9

Kökünüz olduğunda, izinler konusunda tembelleşirsiniz, çünkü her zaman her şeye erişiminiz vardır, 777 veya 644 ya da her neyse, umursamazsınız. Bu nedenle, sisteminizde başka kimsenin, her şeye erişmek istemediğiniz bir şey yapmasına izin verirseniz, makinenin diğer insanlar tarafından kullanımı güvenli hale getirilmesi aniden gerçek bir zorluk haline gelir.


5
Buna "kök çürüklüğü" denir.
kmarsh

1
"Kök çürüklüğü" terimini sevdim. Gerçekten de, her zaman root olarak çalışmak, * nix makinelerini, çok kullanıcılı güvenliğe önem vermeyen çılgınca Windows 95 benzeri makinelere dönüştürebilir. (. Ben "o izin sorunları go away yapılmış" çünkü nerede paylaşılan muhasebe uygulaması üzerinde her kullanıcı root olarak koşuyordu yıl önce, bir SCO makinesi hatırlamak> <iç geçiriyorum.)
Evan Anderson

Böyle bir açıklama aldığımı hatırlıyorum - sendmail ile birlikte root olarak çalışan bir mail listesi aracı vardı. Cevabım "Bilgisayar korsanları için de izin sorunları ortadan kalktı" idi.
duffbeer703

7

Kök olarak giriş yapmamanın arkasında birkaç temel prensip vardır: 1) Oturum açma zamanında hiçbir zaman ağ üzerinden kök şifresi gönderilmez 2) Aynı hesapla birden çok kullanıcı giriş yaptığında (root veya diğeri) kimin bir şey yaptığını söylemenin bir yolu yoktur. 3) Yanlışlıkla 'aptal' bir şey yapmak


3

Kendinize karşı koruma için daha fazla, böylece çalıştırmaya çalıştığınız yüksek ayrıcalık komutlarını Windows'taki UAC'ye benzer şekilde inceleme şansınız ikinci olacaktır. rm -rf /Kök olarak giriş yaparken yanlışlıkla bir şey yapmak oldukça kolaydır .

Ek olarak, izlenebilirliğe de sahipsiniz. Bu, sizin durumunuzda (teorik olarak) komut veren tek kişi olduğunuz büyük bir problem değildir, ancak bir bireye kayıt ve izleme yeteneği birçok analiz türünün anahtar bileşenidir.


Birden fazla kişinin sysadmin olarak çalıştığı sistemlerde izlenebilirlik çok önemlidir. Düzenleyici rejimler tarafından zorunlu tutulması sadece arzu edilmez.
APC

Bunu cuma günü yaptım. "/ dump / folder /" silmek yerine / klasörünü sildim. Kokuşmuş bir ters eğik çizgi bana neden root olarak giriş yapmadığımızı hatırlattı.
oneodd1

2

Aradaki fark şudur:
Kazayla kötü bir şey yapamazsınız.
bu "kötülük" kodunun sistemi devralmayacağını.
Dikkat: kötü kod mutlaka birisinin zaten sisteme erişimi olduğu anlamına gelmez.


Bugünlerde kötü kodun genellikle herhangi bir kullanıcı olarak çalıştırılabilecek spam botları anlamına geldiğini fark ettim.
Ernie

Bir virüs (bir şeyi yok etmeye çalışıyor) veya bir rootkit düşünürseniz, o zaman bir root değilseniz kötü amaçlı yazılımlar için daha karmaşık olacaktır.
StampedeXV

2

Her zaman mümkün olan en düşük ayrıcalık seviyesine sahip hesapları kullanmalısınız. Her zaman root olarak çalışmak, birden fazla kullanıcıyla çalışırken veya bir kamu / yarı kamusal ağa maruz kaldığınızda hayatı tatsız hale getirecek kötü alışkanlıkları ve tembelliği teşvik eder.

Ayrıca, şifre kırma işleminin yalnızca bir uzlaşma senaryosu olduğunu ve en yaygın senaryo olmadığını unutmayın. Bir tarayıcı güvenlik açığına veya sisteminizde çalışan bazı servisteki bir güvenlik açığına maruz kalmaya daha yatkınsınız.

Düşünmeden kullandığınız kodu düşünün. Örneğin, yalnızca nispeten yakın geçmişte kullanılabilir hale gelen buğulanmış bir kaka yığını olan Adobe Flash'ın Linux portu. Sence bu kod ne kadar güvenli? Bunun sisteminizi tam olarak kontrol edebilmesini mi istiyorsunuz?


2

SSH kaba kuvvet saldırılarına karşı önleyebilir. Her unix'in bir 'root' hesabı vardır. Ancak, 'sudo' kullanıcı adınızın ne olacağı dışarıdan belli değil. Bu yüzden eğer birisi kaba kabadayı zorlamaya çalışmak isterse, kök hesap olduğunu bilir ve muhtemelen dener. Ancak sudo kullanıyorsanız nereden başlayacağınızı bilmiyorlar.



1

Benim tavsiyem, bir süre her zaman root kullanmaya çalışmak; Yakında olmamanız gerektiğini keşfedeceksiniz :)


1

"Müstehcen güvenlik" güvenmesem bile, kesinlikle varolan kök giriş yerine özel bir giriş kullanmanın bir avantajı var. Böylece SSH'yi kök girişini engellemek için de yapılandırabilirsiniz.

Diğerlerinin de söylediği gibi, root herhangi bir onay olmadan her şeyi yapabilir. Bu yüzden ayrıcalıklı olmayan bir kullanıcıyı kullanmak aptalca bir hatayı ve yazım hatalarını önleyebilir.

Birden fazla kullanıcı hesabı lehine olan bir başka argüman, farklı kullanıcılar altında farklı yazılımlar çalıştırmaktır. Bunu yaparak, bir uygulamada bir güvenlik açığı varsa, istismarcı yalnızca çalışan kullanıcısı tarafından erişilebilen dosyalara ve kaynaklara erişebilir.

Kök kullanmamak için son bir nokta: kaynak tüketimi. Kökün ne kadar bellek, işlem süresi, dosya işleyicileri veya kullanabileceği disk alanı konusunda bir sınırı yoktur. Birçok dosya sisteminde, yalnızca kök dizisine ayrılmış veri blokları vardır. Yani normal bir kullanıcı diskinizi doldurmak için asla kullanamaz. ulimit komutu, kullanıcının tüketebileceği belleği ve dosya işleyici numarasını sınırlamak için de kullanılabilir. Ancak, root iseniz (veya root olarak çalışan bir uygulamaysanız) hiçbir şey bu limiti değiştirmenizi engellemez.


0

Evet, sizinle aynı fikirdeyim ve bunun insan hatalarına karşı ve bazen de kötü niyetli programlara karşı bir koruma sorunu olduğunu düşünüyorum. Görmediğim en kötü şey, varsayılan gnome hesabı olarak root kullanmasıdır.
Bunu yapan çoğu kullanıcının Windows kullanıcıları olarak yakın zamanda Linux veya Unix'e geçtiğini düşünüyorum. Yönetici ayrıcalıklarının kullanımını kök dizinine kopyalamaya çalışın.


0

Root olarak giriş yapmanın yanlış bir tarafı yoktur. Yalnızca güvenli komutlar yazmak için kas hafızasını geliştirmeye yardımcı olur ve büyük sonuçları olan eylemleri gerçekleştirirken düşünce doğruluğunu arttırır. Sistem yönetiminde daha iyi olabilmek için root olarak çalışmanızı şiddetle tavsiye ederim.

ayrıca gibi serin şeyler yapmak ping -i 0.2 -c 1000 example.com

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.