İlk önce sadece root hesabını kullanmanızı öneririm. Eğer böyle ayarladıysanız:
sshd_config
Hedef makinede ayarlarınızı yapın PermitRootLogin without-password
.
ssh-keygen
Bir SSH özel anahtarı oluşturmak için yedeği çeken makinede kullanın (yalnızca bir SSH anahtarınız yoksa). Bir şifre ayarlamayın. Google’la ilgili bir öğreticiye bunun için detaylar gerekiyorsa, bol miktarda olması gerekir.
/root/.ssh/id_rsa.pub
Yedekleme makinesinin içeriğini /root/.ssh/authorized_keys
hedef makinenize ekleyin.
- Artık yedekleme makinenizin, şifre doğrulama kullanmanıza gerek kalmadan hedef makinenize kök erişimi var.
o zaman ortaya çıkan kurulum oldukça güvenli olmalıdır.
sudo
özellikle NOPASSWD
yorumlarda önerildiği şekilde birleştirildiğinde, yalnızca root hesabını kullanmanın hiçbir güvenlik avantajı yoktur. Örneğin, bu öneri:
aşağıdakileri /etc/sudoers
dosyanıza ekleyin :rsyncuser ALL= NOPASSWD:/usr/bin/rsync
temelde rsyncuser
zaten kök izinleri verir . Sen sor:
Çünkü @MartinvonWittich Kolay tam kök kabuğu kazanmak için rsync
birlikte yürütülen sudo
? Lütfen [m] e [ile] arasında yürüyün.
Peki, basit. Önerilen yapılandırma ile, rsyncuser
şimdi rsync
bir şifre sorulmadan root olarak çalışabilir. rsync
dosyaları işlemek için çok güçlü bir araçtır, bu yüzden şimdi rsyncuser
kök izinleri ile dosyaları işlemek için çok güçlü bir araç var. Bundan yararlanmanın bir yolunu bulmak sadece birkaç dakikamı aldı (Ubuntu 13.04'te test edildi, gerektirir dash
, bash
işe yaramadı):
martin@martin ~ % sudo rsync --perms --chmod u+s /bin/dash /bin/rootdash
martin@martin ~ % rootdash
# whoami
root
# touch /etc/evil
# tail -n1 /etc/shadow
dnsmasq:*:15942:0:99999:7:::
Gördüğünüz gibi kendime bir kök kabuğu yarattım; whoami
hesabımı root olarak tanımlar, dosya oluşturabilir /etc
ve okuyabilirim /etc/shadow
. Benim istismarım setuid bitini ikiliye koymaktıdash
; Linux'un bu ikiliyi her zaman sahibinin izinleriyle çalıştırmasına neden olur, bu durumda root.
Gerçek bir köke sahip olmak, iyi nedenlerden dolayı [tavsiye edilmez]. - redanimalwar 15 saat önce
Hayır, kök hesabın etrafında gizlice çalışmak, onu kullanmanın kesinlikle uygun olduğu durumlarda işe yaramaz. Bu, kargo kültü programlamasının sadece bir başka şeklidir - sudo-root'un arkasındaki kavramı gerçekten anlamıyorsunuz, sadece “root kötü, sudo iyi” inancını kör bir şekilde uyguladığınız için bir yerde okudunuz.
Bir yandan, sudo
kesinlikle iş için doğru aracın olduğu durumlar var . Örneğin, etkileşimli bir grafik Linux masaüstünde çalışırken, Ubuntu diyelim, o zaman kullanmak zorunda sudo
kalmanız, bazen kök erişimine ihtiyaç duyduğunuz nadir durumlarda iyidir. Ubuntu kasıtlı olarak devre dışı bırakılmış bir kök hesaba sahip ve sudo
kullanıcıların giriş yapmak için sadece her zaman root hesabını kullanmalarını önlemek için varsayılan olarak kullanmaya zorlar . ve bu nedenle, varsayılan olarak bir kök hesaba sahip olmamak, aptal insanların bunu yapmasını önler.
Öte yandan, otomatik bir betiğin bir şey için kök izinleri gerektiren, örneğin bir yedekleme yapmak için sizinki gibi durumlar vardır. Şimdi sudo
root hesabı etrafında çalışmak sadece anlamsız değil, aynı zamanda tehlikelidir: ilk bakışta rsyncuser
sıradan imtiyazsız bir hesap gibi gözüküyor. Ancak, daha önce de açıkladığım gibi, daha önce rsyncuser
erişim kazanmış olsaydı, bir saldırganın tam erişim hakkı kazanması çok kolay olurdu . Bu yüzden, temel olarak, artık hiç bir kök hesabına benzemeyen bir ek kök hesabınız var, ki bu iyi bir şey değil.
root
ilk önce hesabı kullanın .sudo
özellikleNOPASSWD
yorumlarda önerildiği şekilde bir araya geldiğinde, makinenizin güvenliğini gerçekten iyileştirmiyor.