WordPress에서 XSS 공격을 수정하고 방지하는 방법
게시 됨: 2022-06-14웹사이트를 공격하는 해커가 걱정되십니까?
XSS라고도 하는 사이트 간 스크립팅은 WordPress 사이트에 대한 가장 일반적인 공격 중 하나입니다. 해커는 사이트에서 취약점을 찾아 정보를 도용하고 웹사이트를 오용하는 데 사용합니다.
더 나쁜 것은 즉시 수정하지 않으면 이러한 해킹으로 인해 복구하기 정말 어려운 더 심각한 피해가 발생할 수 있다는 것입니다.
WordPress 사이트에 방화벽을 설치하여 이러한 해킹을 방지할 수 있습니다.
웹사이트가 이미 공격을 받고 있는 경우 초보자에게 친숙한 간단한 언어로 즉시 수정하는 방법을 알려드립니다. 이 튜토리얼에서는 사이버 보안 전문 용어를 최소한으로 유지합니다. 또한 향후 공격을 방지하는 방법도 보여줍니다.
먼저 XSS 공격에서 어떤 일이 발생하는지 빠르게 이해하여 이에 대처할 수 있는 장비를 갖추도록 합시다.
WordPress의 XSS 공격이란 무엇입니까?
XSS는 Cross Site Scripting의 약자로 해커가 웹사이트에 악성 스크립트를 삽입하는 일종의 주입 공격입니다.
이러한 스크립트는 신뢰할 수 있는 웹 사이트에서 좋은 코드로 위장합니다. 다음으로, 사용자가 이 웹사이트에 방문하면 브라우저는 악성 스크립트를 포함한 모든 코드를 실행합니다. 이는 모두 신뢰할 수 있는 명령이라고 생각하기 때문입니다.
간단히 말해서, 당신이 스파이이고 일급 비밀 임무에 대해 정부로부터 공식 이메일을 막 받았다고 상상해 보십시오. 여기에는 T까지 따라야 하는 모든 지침이 포함되어 있습니다.
당신이 모르는 것은 누군가가 그 이메일을 가로채서 몇 가지 지침을 더 추가했다는 것입니다. 정부는 그것에 대한 단서가 없으며 출처를 신뢰하기 때문에 다시 확인하는 것을 귀찮게하지 않습니다.
일부는 말이 안되지만 임무를 완수하기 위해 모든 명령에 복종하도록 훈련받았습니다.
이 시나리오에서 정부는 웹사이트이고 스파이는 사용자의 브라우저입니다. 브라우저는 웹사이트의 지침을 따르며 좋은 스크립트와 나쁜 스크립트를 구별할 수 없습니다.
이러한 스크립트는 일반적으로 가장 인기 있고 널리 사용되는 프로그래밍 언어 중 하나인 Javascript로 되어 있습니다. 그러나 이러한 공격은 모든 클라이언트 측 언어를 사용하여 발생할 수 있습니다.
이제 XSS 공격을 수행하는 여러 가지 방법이 있습니다. 한 가지 방법은 순진한 사용자에게 링크를 보내 클릭하도록 하는 것입니다. 그들이 그것을 클릭하면 공격은 다음 중 하나 이상을 수행할 수 있습니다.
- 사용자를 악성 사이트로 리디렉션
- 사용자의 키 입력 캡처
- 웹 브라우저 기반 익스플로잇 실행
- 계정에 로그인한 사용자의 쿠키 정보 도용
해커가 쿠키 정보를 훔칠 수 있다면 사용자 계정을 완전히 손상시킬 수 있습니다. 예를 들어, 웹사이트의 wp-admin 패널에 로그인한 경우 해커가 자격 증명을 도용하여 사이트에 로그인할 수 있습니다.
이러한 공격을 방지하기 위해 해야 할 일은 모든 사용자 데이터가 웹사이트에 들어오기 전에 적절하게 검증되고 삭제되었는지 확인하는 것입니다. 그렇게 하면 사용자 입력이 악의적인 Javascript 코드가 될 수 없습니다. 또한 사이트에 해커의 공격을 허용할 수 있는 XSS 취약점이 없는지 확인해야 합니다.
우리는 XSS 공격의 표면을 거의 긁지 않았지만 WordPress XSS 공격이 작동하는 방식에 대해 충분히 이해하기를 바랍니다. 이제 사이트가 해킹된 것으로 의심되면 아래의 쉬운 단계별 자습서를 따르십시오.
WordPress에서 XSS 공격을 찾고 수정하는 방법
사이트에서 모든 종류의 맬웨어 또는 해킹을 찾으려면 파일 및 데이터베이스를 포함하여 전체 웹사이트에서 정밀 검사를 실행해야 합니다.
우리는 Sucuri를 사용하여 해킹된 사이트를 스캔하고 정리합니다. Sucuri는 방화벽, 맬웨어 스캐너 및 맬웨어 클리너를 포함한 강력한 보안 설정을 제공합니다.
Sucuri는 플러그인 » 새 탭 추가 로 이동하여 WordPress 사이트 내부에 설치할 수 있는 무료 웹사이트 멀웨어 스캐너를 제공합니다.
프리미엄 서버 측 스캐너를 사용하는 것이 좋습니다. 이것은 멀웨어의 흔적을 찾기 위해 웹사이트를 뒤집을 것입니다.
여기에 추가된 몇 가지 주요 사항은 다음과 같습니다.
- 스팸 및 악성 스크립트 모니터링
- 해커가 만든 숨겨진 백도어 확인
- DNS(도메인 이름 시스템) 및 SSL에 대한 변경 감지
- 검색 엔진 및 기타 기관에서 블랙리스트 확인
- 웹사이트 가동 시간 모니터링
- 이메일, SMS, Slack 및 RSS를 통한 즉각적인 알림
자세한 내용은 Sucuri 리뷰를 읽어보세요.
Sucuri는 연간 $199.99의 가격표와 함께 제공됩니다. 예산이 부족한 경우 다른 보안 플러그인을 사용해 볼 수 있습니다. 목록 보기: 9가지 최고의 WordPress 보안 플러그인 비교.
보안 플러그인을 선택하는 동안 맬웨어 감염을 찾아 수정하고 웹사이트를 보호하는 데 필요한 모든 사이버 보안 기능을 제공하는지 확인하십시오.
1단계: 웹사이트 스캔
시작하려면 Sucuri 플랜에 가입해야 합니다. 그런 다음 사이트를 추가할 수 있는 Sucuri 대시보드에 로그인합니다.
여기에서 FTP 자격 증명을 입력하여 웹사이트에 연결해야 합니다. FTP 자격 증명을 모르는 경우 웹 호스트에서 가져올 수 있습니다.
귀하의 사이트가 연결되면 Sucuri는 자동으로 귀하의 웹사이트를 철저히 검사합니다. 완료되면 '내 사이트' 탭 아래에 자세한 보고서가 표시됩니다.
이제 경고 메시지 옆에 있는 '자세히' 버튼을 클릭할 수 있습니다. 그러면 해킹이나 감염에 대한 세부 정보를 볼 수 있는 모니터링 페이지가 열립니다.
2단계: 맬웨어 정리 요청
모니터링 페이지에서 어떤 종류의 맬웨어가 사이트를 감염시켰는지 확인할 수 있습니다. Sucuri는 위험 수준을 나타내는 등급을 추가합니다. 따라서 중요하거나 높은 위험이 있는 경우 즉시 수정해야 합니다. 또한 귀하의 사이트가 검색 엔진에 의해 블랙리스트에 추가되었는지 여부도 표시됩니다.
이제 귀하의 사이트가 감염되었음을 알았으므로 이를 정리해야 합니다. Sucuri는 이를 매우 쉽게 해줍니다. 프로세스를 시작하려면 '내 사이트 정리' 버튼을 클릭하십시오.
다음 페이지에서 New Malware Removal Request 버튼을 클릭하면 사이트 세부 정보를 입력할 수 있는 양식이 나타납니다.
양식을 작성하여 제출하기만 하면 됩니다. 완료되면 Sucuri의 보안 전문가가 사이트를 정리합니다. 양식에 필요한 세부 정보를 모르는 경우 웹 호스트에게 요청할 수 있습니다.
이제 사이트를 청소하는 데 시간이 얼마나 걸릴지 궁금할 것입니다.
Sucuri는 비즈니스 플랜 사용자에게 우선권을 부여합니다. 그들은 6시간의 처리 시간을 보장합니다. 다른 계획의 경우 사이트 감염이 얼마나 복잡한지와 대기 중인 요청의 양에 따라 다릅니다.
공격 직후 모든 사용자를 사이트에서 로그아웃하고 로그인 자격 증명을 안전한 쪽으로 변경하는 것이 좋습니다.
WordPress 사이트에서 XSS 공격을 방지하는 방법
항상 웹사이트를 보호하고 사이트에서 이러한 종류의 맬웨어 공격을 방지하는 것이 가장 좋습니다. 해킹된 웹사이트를 수정하는 것보다 훨씬 쉽고 저렴합니다. 다음은 귀하의 사이트에 대한 XSS 공격을 방지하기 위한 가장 권장되는 단계입니다.
1. WAF(웹 응용 프로그램 방화벽) 활성화
Sucuri는 WordPress 사이트를 위한 최고의 방화벽 중 하나입니다. XSS 공격을 차단할 뿐만 아니라 DDoS, Brute Force, Phishing, SQL Injection과 같은 모든 종류의 악성코드 공격을 차단합니다.
방화벽은 웹사이트 앞에 위치하여 들어오는 모든 사용자를 검사합니다. 악성 봇이 사이트에 도달하기 전에 식별하고 차단합니다.
Sucuri 방화벽을 활성화하려면 Sucuri 대시보드의 방화벽 탭으로 이동하십시오.
사이트를 선택하면 따를 수 있는 설정 지침이 표시됩니다. Sucuri는 방화벽을 설정하는 2가지 옵션을 제공합니다.
1. 자동 통합: cPanel 또는 Plesk를 사용하여 호스팅 자격 증명을 입력하기만 하면 됩니다. 이 방법을 사용하려면 사이트에 방화벽을 자동으로 설정하기 위해 웹사이트 서버에 Sucuri 액세스 권한을 부여해야 합니다.
2. 수동 통합: Sucuri에 내부 접근 권한을 부여하지 않고 스스로 방화벽을 설정할 수 있습니다. 시작하려면 내부 도메인 링크를 클릭하고 로드되는지 확인하세요.
다음으로 웹 트래픽이 Sucuri 방화벽을 가리키도록 DNS를 구성할 수 있습니다. 이를 위해서는 호스팅 계정의 DNS 레코드에 액세스해야 합니다. 여기에서 사이트의 'A' 레코드 를 변경하고 Sucuri가 제공하는 IP 주소를 입력할 수 있습니다.
이것이 너무 복잡하다고 스트레스를 받는 경우 웹 호스트에게 도움을 요청하면 프로세스를 안내해 드릴 것입니다. 그 외에도 Sucuri와 함께 지원 티켓을 올릴 수 있으며 지원 팀이 DNS 레코드 변경을 도와줄 것입니다.
티켓을 열려면 같은 페이지의 설명서 지침 내에서 링크를 찾을 수 있습니다.
방화벽 설정을 마치면 일반적으로 변경 사항이 반영되는 데 몇 시간이 걸립니다. 최대 대기 시간은 48시간입니다.
방화벽을 활성화하면 XSS 공격으로부터 보호하기 위해 사이트에 보안 헤더가 자동으로 추가됩니다.
XSS 공격이 시도되면 Sucuri는 이를 차단하고 보고서 탭에서 보고합니다.
이제 우리가 Sucuri 방화벽에 대해 좋아하는 점은 초보자를 포함하여 누구나 사용하기 쉽다는 것입니다. 사이버 보안 전문가가 되거나 코딩을 몰라도 됩니다.
설정 » 보안 탭에서 클릭 한 번으로 모든 종류의 보호 기능을 활성화할 수 있습니다.
예를 들어 DDoS 보호 및 지역 차단을 활성화하여 해커가 사이트를 공격하는 것을 더 어렵게 만들 수 있습니다.
여기에서 보안 기능을 활성화하려면 확인란을 선택하고 설정을 저장하기만 하면 됩니다. 비활성화해야 하는 경우 확인란의 선택을 취소하기만 하면 됩니다.
이 외에도 Sucuri 플러그인은 다음을 수행합니다.
- 스팸 및 악성 코드를 정기적으로 검사하고 모니터링합니다.
- 교차 사이트 스크립팅 취약점에 대해 경고
- 악성 봇 및 해커 차단
- 검색 엔진 및 기타 기관에서 블랙리스트 확인
- 웹사이트 가동 시간 모니터링
- DNS(도메인 이름 시스템) 및 SSL에 대한 변경 감지
- 이메일, SMS, Slack 및 RSS를 통해 즉각적인 보안 경고를 보냅니다.
따라서 귀하의 사이트는 항상 보호됩니다.
2. 보안 양식 사용
취약한 웹 사이트에서 양식은 해커의 가장 일반적인 대상 중 하나입니다. 양식이 보안되지 않으면 누구나 양식 필드에 악성 코드를 입력할 수 있습니다.
웹 사이트 양식을 보호하기 위한 권장 사항은 WPForms입니다. 보안 기능이 내장된 #1 WordPress 양식 빌더이므로 처음부터 양식이 보호됩니다.
기본적으로 양식에는 스팸 방지 기능이 켜져 있습니다. 또한 양식에 CAPTCHA를 추가하여 스팸 봇을 차단할 수도 있습니다.
보이지 않는 보안 문자를 활성화하거나 사용자가 작은 퍼즐을 풀거나 자신이 인간임을 증명하기 위해 상자를 선택해야 하는 유형을 활성화할 수 있습니다.
3. 사용자 역할 권한 설정
웹사이트에서 여러 사람이 작업하는 경우 모든 사람에게 관리자 액세스 권한을 부여하는 것은 현명하지 않습니다. 필요한 권한에 따라 역할을 할당하는 것이 좋습니다.
WordPress를 사용하면 다음에 대한 역할을 만들 수 있습니다.
- 최고 관리자
- 관리자
- 편집자
- 작가
- 기부자
- 구독자
이제 해커가 사용자 계정을 제어하면 사이트에서 할 수 있는 작업이 제한됩니다.
4. 비활성 사용자 자동 로그아웃
해커는 브라우저 세션을 가로채고 쿠키를 훔쳐 사용자 계정에 액세스할 수 있습니다.
비활성 WordPress 사용자를 로그아웃하여 이 위험을 최소화할 수 있습니다.
많은 보안 플러그인에는 유휴 세션 로그아웃 기능이 있거나 비활성 로그아웃 플러그인을 사용할 수 있습니다.
5. 정기적으로 웹사이트 업데이트
WordPress 플러그인, 테마, 심지어 WordPress 설치도 정기적으로 업데이트됩니다. 사용 가능한 경우 WordPress 대시보드에서 볼 수 있습니다.
많은 웹사이트 소유자가 오랫동안 업데이트를 무시하지만 이로 인해 웹사이트가 해커에게 노출될 수 있습니다. 업데이트에는 일반적으로 버그 수정, 새로운 기능 및 소프트웨어 개선 사항이 포함됩니다. 그들은 또한 보안 패치를 가질 수 있습니다. 업데이트 세부 정보를 보면 업데이트에 보안 패치가 포함되어 있는지 확인할 수 있습니다.
이는 해커가 사이트를 공격하는 데 사용할 수 있는 소프트웨어에서 취약점이 발견되었음을 의미합니다. 개발자는 보안 문제를 발견하면 패치하고 새 버전의 소프트웨어를 출시합니다.
사이트에서 소프트웨어를 업데이트하기만 하면 됩니다.
따라서 보안 패치인 경우 즉시 업데이트하여 해킹 위험을 방지하십시오.
사이트 소유자가 업데이트를 무시하는 주된 이유 중 하나는 때때로 사이트가 중단되거나 비호환성 문제가 발생할 수 있기 때문입니다. 준비 사이트에서 업데이트를 테스트한 다음 실제 사이트에서 실행하는 것이 좋습니다.
이를 통해 WordPress 사이트에서 XSS 공격을 수정하고 방지하는 방법을 배웠습니다.
마무리하기 전에 보안 팁을 하나 더 알려 드리겠습니다. 항상 웹 사이트를 정기적으로 백업하십시오.
사이트에 가장 강력한 보안 조치를 취하더라도 잘못될 수 있는 일이 많이 있습니다. 예를 들어, 사용자는 웹사이트를 충돌시키는 간단한 인적 오류를 범할 수 있습니다.
UpdraftPlus와 같은 백업 플러그인을 사용하여 자동 백업을 설정할 수 있습니다. 더 많은 옵션은 최고의 WordPress 백업 플러그인 목록을 참조하십시오.
자주 묻는 질문
1. WordPress는 사이트 간 스크립팅 공격에 취약합니까?
WordPress 핵심 소프트웨어는 세계 최고의 전문가들이 개발하고 유지 관리합니다. 그들의 소프트웨어는 꽤 견고하지만 취약점이 없는 소프트웨어는 없다는 점을 명심하십시오.
워드프레스 웹사이트가 자주 공격받는 이유는 플랫폼이 워낙 유명하기 때문입니다. 그리고 대부분의 사용자는 수많은 타사 테마와 플러그인을 설치합니다. 취약점은 이러한 요소에서 발생할 수 있으며 해커는 이를 악용하여 사이트를 해킹할 수 있습니다.
2. 다양한 종류의 사이트 간 스크립팅 공격이 있습니까?
예. XSS 공격에는 3가지 주요 유형이 있습니다.
- 저장된 XSS(영구 XSS라고도 함): 공격자는 손상된 서버에 페이로드를 저장하여 웹사이트가 다른 방문자에게 악성 코드를 전달하도록 합니다.
- Reflected XSS: 페이로드는 브라우저에서 서버로 보낸 데이터에 저장됩니다.
- DOM XSS: 여기에서 서버 자체는 XSS에 취약한 것이 아니라 페이지의 JavaScript가 취약합니다.
- 자체 교차 사이트 스크립팅: 공격자는 특정 컨텍스트와 수동 변경이 필요한 취약점을 악용할 수 있습니다. 여기서 피해자는 자신일 수 있습니다.
- 블라인드 크로스 사이트 스크립팅: 이러한 공격에서 취약점은 일반적으로 승인된 사용자만 액세스할 수 있는 페이지에 있습니다. 공격자는 공격 결과를 볼 수 없습니다.
3. 내 사이트에 다른 보안 문제가 없는지 어떻게 확인합니까?
웹사이트에 항상 보안 플러그인이 설치되어 있는지 확인하십시오. 이것은 WooCommerce, 블로그 및 소규모 비즈니스 사이트를 포함한 모든 종류의 웹사이트에 필수입니다. Sucuri를 추천하지만 Wordfence, MalCare 및 SiteLock도 확인할 수 있습니다. 여기에서 더 많은 권장 사항을 확인하세요. 9가지 최고의 WordPress 보안 플러그인 비교.
그게 오늘의 전부입니다. 이 게시물이 웹사이트를 보호하는 데 필요한 모든 정보를 제공했기를 바랍니다.
웹사이트 보안에 대한 자세한 내용은 다음 리소스를 참조하십시오.
- 완전한 WordPress 보안 가이드(초보자용)
- 위협을 찾는 5가지 최고의 WordPress 취약점 스캐너
- WordPress 사이트 추적 및 감사를 위한 9가지 최고의 활동 로그 플러그인
이 게시물은 취약점을 봉인하고 모든 위험으로부터 웹사이트를 보호하는 더 많은 방법을 제공합니다.