콘텐츠로 건너뛰기

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁)

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

WordPress SQL 주입 공격을 방지하시겠습니까?

SQL 주입은 해커가 웹사이트 데이터베이스를 공격하는 데 사용할 수 있는 보안 취약점입니다. 그렇게 하면 공격자는 민감한 데이터를 읽고 수정하고 전체 데이터베이스를 제어할 수 있습니다.

이 글에서는 WordPress에서 SQL 주입 공격을 예방하기 위한 몇 가지 실행 가능한 팁을 단계별로 공유하겠습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

WordPress SQL 주입 공격을 방지하는 이유는 무엇입니까?

SQL은 WordPress 사이트의 데이터베이스와 통신하는 프로그래밍 언어인 구조적 쿼리 언어(Structured Query Language)를 나타냅니다. 이 기능이 없으면 사이트에서 동적 콘텐츠를 생성할 수 없습니다.

그러나 승인되지 않은 사용자 입력, 오래된 소프트웨어 또는 민감한 정보 공개로 인해 보안 취약점이 발생하고 해커가 SQL 주입 공격을 쉽게 수행할 수 있습니다.

이 공격은 데이터베이스 서버를 대상으로 하며 SQL에 악성 코드나 명령문을 추가합니다. 이를 통해 해커는 신원 도용, 계정 탈취, 금융 사기 등을 위해 사용자 데이터와 같이 데이터베이스에 저장된 민감한 정보를 사용할 수 있습니다.

또한 데이터베이스 항목이나 계정 권한을 변경하고 DDOS 공격을 수행하여 실제 사용자가 웹사이트를 방문하기 어렵게 만들 수도 있습니다.

이는 고객의 신뢰를 손상시키고 사용자 경험에 부정적인 영향을 미치며 웹사이트 트래픽을 감소시켜 중소기업 성장에 좋지 않은 영향을 미칠 수 있습니다.

그렇다면 WordPress에서 SQL 주입 공격을 예방할 수 있는 몇 가지 실행 가능한 팁을 살펴보겠습니다.

메모: 예방 조치를 위해 데이터베이스를 변경하기 전에 해당 데이터베이스에 대한 백업을 생성하는 것이 좋습니다. 이렇게 하면 문제가 발생하면 백업을 사용하여 문제를 해결할 수 있습니다. 자세한 내용은 WordPress 데이터베이스 백업을 수동으로 만드는 방법에 대한 튜토리얼을 참조하세요.

1. 정기적으로 사이트 업데이트를 수행하고 방화벽을 사용하십시오.

SQL 주입 공격을 방지하는 효과적인 방법은 정기적으로 WordPress 사이트를 최신 버전으로 업데이트하는 것입니다. 이러한 업데이트는 종종 데이터베이스 소프트웨어 문제를 포함한 보안 취약성을 패치하여 해커가 사이트를 공격하기 어렵게 만듭니다.

오래된 버전의 WordPress를 사용하는 경우 다음을 방문하여 최신 버전에 대한 자동 업데이트를 활성화하는 것이 좋습니다. 대시보드 » 업데이트 페이지.

여기에서 ‘모든 새 버전의 WordPress에 대해 자동 업데이트 활성화’ 링크를 클릭하기만 하면 됩니다. 이제 모든 주요 업데이트가 출시되면 사이트에 설치됩니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

자세한 내용은 WordPress를 안전하게 업데이트하는 방법에 대한 초보자 가이드를 참조하세요.

이 작업을 완료한 후에는 추가 보안을 위해 방화벽을 추가할 수도 있습니다. 이 기능은 귀하의 사이트와 들어오는 트래픽 사이의 보호막 역할을 하며 SQL 공격을 포함한 일반적인 보안 위협이 귀하의 웹 사이트에 도달하기 전에 차단합니다.

이 기능을 위해서는 시중 최고의 WordPress 방화벽 소프트웨어인 Sucuri를 권장합니다. 애플리케이션 수준 방화벽, 무차별 대입 방지, 맬웨어 및 블랙리스트 제거 서비스를 제공하므로 탁월한 선택입니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

또한 이 도구는 과거에 우리 웹사이트에서 발생한 약 450,000건의 WordPress 공격을 차단하는 데 도움이 되었습니다.

자세한 내용은 전체 WordPress 보안 가이드를 참조하세요.

2. WordPress 버전 숨기기

기본적으로 WordPress에는 웹 사이트에서 사용하는 소프트웨어의 현재 버전 번호가 표시됩니다. 예를 들어 WordPress 6.4를 사용하는 경우 추적을 위해 이 버전이 사이트에 표시됩니다.

그러나 버전 번호가 공개적으로 공개되면 보안 위협이 발생할 수 있으며 해커가 WordPress SQL 주입 공격을 더 쉽게 수행할 수 있습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

WordPress의 각 버전에는 공격자가 버전을 발견한 후 악용할 수 있는 고유한 취약점이 있기 때문입니다. 이를 통해 공격자는 취약한 입력 필드를 통해 귀하의 사이트에 악성 코드 조각을 추가할 수 있습니다.

