it-swarm-korea.com

WordPress 설치를 어떻게 보호 할 수 있습니까?

기본 WordPress 설치를 어떻게 보호합니까?

어떤 체크리스트, 모범 사례, 팁 및 요령 등을 사용합니까?

플러그인, 타사 도구에 대한 모든 권장 사항을 환영합니다.

28
Nuno Morgadinho

실제로 wordpress 웹 사이트- Hardening WordPress 에 이것에 대한 정말 좋은 가이드가 있습니다.

그러나 내 개인적인 짧은 체크리스트는

  • mod_security [email protected]는 이미 mod_security를 ​​언급했는데 매우 좋은 단계입니다. 그러나 wordpress가 올바르게 작동하도록하려면 핵심 규칙 세트를 많이 조정해야합니다. 사용하는 플러그인에 따라 규칙 세트를 사용자 정의해야 할 수도 있습니다.
  • 파일 권한 - 여기 참조
  • SSL을 통한 관리 -관리 영역에 SSL 사용 여기 참조.
  • Update -내 생각에 가장 중요한 것은 wordpress 최신 상태로 유지합니다. 빌드 된 도구를 사용하여 수동으로 패치하거나 업데이트 스크립트를 사용하여 패치합니다 ( this one 썼습니다).
17
Mark Davidson

핵심 규칙 집합이있는 ModSecurity는 나쁘지 않지만 앱이받는 모든 입력에 대해 명시 적으로 구성하고 아웃 바운드로 보내는 이스케이프되지 않은 출력을 수정하는 것이 좋습니다. 이것은 전체 프록시 모드에서 가장 잘 작동하지만 임베디드에는 다른 고유 한 장점이 있습니다. 둘 다 사용하는 것이 현명 할 수 있습니다. 특히 Wordpress는 엄청나게 안전하지 않기 때문입니다.

5
atdre

한 단계는 Hardening Apache Server 에 대한 이전 질문에 대한 답변에 설명 된 서버 (일반적으로 Apache)를 보호하는 것입니다.

4
Eric Warriner
  1. 관리자 계정 사용자 이름을 변경합니다. 해커가 이미 귀하의 사용자 이름을 알고 있다면 이는 전투의 절반에 해당하며 귀하의 비밀번호를 추측하려고 할 것입니다.
  2. 설치 중에 WordPress 테이블 접두사를 변경하십시오.
  3. .htaccess 파일을 사용하여 IP 주소로 wp-admin 디렉토리를 잠글 수 있습니다. 이는 지정한 IP 주소 만 관리 대시 보드 URL에 액세스 할 수 있음을 의미합니다.
  4. 관리자 로그인 및 FTP 액세스를위한 강력한 암호를 설정하십시오.
2
Mena Samy

위의 훌륭한 조언 외에도 다른 제안이 있습니다. 최근에 도움이 될 수있는 Wordpress 플러그인을 게시했습니다.이를 Foresight라고 부릅니다. Wordpress 플러그인 디렉토리에서 다운로드 할 수 있습니다.

http://wordpress.org/extend/plugins/foresight/

(또한 github에서 미러링 됨 입니다.)

플러그인은 매우 간단합니다. 관리자로 로그인했을 때 사이드 바의 "도구"섹션에 "Foresight"링크를로드하기 만하면됩니다. 해당 링크를 클릭하면 일련의 탭 iframe이 표시되며, 각 iframe은 다음과 같은 인기있는 익스플로잇 트래커에서 발견 된 최신 Wordpress 익스플로잇)을 표시합니다.

이 도구는 특별히 화려하지도 않습니다. (스마트 한 관리자를위한 멍청한 도구라고 생각합니다.) 궁극적으로 iframe을로드하는 것뿐입니다. 이를 사용하려면 주기적으로로드하고 익스플로잇을 찾아보고 사용하는 Wordpress 코어 또는 플러그인에서 익스플로잇을 주시하십시오. 이러한 익스플로잇을 찾으면 다음을 수행 할 수 있습니다. 최선의 진행 방법에 대한 현명한 결정을 내립니다.

이 플러그인을 만든 이유는 최근 TimThumb 사태 이후 많은 Wordpress 관리자가 익스플로잇 추적기를 주시하지 않는다는 것이 분명해졌습니다. 제 희망은 이것이 약간 그렇게하기 쉽습니다.

