Birden fazla kullanıcılı apache sanal ana bilgisayarlarını doğru şekilde kurun


15

Sağlayabileceğiniz herhangi bir yardım için şimdiden teşekkür ederiz. Kendi kendime linux (ubuntu), apache, sanal ana bilgisayarlar ve güvenlikle ilgili birkaç bit kullanarak kendimi öğrettim, ancak bunları sorunsuz bir şekilde bir araya getirmedim.

Ayrıca, geçmişte kullanıcı hesaplarını ve siteleri / sanal ana bilgisayarları doğru şekilde kurmama konusunda yapılan hatalardan da zorlandım. Kök olarak sunucuya ssh (biliyorum, çok kötü) ve tüm sanal ana bilgisayarları ve dosyaları el ile oluşturdum, böylece hepsi root'a ait. Tüm diğer sanal ana bilgisayarlara joomla sömürülen ve kötü amaçlı spam kodunun eski bir sürümünü ekledim.

Yeni bir sunucuya geçme sürecindeyim ve onlara erişebilen sanal ana bilgisayarlar ve kullanıcı hesapları oluşturma konusunda izlenecek doğru adımları arıyorum. Üçüncü taraf yazılım kullandığımız için, bir keresinde web sitesi dosyalarını araştırmak için siteye ftp göndermesi gereken başka birine ihtiyacımız var.

Mevcut sunucumuz sürüm 10.04, ancak yeni sunucu sürüm 12.04. Tüm web sitesi dosyaları

/home/www/site1.com

/home/www/site2.com

/home/www/site3.com

vb

Kısacası, sanırım peşimde olan bu.

  1. Sanal ana bilgisayarı ve kullanıcıyı doğru bir şekilde nasıl kurabilirim, böylece sunucudaki diğer sanal ana bilgisayarlara değil, yalnızca kendi dosyalarına erişebilir. Örneğin, bu sitenin kötü amaçlı kodlarla kullanılması durumunda, sunucudaki diğer sitelere bulaşamaz

  2. Kullanıcıları yalnızca verilen dosyalarına ftp yapabilmeleri ve diğer sitelere erişememeleri için nasıl kurabilirim.

Daha önce de belirtildiği gibi, bu adımlardan herhangi birinin nasıl yapılacağına dair çok sayıda makale var, ancak bunları sorunsuz bir şekilde bir araya getiren hiçbir şey yok.

Gerçekten herkesin sunabileceği yardım için teşekkür ederiz. Lütfen tavsiyede bulunmanız gerekebilecek ek bilgileri istemekten çekinmeyin. Şu anda chroot ayarlamak için eğiticileri izliyorum, ancak yol boyunca birkaç tutarsızlık aldığım için bunu doğru bir şekilde yapmıyorum. Ayrıca jailkit araştırıyorum.

Yanıtlar:


6

"Apache sanal ana bilgisayar ayrı kullanıcı" sorulduğunda soru google'da en iyi arama sonucu olduğundan, bu cevaba dayanarak daha ayrıntılı bir cevap vermek istiyorum . Cevabım PHP ve CGI (suPHP kullanırsınız) kullanım alanını kapsamaz. Apache modülü olarak kullanıldığında PHP'ye odaklanır.

Apache2-mpm-itk apache modülünü kullanabilirsiniz . Apache 2.4'ün mevcut sürümü için kullanılabilir. Yönerge ile birlikte gelir AssignUserID. Bu yönerge, sanal bir ana bilgisayarın isteğinin ele alındığı kullanıcıyı ve grubu tanımlar. Bu, sonunda bulduğum apache site yapılandırmasına bir örnektir:

<VirtualHost *:80>
ServerName www.site1.com
DocumentRoot /home/www/site1.com
AssignUserID site1 www-data
php_admin_value open_basedir /home/www/site1.com
...
</VirtualHost>

Tabii ki, bu yalnızca bireysel DocumentRoots ilgili kullanıcılarına ait olduğu ve grup tarafından erişilebilir olmadığı sürece güvenliği geliştirir. PHP ile ilgili daha fazla güvenlik için, komut dosyaları DocumentRootopen_basedir kısıtlamasıyla hapsedilir . Arka uç dosya erişimine gelince , chroot ile SFTP'yi tercih ederim .

Not: apache2-mpm-itk şu anda Apache'nin http2 modülüyle uyumlu değildir.


1

Bunun kendi sorunuza bir cevap olduğunu düşünmüyorum. Ama henüz yorum yapamadığım için "cevap" alanına yazmak zorundayım. Mevsimsel olarak web yönetimi yapıyorum, bir şeyleri güvenli bir şekilde test edip denememin bir yolu, sanal bir makinede (yani VirtualBox) veya "eski" bir masaüstü bilgisayarda bir test ortamı kurmaktır. Bir acemi web host yöneticilerinin çok yaygın sorunlarından biri web sunucusu programlarının nasıl çalıştığını anlamaktır. Bu durumda, Apache'nin nasıl çalıştığını ve en azından yapılandırma dosyalarını anlamanız gerektiğini varsayıyorum. Bunu bulmak Webmin bir acemi için - - Apache ve diğer hizmetleri yönetmek için çok yararlı bir araçtır. Test ortamınızdaki şeyleri denemek için biraz zaman harcamanız gerekir, böylece işler sizin için daha açık hale gelir.

Sorunuzu geri döndüğümde, cevabın bir öğretici makale veya küçük bir kitap olabileceğini düşünüyorum. Başlangıç ​​için şu makalelere göz atın:

https://www.digitalocean.com/community/articles/how-to-set-up-apache-virtual-hosts-on-ubuntu-12-04-lts

http://www.servermom.org/build-ubuntu-server-a-complete-guide/


Teşekkürler biocyberman. Bunlar hemen hemen takip ettiğim temel adımlardır ve oldukça aşinayım. Tek fark, her web sitesini farklı bir kullanıcıya chown etmemem. Jailkit çözümün bir parçası gibi görünüyor, ama% 100 emin değilim. Geçmişte webmin ile oynadım, bu yüzden tekrar ziyaret edeceğim ve sorularımdan herhangi birine yardımcı olup olmayacağını göreceğim.
user249729
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.