다음 코드 조각을 function.php 파일에 추가하면 사이트에서 버전 번호를 쉽게 제거할 수 있습니다.

add_filter('the_generator', '__return_empty_string');

그렇게 하면 해커는 자동 스캐너나 다른 방법을 통해 WordPress 버전 번호를 찾을 수 없습니다.

메모: 코드를 추가하는 동안 사소한 오류가 발생하면 웹사이트에 액세스할 수 없게 될 수 있다는 점을 명심하세요. 이것이 바로 우리가 WPCode를 추천하는 이유입니다. 귀하의 사이트에 사용자 정의 코드를 매우 안전하고 쉽게 추가할 수 있게 해주는 최고의 코드 조각 플러그인입니다.

자세한 내용은 WordPress 버전 번호를 제거하는 올바른 방법에 대한 튜토리얼을 참조하세요.

3. WordPress 데이터베이스 접두사 변경

기본적으로 WordPress는 접두사를 추가합니다. wp_ 해커가 접두사를 대상으로 공격을 계획하기 쉽게 만듭니다.

SQL 주입 공격을 방지하는 가장 쉬운 방법은 기본 데이터베이스 접두사를 해커가 추측할 수 없는 고유한 것으로 변경하는 것입니다.

FTP를 사용하여 웹사이트를 연결하면 쉽게 이 작업을 수행할 수 있습니다. 그런 다음 wp-config.php 파일을 열고 변경 사항을 찾으십시오. $table_prefix 선. 그런 다음 간단히 기본값에서 변경할 수 있습니다. wp_ 이와 같은 다른 것 : wp_a123456_.

$table_prefix  = 'wp_a123456_';

다음으로 웹 호스팅 계정의 cPanel을 방문해야 합니다. 이 튜토리얼에서는 Bluehost를 사용하지만 cPanel은 웹 호스팅 회사에 따라 약간 다르게 보일 수 있습니다.

여기에서 ‘고급’ 탭으로 전환하고 ‘PHPMyAdmin’ 섹션 옆에 있는 ‘관리’ 버튼을 클릭하세요.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

그러면 왼쪽 열에서 데이터베이스 이름을 선택하고 상단에서 ‘SQL’ 탭으로 전환해야 하는 새 페이지가 열립니다.

그런 다음 텍스트 상자에 다음 SQL 쿼리를 추가할 수 있습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

wp-config.php 파일을 편집할 때 선택한 데이터베이스 접두사를 변경하는 것을 명심하세요.

RENAME table `wp_comments` TO `wp_a123456_comments`;
RENAME table `wp_links` TO `wp_a123456_links`;
RENAME table `wp_options` TO `wp_a123456_options`;
RENAME table `wp_postmeta` TO `wp_a123456_postmeta`;
RENAME table `wp_RENAME table `wp_commentmeta` TO `wp_a123456_commentmeta`;
posts` TO `wp_a123456_posts`;
RENAME table `wp_terms` TO `wp_a123456_terms`;
RENAME table `wp_termmeta` TO `wp_a123456_termmeta`;
RENAME table `wp_term_relationships` TO `wp_a123456_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_a123456_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_a123456_usermeta`;
RENAME table `wp_users` TO `wp_a123456_users`;

자세한 지침은 WordPress 데이터베이스 접두사를 변경하여 보안을 강화하는 방법에 대한 튜토리얼을 참조하세요.

4. 사용자 데이터 유효성 검사

해커는 일반적으로 댓글 섹션이나 연락처 양식의 양식 필드와 같은 사용자 데이터를 입력하는 데 사용되는 필드를 사용하여 웹 사이트에 SQL 공격을 주입합니다.

그렇기 때문에 WordPress 블로그에 제출되는 모든 데이터의 유효성을 검사하는 것이 중요합니다. 즉, 사용자 데이터가 특정 형식을 따르지 않으면 사이트에 제출되지 않습니다.

예를 들어, 이메일 주소 필드에 ‘@’ 기호가 없으면 사용자는 양식을 제출할 수 없습니다. 대부분의 양식 필드에 이 유효성 검사를 추가하면 SQL 주입 공격을 예방할 수 있습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

이렇게 하려면 고급 양식 작성기 플러그인인 Formidable Forms가 필요합니다. 사용자가 양식 필드 데이터를 제출하기 위해 따라야 하는 형식을 추가할 수 있는 ‘입력 마스크 형식’ 옵션이 함께 제공됩니다.

전화번호 또는 단일 텍스트 필드에 특정 형식을 추가할 수 있습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

양식 필드의 유효성을 검사하지 않으려면 완전한 스팸 방지 및 Google reCAPTCHA 지원이 함께 제공되는 최고의 문의 양식 플러그인인 WPForms를 권장합니다.

양식에 드롭다운 메뉴와 체크박스를 추가할 수도 있습니다. 이렇게 하면 해커가 악성 데이터를 추가하는 것이 어려워집니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

자세한 내용은 WordPress에서 보안 문의 양식을 만드는 방법에 대한 튜토리얼을 참조하세요.

5. 사용자 역할 액세스 및 권한 제한

