Soru Diğer bir web geliştiricisine faydalı erişim sağlamak için sudoer şeması, ancak bir sanal sunucunun gelecekteki kontrolünü korumak için?


Arka Plan: Sanal Özel Sunucu

Birden fazla web sitesini barındırmak ve başka bir web geliştiricisine erişim sağlamak istediğim sanal bir özel sunucum var. Ona çok fazla kısıtlama koymak umurumda değil, geliştireceğim sitemdeki diğer sitelerden geliştireceği siteyi ayırmama rağmen.

Sorun: kontrolü koru

Esasen istediğim, gelecekte sunucu üzerinde kontrolü sürdürdüğümden emin olmak. Web yazılımı ile uğraşmayan / geliştiren / indiren ve diğer yönetimsel işlevler oluşturma yeteneğini saklı tutmak istiyorum. Eğer onu bir yönetici yaparsam, belki de su alabilir ve kökleşmiş olur ve kök kontrolünü benden alabilir.

Yapabilmem için ona ihtiyacım var:

  • diğer yönetici izinlerini al
  • root şifresini değiştir
  • Diğer güvenlik / idari işlevler üzerinde kontrol sahibi olmak

Onun hala yapabilmesini isterim:

  • yazılımı kurun (apt-get aracılığıyla)
  • apache'yi yeniden başlat
  • erişim mysql
  • mysql / apache'yi yapılandır
  • reboot
  • web geliştirme yapılandırma türündeki dosyaları düzenleme /etc/

Diğer Standart Kurulumlar mutlu bir şekilde dikkate alınacaktır

Asla iyi bir sudoers dosyası oluşturmamıştım, bu yüzden basit kurulumlar, yukarıdakileri umduğum ayarlara benzer olsalar bile çok kullanışlı olurdu.

Düzenle: Henüz izinleri kesinleştirmedim, standart, kullanışlı sudo kurulumları kesinlikle bir seçenek, yukarıdaki listeler yapabileceğimi umduğum şeyden daha fazlası, bu kurulumun ne olduğunu bilmiyorum kutu yapıldı. Eminim ki insanlar bunu çözmüş tip bir şekilde sorun olsa da, ve ben ev içinde bir şey karşı bir şekilde test edilmiş bir şey ile gitmek istiyorum.


5
2018-03-16 17:04


Menşei




Cevaplar:


Yapmasına izin vermek istediğiniz uygulamaların miktarına bağlı olarak, sudo yapmak zorunda kalmasına rağmen komutları yürütmesine izin vermek bir seçenek olacaktır. Bu, ona görevini gerçekleştirmesine izin verirken, ona root erişimi vermenizi engelleyebilir: Bunu yapmak için, sudoers dosyasına, yapmasına izin verilmesi gereken her uygulama için bunun gibi bir satır ekleyin:

username ALL=NOPASSWD: /path/to/application

Düzenleme: Sanal makine çözümü kesinlikle en güvenli seçenek olur


1
2018-03-16 17:33



Normalde kullanabileceğiniz birçok uygulamanın bir kök kabuk sağladığını unutmayın. Örneğin vim ve emacs, sudoed kullanıcısına kolayca root almasına izin verir. - Bill Lynch


Debian / Ubuntu'da takılmadıysanız (ve OS'nizi değiştirebilme / seçme yeteneğiniz varsa), FreeBSD'nin Hapishaneleri bu düşünceyle inşa edildi ve yıllardır üretildi:

http://www.freebsd.org/doc/handbook/jails.html


1
2018-03-17 13:23





Ne yazık ki, ona verdiğiniz ayrıcalıkların verildiği gibi, gerçekten de, kusursuz bir şekilde, kusursuz bir şekilde bir konfigürasyon oluşturmasını sağlayın, sizden erişimi engellemeye çalışmasını engelleyin. / Etc 'de rasgele dosyaları düzenleyebilmek, yazılımı yükleyebilmek neredeyse kişinin sudo ile kurduğunuz herşeyi atlayabilme yetisine sahip olacağı anlamına gelir.

Asıl soru fiziksel erişime geri dönüyor. Eğer sisteme fiziksel erişiminiz varsa, sisteminizi bir livecd'den yeniden başlatarak ve bazı şeyleri tamir ederek kolayca atlayamayacağınız bir şey yoktur.

Bugünlerde çoğu insanın bir VM kurmak ve VM'ye erişim sağlamak suretiyle bu tür bir sorunu ele aldığına inanıyorum. Yanlış bir şey yaparlarsa veya bir yapılandırma hatası yaparlarsa, işleri düzeltmek genellikle yeniden başlatılır.


0
2018-03-16 17:29



VM yaklaşımı için +1. Ona izole bir VM verin, istediği gibi yönetmesine izin verin. - Sunny
Soruyu açıklığa kavuşturmak için düzenlenmiş: Bu, ödeme yaptığım bir VPS / VM'de, VM'lere dilimleyebileceğim özel bir sunucu değil. Düzenleme yeteneklerine gelince, listelerim bir dilek listesiydi, ben onları şu şekilde açıkladım: Güvenlik / kontrole ihtiyacım var, eğer alabilirsem, güvenlik / kontrol ile çatışmaya izin vermediği sürece. - Kzqai