여러 사용자와 함께 아파치 가상 호스트를 올바르게 설정


15

귀하가 제공 할 수있는 도움에 대해 미리 감사드립니다. 나는 아직 리눅스 (우분투), 아파치, 가상 호스트 및 보안과 관련하여 몇 가지 비트를 사용하여 스스로 가르쳤다.

또한 사용자 계정 및 사이트 / 가상 호스트를 올바르게 설정하지 않는 것과 관련하여 과거의 실수로부터 어려운 방법을 배웠습니다. 나는 서버에 루트로 ssh하고 (매우 나쁘다) 모든 가상 호스트와 파일을 수동으로 생성하여 루트가 소유하고 있습니다. 다른 모든 가상 호스트에 이전 버전의 Joomla 악용 및 악성 스팸 코드가 삽입되었습니다.

새 서버로 이동하는 중이며 액세스 할 수있는 가상 호스트 및 사용자 계정 설정과 관련하여 따라야 할 올바른 단계를 찾고 있습니다. 타사 소프트웨어를 사용하기 때문에 웹 사이트 파일을 조사하기 위해 다른 사람이 사이트를 ftp로 사용해야하는 경우가있었습니다.

현재 서버는 버전 10.04이지만 새 서버는 버전 12.04입니다. 모든 웹 사이트 파일은

/home/www/site1.com

/home/www/site2.com

/home/www/site3.com

기타

요컨대, 이것이 내가 추구하는 것 같아요.

  1. 서버의 다른 가상 호스트가 아닌 자체 파일에만 액세스 할 수 있도록 가상 호스트 및 사용자를 올바르게 설정하는 방법 예를 들어, 해당 사이트가 악성 코드로 악용되면 서버의 다른 사이트를 감염시킬 수 없습니다.

  2. 지정된 파일로만 ftp를 사용하고 다른 사이트에는 액세스 할 수 없도록 사용자를 설정하는 방법

앞에서 언급했듯이 이러한 단계 중 하나를 수행하는 방법을 자세히 설명하는 많은 기사가 있지만 완벽하게 결합하는 것은 없습니다.

누구나 제공 할 수있는 도움에 감사드립니다. 조언이 필요한 추가 정보를 요청하십시오. 나는 chroot를 설정하기 위해 현재 튜토리얼을 따르고 있지만, 길을 따라 약간의 불일치를 선택했을 때 올바르게 수행하지 않을까 걱정된다. 또한 교도소 조사 중입니다.

답변:


6

질문은 "아파치 가상 호스트 별도의 사용자"를 물었을 때 구글에서 상위 검색 결과이기 때문에, 나는 기반으로보다 정교한 답변을주고 싶습니다 이 답변을 . 내 대답은 PHP와 CGI의 유스 케이스를 다루지 않습니다 (suPHP를 사용할 것입니다). 아파치 모듈로 사용될 때 PHP에 중점을 둡니다.

아파치 모듈 apache2-mpm-itk를 사용할 수 있습니다 . 현재 버전의 Apache 2.4에서 사용할 수 있습니다. 지시어와 함께 제공됩니다 AssignUserID. 이 지정 문은 가상 호스트 요청이 처리되는 사용자 및 그룹을 정의합니다. 이것은 내가 끝낸 아파치 사이트 구성의 예입니다.

<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>

물론 개별 DocumentRoot가 해당 사용자가 소유하고 그룹에 액세스 할 수없는 경우에만 보안이 향상됩니다. 추가적인 PHP 관련 보안을 위해 스크립트는 DocumentRootopen_basedir 제한으로 수감 됩니다. 백엔드 파일 액세스의 경우 chroot 사용 SFTP를 선호합니다 .

참고 : apache2-mpm-itk는 현재 Apache의 http2 모듈과 호환되지 않습니다.


1

나는 이것이 당신의 질문에 대한 답이라고 생각하지 않습니다. 그러나 아직 댓글을 달 수 없으므로 "답변"영역에 작성해야합니다. 나는 계절마다 웹 관리를한다. 안전한 방법으로 테스트하고 시험해 볼 수있는 한 가지 방법은 가상 머신 (예 : VirtualBox)이나 "오래된"데스크탑 컴퓨터에 테스트 환경을 설정하는 것이다. 초보자 웹 호스트 관리자의 가장 일반적인 문제 중 하나는 웹 서버 프로그램의 작동 방식을 이해하는 것입니다. 이 경우 Apache 작동 방식을 이해하고 구성 파일을 이해해야한다고 가정합니다. 나는 것을 발견 Webmin은이 초보자를위한 - - 아파치 및 기타 서비스를 관리 할 수있는 매우 유용한 도구입니다. 테스트 환경에서 사물을 시험해 보려면 시간이 좀 더 필요합니다.

귀하의 질문으로 돌아와서, 대답은 튜토리얼 기사 또는 작은 책 일 수 있다고 생각합니다. 시작하려면 다음 기사를 확인하십시오.

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/


biocyberman에게 감사합니다. 이것들은 내가 따르는 기본 단계와 거의 비슷합니다. 유일한 차이점은 각 웹 사이트를 다른 사용자에게 부여하지 않았다는 것입니다. 다음에 시도 할 것이지만 가상 호스트 폴더를 서로 보호합니까? Jailkit이 솔루션의 일부인 것 같지만 100 % 확신 할 수는 없습니다. 나는 과거에 webmin을 가지고 놀았으므로 다시 방문하여 내가 가진 질문에 도움이되는지 확인하십시오.
user249729
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.