WordPress SQL 주입 공격을 방지하는 또 다른 팁은 웹 사이트에 대한 사용자 액세스를 제한하는 것입니다.

예를 들어, 작성자가 여러 명인 블로그의 경우 구독자 및 관리자와 함께 다양한 작성자가 있게 됩니다. 이 경우 전체 관리자 액세스 권한을 관리자에게만 제한하여 사이트 보안을 강화할 수 있습니다.

다른 모든 사용자 역할을 해당 작업을 수행하는 데 필요한 특정 기능으로 제한할 수 있습니다. 이렇게 하면 데이터베이스에 대한 사용자 액세스가 줄어들고 SQL 삽입 공격이 방지됩니다.

무료 대시보드 액세스 제거 플러그인을 사용하면 이 작업을 수행할 수 있습니다. 활성화 후 다음을 방문하세요. 설정 » 대시보드 액세스 대시보드에 액세스할 수 있는 사용자 역할을 결정할 수 있는 페이지입니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

기능에 따라 사용자를 제한하려면 WordPress의 사용자 역할에서 기능을 추가하거나 제거하는 방법에 대한 튜토리얼을 참조하세요.

마찬가지로 보안 강화를 위해 관리자 영역에서 작성자를 자신의 게시물로 제한할 수도 있습니다.

6. 사용자 정의 데이터베이스 오류 메시지 생성

때때로 사용자는 웹 사이트에서 데이터베이스 오류를 발견할 수 있으며, 이로 인해 데이터베이스에 대한 중요한 정보가 표시되어 SQL 주입 공격에 취약해질 수 있습니다.

이 경우, 이 일반적인 오류가 발생할 때 사용자에게 표시될 사용자 정의 데이터베이스 오류 메시지를 생성하는 것이 좋습니다. 그러기 위해서는 다음 내용을 복사하여 메모장 앱에 붙여넣고 파일을 ‘db-error.php’로 저장해야 합니다.

<?php // custom WordPress database error page
   
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds
   
  // If you wish to email yourself upon an error
  // mail("[email protected]", "Database Error", "There is a problem with the database!", "From: Db Error Watching");
   
?>
   
<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>

그런 다음 사이트를 FTP 프로그램에 연결하고 방금 만든 파일을 사이트의 /wp-content/ 디렉터리에 업로드하세요.

이제 사용자가 웹사이트에서 데이터베이스 오류를 발견하면 민감한 정보를 공개하지 않고 문제에 대해 알리는 오류 메시지만 표시됩니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

또한 웹 브라우저 탭에 “데이터베이스 오류” 제목이 표시됩니다.

자세한 내용은 WordPress에서 사용자 정의 데이터베이스 오류 페이지를 추가하는 방법에 대한 튜토리얼을 참조하세요.

7. 불필요한 데이터베이스 기능 제거

SQL 주입 공격을 방지하려면 웹 사이트에 필요하지 않은 모든 데이터베이스 기능과 파일을 제거해야 합니다.

예를 들어, 데이터베이스를 해커에게 취약하게 만들 수 있는 불필요한 테이블, 휴지통 또는 승인되지 않은 댓글을 삭제할 수 있습니다.

불필요한 데이터베이스 기능을 제거하려면 WP-Optimize를 권장합니다. 불필요한 테이블, 게시물 수정본, 초안, 삭제된 댓글, 삭제된 게시물, 핑백, 게시물 메타데이터 등을 제거하는 놀라운 플러그인입니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

필요하지 않은 모든 파일을 제거하고 데이터베이스를 최적화하여 더욱 안전하고 빠르게 만듭니다. 자세한 내용은 WordPress 데이터베이스 최적화 방법에 대한 초보자 가이드를 참조하세요.

보너스: WPBeginner Pro 서비스를 사용하여 안전한 사이트 만들기

SQL 주입 공격에 대한 모든 예방 조치를 취한 후에는 WPBeginner Pro 서비스를 선택할 수도 있습니다.

귀하가 알지 못하는 기타 보안 취약점을 식별하고 수정하도록 도와드릴 수 있습니다. 또한 이미 SQL 주입 공격을 받은 경우 당사 전문가가 피해를 억제하고 시스템을 복구하도록 도와드릴 수 있습니다.

WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그WordPress SQL 주입 공격을 방지하는 방법(7가지 팁), 시보드 블로그

또한 우리를 고용하여 사이트의 속도 최적화, 디자인, SEO를 개선하거나 해킹 여부에 관계없이 기존 WordPress 사이트를 완전히 재구축할 수도 있습니다.

자세한 내용은 모든 WPBeginner 전문 서비스를 확인하세요.

이 기사가 WordPress SQL 주입 공격을 방지하는 방법을 배우는 데 도움이 되었기를 바랍니다. 또한 WordPress 데이터베이스 관리에 대한 초보자 가이드와 최고의 WordPress 데이터베이스 플러그인에 대한 최고의 선택을 보고 싶을 수도 있습니다.

이 기사가 마음에 드셨다면 WordPress 비디오 튜토리얼을 볼 수 있는 YouTube 채널을 구독해 주세요. 당신은 또한 우리를 찾을 수 있습니다 트위터 그리고 페이스북.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다