WordPress 블로그의 보안을 개선하는 방법

게시 됨: 2022-02-26

WordPress는 인터넷에서 가장 인기 있는 자체 호스팅 콘텐츠 관리 시스템(CMS)이므로 Microsoft Windows와 마찬가지로 가장 인기 있는 공격 대상이기도 합니다. 이 소프트웨어는 Github에서 호스팅되는 오픈 소스이며 해커는 항상 다른 WordPress 사이트에 액세스하기 위해 악용될 수 있는 버그와 취약점을 찾고 있습니다.

워드프레스 WordPress 설치를 안전하게 유지하기 위해 할 수 있는 최소한의 일은 항상 최신 버전의 WordPress.org 소프트웨어를 실행하고 다양한 테마와 플러그인을 업데이트하는 것입니다. 다음은 WordPress 블로그의 보안을 개선하기 위해 할 수 있는 몇 가지 다른 작업입니다.

#1. WordPress 계정으로 로그인

WordPress 블로그를 설치할 때 기본적으로 첫 번째 사용자는 "admin"이라고 합니다. WordPress 블로그를 관리하려면 다른 사용자를 생성하고 "admin" 사용자를 제거하거나 역할을 "administrator"에서 "subscriber"로 변경해야 합니다.

완전히 임의의(추측하기 어려운) 사용자 이름을 만들거나 더 나은 대안은 Jetpack으로 싱글 사인온을 활성화하고 WordPress.com 계정을 사용하여 자체 호스팅 WordPress 블로그에 로그인하는 것입니다.

#2. 당신의 워드프레스 버전을 세상에 알리지 마세요

WordPress 사이트는 항상 버전 번호를 게시하므로 사람들이 이전 버전의 패치되지 않은 WordPress를 실행 중인지 쉽게 확인할 수 있습니다.

페이지에서 WordPress 버전을 제거하는 것은 쉽지만 한 번 더 변경해야 합니다. WordPress 설치 디렉토리에서 readme.html 파일을 삭제하십시오. 이 파일은 WordPress 버전을 세상에 알리기도 합니다.

#삼. 다른 사람이 WordPress 디렉토리에 "쓰기"를 허용하지 마십시오.

WordPress Linux 셸에 로그인하고 다음 명령을 실행하여 다른 사용자가 파일을 쓸 수 있는 모든 "열린" 디렉토리 목록을 가져옵니다.

찾기 . -유형 d -perm -o=w

셸에서 다음 두 명령을 실행하여 모든 WordPress 파일 및 폴더(참조)에 대한 올바른 권한을 설정할 수도 있습니다.

/your/wordpress/folder/ 찾기 -type d -exec chmod 755 {} \; /your/wordpress/folder/ 찾기 -type f -exec chmod 644 {} \;

디렉토리의 경우 755(rwxr-xr-x)는 소유자에게만 쓰기 권한이 있고 다른 사용자에게는 읽기 및 실행 권한이 있음을 의미합니다. 파일의 경우 644(rw-r—r—)는 파일 소유자가 읽기 및 쓰기 권한이 있는 반면 다른 소유자는 파일을 읽을 수만 있음을 의미합니다.

#4. WordPress 테이블 접두사 이름 바꾸기

기본 옵션을 사용하여 WordPress를 설치한 경우 WordPress 테이블에는 wp posts 또는 wp_users와 같은 이름이 있습니다. 따라서 테이블의 접두사(wp)를 임의의 값으로 변경하는 것이 좋습니다 . DB 접두사 변경 플러그인을 사용하면 클릭 한 번으로 테이블 접두사의 이름을 다른 문자열로 바꿀 수 있습니다.

#5. 사용자가 WordPress 디렉토리를 탐색하지 못하도록 방지

이것은 중요하다. WordPress 루트 디렉터리에서 .htaccess 파일을 열고 맨 위에 다음 줄을 추가합니다.

옵션 - 인덱스

기본 index.html 또는 index.php 파일이 해당 디렉토리에 없는 경우 외부 세계가 디렉토리에서 사용 가능한 파일 목록을 보는 것을 방지합니다.

#6. WordPress 보안 키 업데이트

여기로 이동하여 WordPress 블로그에 대한 6개의 보안 키를 생성하십시오. WordPress 디렉토리에서 wp-config.php 파일을 열고 기본 키를 새 키로 덮어씁니다.

이러한 임의의 소금은 저장된 WordPress 암호를 더 안전하게 만들고 다른 이점은 누군가가 사용자 모르게 WordPress에 로그인하면 쿠키가 이제 무효화되므로 즉시 로그아웃된다는 것입니다.

#7. WordPress PHP 및 데이터베이스 오류 로그 유지

오류 로그는 때때로 어떤 종류의 잘못된 데이터베이스 쿼리 및 파일 요청이 WordPress 설치에 영향을 미치는지에 대한 강력한 힌트를 제공할 수 있습니다. 나는 Error Log Monitor가 주기적으로 이메일로 오류 로그를 보내고 WordPress 대시보드 내부에 위젯으로 표시하기 때문에 오류 로그 모니터를 선호합니다.

