마 젠토 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.