마 젠토 2 :“웹 서버가 잘못 설정되어 중요한 파일에 대한 무단 액세스를 허용합니다. 호스팅 제공 업체에 문의하십시오”


18

Magento 2 개발 환경에서 다음과 같은 오류 메시지가 나타납니다.

웹 서버가 잘못 설정되어 중요한 파일에 무단으로 액세스 할 수 있습니다. 호스팅 제공 업체에 문의하십시오

누구든지 추적 했습니까

  1. 어떤 보안 점검이 진행되고 있습니까?
  2. 핵심 코드에서 이러한 검사는 어디서 발생합니까?

U의 2 버전을 알려주세요.
Amit Bera

개별 패키지 인 작곡가 저장소와 @AmitBera 정말 있는지 확인하는 방법을 아니에요
앨런 스톰

1
@AlanStorm,이 메시지는 Magento\AdminNotification\Model\System\Message\Security수업 에서 나왔습니다 . 어떤 상황이이 메시지를 받았습니까?
Bojjaiah

@magentotwo 백엔드에 로그인했을 때
Alan Storm

답변:


12

이 검사는 누구나 app/etc/*파일에 액세스 할 수 있음을 나타 냅니다. 예를 들어 app/etc/env.php자격 증명을 DB, 암호화 키 및 기타 리소스에 저장 하는 파일입니다.

더 나은 솔루션은 대부분의 설치 문서에 지정된대로 pub기본 설치 디렉토리 대신 웹 루트로 폴더 를 구성하는 것 magento2입니다. 이렇게하면 전반적인 보안이 향상되고 문제가 해결됩니다. 다른 Apache / Nginx 위치 정의도 편집하십시오. Nginx에 들어, $MAGE_ROOT지시어는해야한다 /var/www/example.com/magento2/pub, 그래서 당신해야 root지시어. 변경 한 후에도 캐시를 비우십시오. 그렇지 않으면 이미지 및 CSS 파일이 손상됩니다 (시스템-> 도구-> 캐시 관리-> Magento 캐시 비우기).

\Magento\AdminNotification\Model\System\Message\Security이 기능을 담당합니다. _isFileAccessible방법을 참조하십시오 .

마 젠토 매장의 위험이 있습니다.


3

Apache를 사용하는 경우 폴더에 .htaccessmagento에 포함 된 파일이 /app/웹 서버에 있고 Apache가 .htaccess 파일을 사용하여 폴더 당 설정을 대체하도록 구성 되어 있는지 확인하십시오 . 그러나이 파일은 기본적으로 활성화되어 있어야합니다.

이 파일의 내용은 다음과 같습니다.

<IfVersion < 2.4>
    order allow,deny
    deny from all
</IfVersion>
<IfVersion >= 2.4>
    Require all denied
</IfVersion>

1

시스템 메시지이며이 메시지는 getText() class class 메소드에서 온 것 Magento\AdminNotification\Model\System\Message\Security입니다.

관리자 패널을 열면 컨트롤러가 모든 알림과 관련 보안을 확인합니다.

execute()메소드에서 디버그 할 수 있습니다 Magento\AdminNotification\Controller\Adminhtml\System\Message\ListAction.php.


유용한 정보이지만 내가 요청한 것은 아닙니다. Magento의 일부 코드는 일부 시스템 테스트를 명확하게 실행하고 해당 메시지를 추가했습니다. 그 시스템 테스트가 어디에 있는지 알고 싶습니다.
Alan Storm

1

MAGENTO 2 Centos 7 서버

"웹 서버가 잘못 설정되어 중요한 파일에 대한 무단 액세스를 허용합니다. 호스팅 제공 업체에 문의하십시오"메시지를 수정하려면

1) ### shh- 루트 계정에서 다음 명령을 실행하십시오. ###

chown -R accountuser:accountusergroup /path-to-root-folderl/

2) ### ssh-도메인 계정 사용자 (아파치와 같은 웹 서버 계정이 아님)에서 다음 명령을 실행하십시오. ###

find . -type d -exec chmod 770 {} \; & find . -type f -exec chmod 660 {} \; && chmod u+x bin/magento

chmod -R g+w /path-to-root-folderl/{pub,var} chmod -R g+w /path-to-root-folderl/{app/etc,vendor} chmod -R g+s pub/static pub/media . find var/generation -type d -exec chmod g+s {} \; find var/session -type d -exec chmod g+s {} \;

3) ### ssh-루트 계정에서 다음 명령을 실행하십시오. ###

chown -R domain_account_user:webservergroup /path-to-root-folderl/var chown -R domain_account_user:webservergroup /path-to-root-folder/app/etc chown -R domain_account_user:webservergroup /path-to-root-folderl/pub chown -R webserverUSER:webservergroup /path-to-root-folder/var/session

이 오류와 다른 많은 오류가 수정됩니다. 참고 : magento 2를 사용할 때 SUPHP를 비활성화하면 많은 두통을 피할 수 있습니다. 현재 나는 ea-apache24-mod_cgid 및 PHP 7 및 ea-php70-php-fpm으로 mod_mpm_event를 실행하고 있습니다.

PHP-FPM을 추가하기 전에 ea-apache24-mod_cgid 및 PHP 7과 함께 mod_mpm_event로 magento 2를 실행했습니다.

cpanel / apache를 실행 중이고 easyapache를 사용하여 mod_mpm_event + ea-apache24-mod_cgid로 이동하지 않으려면 ssh에서 shell을 사용할 수 있습니다. ssh에서 다음 명령을 실행하십시오. yum shell remove ea-apache24-mod_mpm_worker remove ea-apache24-mod_cgi 제거 ea-apache24-mod_mpm_event 설치 ea-apache24-mod_cgid 실행 종료


일부 호스팅 환경에서만 작동합니다 .. 다른 사람에게는 정말 나쁜 생각 일 수 있습니다.
Andy

1

내 경우에는 default저장소보기가 비활성화 되어 문제가 발생했습니다 . 보안 검사가 수행되는 동안 Magento\AdminNotification\Model\System\Message\Security클래스는 app/etc/config.php파일 을 다운로드하려고 시도했지만 예외가 발생하여 ( Fatal error: Uncaught Magento\Framework\Exception\NoSuchEntityException: Default store is inactive) 응답 코드를 200으로 변환했습니다 (일반적으로 404). 따라서 시스템은 파일에 액세스 할 수 있다고 생각했는데 이는 보안 문제를 의미합니다.

그냥 수 있도록 default이 문제를 해결하기 위해 매장보기.


1

한 가지 쉬운 해결책은 nginx를 사용하지 않는 경우 magento 설치의 루트 디렉토리에서 nginx.conf 파일의 이름을 'nginx.conf.sample'로 바꾸는 것입니다. 이것은 나를 위해 일했고 Magento Admin에서 경고 메시지가 사라졌습니다.


0

내가 생각하는 디렉토리 및 파일 권한 문제입니다. 디렉토리 0644와 파일에 0755와 같은 적절한 권한을 부여하십시오. 문제가 해결되지 않으면 .htaccess 파일도 확인하십시오.


유용한 정보이지만 내가 요청한 정보는 아닙니다. Magento 핵심 코드베이스에서 이러한 검사가 수행되는 위치를 알고 싶습니다.
Alan Storm

0

이 테스트는 수업 내부에 있으며 Magento\AdminNotification\Model\System\Message\Security공지 텍스트는에서 제공됩니다 function getText(). magento는 app/etc/*파일 의 액세스 가능성을 확인하고 그에 따라 관리자 패널에 경고를 표시 한다고 생각합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.