WordPress에서 오류 로깅을 활성화하려면 wp-config.php 파일에 다음 코드를 추가하고 /path/to/error.log를 로그 파일의 실제 경로로 바꾸는 것을 잊지 마십시오. error.log 파일은 브라우저(참조)에서 액세스할 수 없는 폴더에 있어야 합니다.

정의('WP_DEBUG', 참); if (WP_DEBUG) { 정의('WP_DEBUG_DISPLAY', 거짓); @ini_set('log_errors', '켜기'); @ini_set('디스플레이 오류', '해제'); @ini_set('error_log', '/경로/to/error.log'); }

#9. 관리자 대시보드를 비밀번호로 보호

이 영역의 파일은 공용 WordPress 웹사이트를 방문하는 사람들을 위한 것이 아니기 때문에 항상 WordPress의 wp-admin 폴더를 암호로 보호하는 것이 좋습니다. 일단 보호되면 승인된 사용자라도 WordPress 관리 대시보드에 로그인하기 위해 두 개의 비밀번호를 입력해야 합니다.

10. WordPress 서버에서 로그인 활동 추적

Linux에서 "last -i" 명령을 사용하여 IP 주소와 함께 WordPress 서버에 로그인한 모든 사용자 목록을 얻을 수 있습니다. 이 목록에서 알 수 없는 IP 주소를 찾으면 비밀번호를 변경할 때입니다.

또한 다음 명령은 IP 주소별로 그룹화된 장기간의 사용자 로그인 활동을 표시합니다(USERNAME을 쉘 사용자 이름으로 대체).

마지막 -if /var/log/wtmp.1 | grep 사용자 이름 | awk '{인쇄 $3}' | 정렬 | 유니크 -c

플러그인으로 WordPress 모니터링

WordPress.org 저장소에는 침입 및 기타 의심스러운 활동에 대해 WordPress 사이트를 지속적으로 모니터링하는 몇 가지 우수한 보안 관련 플러그인이 포함되어 있습니다. 다음은 제가 추천하고 싶은 필수 항목입니다.

  1. Exploit Scanner - 모든 WordPress 파일과 블로그 게시물을 빠르게 스캔하고 악성 코드가 있을 수 있는 항목을 나열합니다. 스팸 링크는 CSS 또는 IFRAMES를 사용하여 WordPress 블로그 게시물에 숨겨져 있을 수 있으며 플러그인도 이를 감지합니다.
  2. WordFence 보안 - 이것은 당신이 가지고 있어야 할 매우 강력한 보안 플러그인입니다. WordPress 코어 파일을 저장소의 원본 파일과 비교하여 수정 사항을 즉시 감지합니다. 또한 플러그인은 로그인 시도가 'n'번 실패하면 사용자를 잠급니다.
  3. WP Notifier - WordPress 관리 대시보드에 너무 자주 로그인하지 않는 경우 이 플러그인이 적합합니다. 설치된 테마, 플러그인 및 핵심 WordPress에 대한 새로운 업데이트가 있을 때마다 이메일 알림을 보내드립니다.
  4. VIP 스캐너 - "공식" 보안 플러그인이 WordPress 테마에 문제가 있는지 검사합니다. 또한 WordPress 템플릿에 삽입되었을 수 있는 모든 광고 코드를 감지합니다.
  5. Sucuri Security - 핵심 파일에 대한 변경 사항이 있는지 WordPress를 모니터링하고 파일 또는 게시물이 업데이트될 때 이메일 알림을 보내고 실패한 로그인을 포함한 사용자 로그인 활동 로그를 유지 관리합니다.

팁: 다음 Linux 명령을 사용하여 지난 3일 동안 수정된 모든 파일 목록을 가져올 수도 있습니다. "n"분 전에 수정된 파일을 보려면 mtime을 mmin으로 변경합니다.

찾기 . -유형 f -mtime -3 | grep -v "/메일 디렉토리/" | grep -v "/로그/"

WordPress 로그인 페이지 보호

WordPress 로그인 페이지는 전 세계에서 액세스할 수 있지만 승인되지 않은 사용자가 WordPress에 로그인하는 것을 방지하려면 세 가지 선택이 있습니다.

  1. .htaccess로 암호 보호 - 여기에는 일반 WordPress 자격 증명 외에 사용자 이름과 암호로 WordPress의 wp-admin 폴더를 보호하는 작업이 포함됩니다.
  2. Google Authenticator - 이 우수한 플러그인은 Google 계정과 유사한 WordPress 블로그에 2단계 인증을 추가합니다. 비밀번호와 휴대폰에서 생성된 시간 종속 코드를 입력해야 합니다.
  3. 암호 없는 로그인 - Clef 플러그인을 사용하여 QR 코드를 스캔하여 WordPress 웹사이트에 로그인하면 휴대폰 자체로 원격으로 세션을 종료할 수 있습니다.

참조: 필수 WordPress 플러그인