1
Chris Allen Lane

내 대답도 추가하겠습니다.

보안을 강화하는 방법 (필수) :

  • [~ # ~] https [~ # ~] 사용 ( "Let 's encrypt"의 무료 SSL도 있습니다).

  • 알 수없는/공용 PC/WIFI 인터넷에서 자격 증명을 입력하지 않습니다 (즉시 인터넷이 필요한 경우 모바일에서 노트북으로 인터넷을 공유합니다).

  • 안전한 비밀번호 사용

  • 1 명의 관리자 (나 자신) 만 있고 다른 사람을 편집자로 지정하는 등 ...

  • wpvulndb.com 을 구독하면 매일 뉴스가 제공됩니다.

  • Pen-Test 플러그인 (예 : these )으로 사이트 확인.

  • Two-Way authorization 플러그인 사용.

  • Nicename & DisplayName 변경-username와 다르게 설정합니다.

  • 로그인 페이지에서 경고 비활성화 ( iThemes 플러그인 사용)

  • 무차별 대입 차단 ( iThemes 플러그인 사용)

  • wp-admin URL 변경 ( iThemes 플러그인 사용)

  • 대시 보드에서 PLUGIN/THEME 파일 수정 비활성화 ( iThemes 플러그인 사용)

  • 어떤 경우에는 IP LOGIN RESTRICTOR 플러그인을 사용합니다 (/wp-admin 영역에 페이지를 입력하려고하면 허용되지 않는 모든 IP를 차단합니다.

  • 보안 플러그인 (예 : iThemes)을 설치합니다.

  • 특정 사이트가 매우 중요하다면 보안을 위해 한 줄씩 확인한 소스 인 plugins 및 테마 ** 만 사용합니다.

  • CORE & PLUGINS & THEMES !

  • "불량 IP/봇 차단"플러그인을 사용합니다.

  • 활동을 수시로 검사하기 위해 활동 플러그인 설치.

  • 다른 국가에서 입력 한 경우 IP에 대한 로그인 기록을 확인하십시오.

  • 공용 인터넷을 사용하는 경우 로그 아웃합니다.

여전히 취약한 부분 :

  • 누군가 다음을 사용하여 양방향 인증 , wp-admin 백엔드 난독 화 또는 기타 제한을 우회 할 수 있습니다.

    • "COOKIE 무차별 대입"(사용자 비밀번호 확인 대신).

    • WordPress 앱 on Android (WP에 연결하는 방법이 있으므로 2 단계 세부 정보를 요청하지 않음)

    • JSON-API 명령 (2 단계 세부 정보 등을 요청하지 않음)

쓸모없는 "팁" :

이 중 몇 가지를 들었을 수도 있지만 쓸모가 없습니다.

  • 소스에서 wp-* 링크를 숨 깁니다 (아주 쓸모가 없습니다. 누군가가 200 HTTP 코드에 대해 example.com/wp-settings.php와 같은 파일을 확인합니다).

  • 숨기기 WordPress version/readme (누군가 사이트 소스를 확인하고 사용중인 버전을 이해할 수 있으므로 쓸모 없음)

  • 관리자 변경 username (쓸모없고, 누구나 귀하의 사용자 이름을 볼 수 있습니다 : yoursite.com/wp-json/wp/v2/users 내가 맨 위에 말한대로하지 않는 한)

1
T.Todua

iThemes 보안 플러그인 은 로그인 이름, 데이터베이스 접두사, 솔트 변경 및 관리 영역 및 로그인 페이지 변경/숨기기와 같은 작업을 수행하는 데 매우 좋습니다. 권한 확인에도 좋습니다.

내가 너무 많이 보지 못한 것은 Jetpack 플러그인을 사용하고 "보호"를 켜도 DoS 공격에 노출되는 xmlrpc.php를 보호하는 방법입니다. 이 코드는 .htaccess 또는 Apache 파일에 넣어 WordPress의 IP 범위에 의한 xmlrpc.php 액세스 만 허용합니다.

<files xmlrpc.php="">
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Satisfy All
ErrorDocument 403 http://127.0.0.1/
</files>

바라건대 이것은 도움이되거나 누군가 xmlrpc.php를 보호하는 더 나은 방법을 알고 있습니까?

0
sdexp

이 주제에 대한 수백 개의 기사 가 있습니다. 다음 기사를 읽으십시오.

감당할 수 있다면 전용 서버를 임대하여 귀하와 동일한 상자에 호스팅 된 다른 손상된 웹 사이트가 영향을받지 않도록하십시오. 웹 사이트가 안전한지 확인하기 위해 가능한 모든 작업을 수행 할 수 있지만 호스트가 오래된 버전의 Apache 또는 Linux를 사용하는 경우 그 자체만으로도 죽음이 될 수 있습니다.

플러그인에 대한 체크섬 및/또는 코드 검토를 정기적으로 수행하십시오. 해커가 플러그인에 쉘 코드를 삽입하는 것이 일반적입니다. 예상하지 못하거나 찾을 수없고 플러그인이 실행될 때마다 실행되기 때문입니다. 설치 여부를 확인할 수없는 플러그인이 있으면 제거하십시오. 플러그인이 마지막으로 수정 된 날짜도 주시하고 플러그인에 대한 각 수정 사항을 문서화하십시오.

암호를 저장해야하는 경우 안전하게 저장하십시오. 사용자 별 솔트와 함께 강력한 해싱 알고리즘을 사용합니다 (두 솔트가 동일하지 않아야 함). 사용자 솔트 (저장된 경우)는 별도의 데이터베이스에 있어야합니다. 안전한 방식으로 암호를 저장하는 방법에 대한 이 기사 (OSWASP)를 읽으십시오.

데이터베이스와 관련하여 최소 권한 규칙을 사용하십시오. 사용자 자격 증명이 올바른지 확인하는 데 루트 권한이 필요하지 않습니다.

모든 사용자 입력에 대해 유효성 검사를 수행해야합니다. 검색, 등록 필드 등의 경우 이것은 간단 할 것입니다. 댓글/답장은 그리 많지 않습니다. 유효한 입력의 화이트리스트를 설정하고 다른 모든 것을 제한하십시오. 예를 들어, 등록 페이지에서 사용자 이름 필드에 a-z, A-Z 및 0-9 외에 다른 것을 허용 할 이유가 없습니다. 다른 모든 것은 명시 적으로 제한되어야합니다. 내 경험상 웹 사이트에 침입하는 가장 쉬운 방법 (Wordpress 여부)은 무능한 유효성 검사를 이용하는 것입니다. 화이트리스트와 캐릭터 이스케이프를 활용하세요.

모든 공격 벡터를 고려하십시오. Wordpress 설치 만하는 경우 보안은 비교적 쉽습니다. 그러나 향후 추가 플러그인 및 응용 프로그램 (포럼, 전자 상거래, 분석 등)을 설치할 수 있습니다. 그런 다음 최신 상태로 유지되고 안전한 암호가 있는지 확인해야합니다.

사용자가 잠기기 전에 시도 할 수있는 로그인 시도 횟수를 제한합니다. 개인적으로 저는 " Limit Login Attempts "라는 적절한 이름을 사용하지만 Login Lockdown 과 같이 꽤 많이 있습니다. 어떤 사람들은 로그인 페이지에서 CAPTCHA를 사용하기도합니다. 이는 선호도의 문제입니다. 이것은 무차별 대입 공격 (이미 열악한 침투 방법)의 성공 가능성을 크게 줄입니다. 선택적 로깅도 활성화합니다.

추가 정보가 필요하면 언제든지 저에게 연락하십시오. 추가 할 것이 더 많았지 만 에너지를 절약하기 위해 제거하기로 결정했습니다.)

0
Fairlight

자체 감사의 경우 plecost 관심이있을 수 있습니다.

매우 포괄적 인 전술 및 전략 목록을 보려면 http://codex.wordpress.org/Hardening_WordPress 를 확인하십시오. 귀하의 질문에 대한 다른 답변에는 비슷하게 유용한 링크가 있습니다. 적절한 보장이 있다고 느낄 때까지 차례로 하나씩 살펴보십시오.

또한 어떤 플러그인을 설치하고 얼마나 많이 설치하는지 잘 알고 있어야합니다. WordPress는 지속적으로 개발되고 피어 리뷰를 받고 있지만, 이러한 플러그인 중 상당수는 동일하지 않습니다. 각 플러그인은 보안 위험을 나타내므로 유지 관리해야합니다.

0
chao-mu