OpenEMR에서 Patient Portal 설정을 바꿀때 나타난 Wordfence에러 다루는법 OpenEMR Patient Portal setting change Error with Wordfence

 



Wordfence WAF 설정 파일 편집과 IP 화이트리스트 추가

1. 시작하며

WordPress에서 OpenEMR을 운영할 때, 환자 포털 설정 중 Wordfence라는 보안 플러그인의 WAF(Web Application Firewall)가 ‘위험한 요청’으로 감지하여 관리자 설정이 차단되는 문제가 발생했습니다. 이 문서는 Wordfence WAF 설정 파일을 찾아 편집하고, 관리자 IP를 화이트리스트에 추가하는 과정을 단계별로 정리한 가이드입니다.


2. 문제 원인 확인

  • Wordfence WAF가 자동으로 로드되는 wordfence-waf.php 파일을 통해 모든 요청을 감시합니다.

  • 예상 위치인 wp-content/plugins/wordfence/waf/wordfence-waf.php가 아닌, 실제로는 wp-content/wordfence-waf.php가 서버에 먼저 불려서 실행되고 있었습니다.

  • 이 파일 내에 관리자의 IP가 등록되어 있지 않아, 설정 변경 등의 요청이 차단된 것입니다.


3. 해결 과정

  1. 실제 WAF 파일 위치 확인

    • cPanel의 File Manager에서 public_html/wp-content/wordfence-waf.php 파일을 찾습니다.

    • 이 파일이 auto_prepend_file 설정으로 항상 먼저 실행됩니다.

  2. 화이트리스트 코드 추가
    wordfence-waf.php 파일을 에디터에서 열고, 맨 위에 다음 코드를 추가하세요:

    <?php
    // 관리할 IP를 화이트리스트에 등록 (콤마로 구분 가능)
    define('WORDFENCE_WHITELISTED_IPS',
        '111.222.33.44,55.66.77.88'
    );
    
    • 쉼표로 여러 개 IP를 나열할 수 있습니다.

    • CIDR(예: 192.168.0.0/24) 표기도 지원됩니다.

  3. WAF 파일이 제대로 로드되는지 확인

    • PHP 설정 확인: cPanel → Select PHP VersionOptionsauto_prepend_file 항목에 wp-content/wordfence-waf.php 경로가 있는지 확인하세요.

    • 파일 인코딩 확인: 파일에 UTF-8 BOM이 붙어 있으면 코드 실행이 안 될 수 있습니다. UTF-8 without BOM으로 저장해 보세요.

    • 파일 권한 확인: wordfence-waf.php 파일 권한이 최소 644로 설정되어 있어야 웹서버가 읽을 수 있습니다.

  4. 관리자 IP 확인 방법

    • 웹 검색: 브라우저에서 "내 IP" 또는 "what is my ip" 검색

    • cPanel: 대시보드 또는 Server Information에서 "Your IP Address" 확인

    • PHP 스크립트:

      <?php
      echo $_SERVER['REMOTE_ADDR'];
      

      파일로 저장 후 웹에서 실행

  5. 변경 사항 적용 및 테스트

    • 브라우저 캐시와 쿠키를 삭제합니다.

    • 관리자 메뉴에서 차단되던 동작(설정 저장 등)을 다시 시도하여 정상 동작 여부를 확인합니다.

  6. Wordfence 재활성화 및 로그 확인

    • WordPress 관리자에서 Wordfence 플러그인을 다시 활성화(Activate)합니다.

    • Firewall 모드를 원하는 수준(예: "Enabled and Learning")으로 설정합니다.

    • 로그 파일을 검토하여 오류가 없는지 확인합니다:

      • 워드프레스 디버그 로그: wp-content/debug.log

      • OpenEMR 로그: sites/default/logs/


Q&A: 주요 질문

Q1. wordfence-waf.php 파일 위치가 예상과 다를 때는?

  • 서버 설정에 따라 wp-content/wordfence-waf.php에 실제 WAF 코드가 있을 수 있습니다. 이 파일을 찾아 편집해야 효과를 볼 수 있습니다.

Q2. 여러 IP를 등록하려면 어떻게 하나요?

  • define('WORDFENCE_WHITELISTED_IPS', 'IP1,IP2,IP3'); 형태로 쉼표로 구분해 나열합니다.

Q3. CIDR 형식으로도 등록할 수 있나요?

  • 네, 192.168.0.0/24 같은 CIDR 범위 표기도 가능합니다.

Q4. 설정 후에도 차단된다면 어디를 확인해야 하나요?

  • Wordfence 방화벽 모드(Firewall Mode) 설정과 auto_prepend_file 경로를 다시 확인하세요.

  • 로그 파일(debug.log, OpenEMR 로그)을 검토해 실패 원인을 찾습니다.


마무리

이 가이드를 따르면 Wordfence WAF 차단 없이 필요한 관리자 설정을 안전하게 변경할 수 있습니다. 주요 파일 위치 확인과 IP 화이트리스트 추가, 재활성화, 로그 검토까지 한 번에 해결하는 방법을 담았습니다.

Comments

Popular posts from this blog

The Best Natural Ways to Lower Blood Pressure Quickly 🌿

How to Determine the Right Exercise Intensity: Maximum Heart Rate and Target Heart Rate Zones

Medications That Can Dry Out Your Body's Fluids: What to Watch For and How to Handle It