시놀로지 NAS로 웹사이트를 운영하고 있다면, 서버 로그를 한번 확인해 보세요. .env, .git, wp-login.php, phpmyadmin 같은 경로를 자동으로 스캔하는 봇 요청이 하루에도 수십에서 수백 건씩 들어 올 수 있습니다.
이런 요청은 대부분 자동화된 취약점 스캐너가 보내는 것으로, 실제 서비스에는 영향이 없어 보이지만 방치하면 보안 위협이 될 수 있습니다. Cloudflare WAF 규칙 악성 스캔 차단 설정을 해두면 이런 요청을 서버에 도달하기 전에 미리 걸러낼 수 있습니다.
NAS 웹서버에 악성 스캔이 들어오는 이유
인터넷에 공개된 웹서버라면 규모와 관계없이 봇의 자동 스캔 대상이 됩니다. 특히 시놀로지 NAS 같은 개인·소규모 서버는 기업 서버에 비해 보안 설정이 상대적으로 약한 경우가 많아 공격자가 더 적극적으로 탐색합니다.
404 로그를 확인하면 이런 요청들이 보입니다.
GET /.env → 환경변수 파일 (DB 비밀번호 등)
GET /.git/config → Git 저장소 설정 파일
GET /wp-login.php → 워드프레스 로그인 무차별 대입
GET /phpmyadmin/ → DB 관리 도구 탐색
GET /xmlrpc.php → 워드프레스 XML-RPC 공격
GET /wp-content/plugins/ → 플러그인 취약점 탐색
이런 요청이 서버까지 도달하면 NAS의 리소스를 소모하고, 운이 나쁘면 실제로 취약점이 노출될 수 있습니다.

Cloudflare WAF란?
Cloudflare WAF(Web Application Firewall)는 웹 요청이 서버에 도달하기 전에 Cloudflare 단에서 먼저 검사하고 차단하는 웹 방화벽입니다. 무료 플랜에서도 사용자 지정 규칙을 5개까지 만들 수 있어서, 비용 없이 기본적인 악성 스캔 차단이 가능합니다.
Cloudflare WAF 규칙 악성 스캔 차단의 핵심 장점은 요청이 NAS에 도달하기 전에 차단된다는 것입니다. NAS의 CPU, 메모리, 네트워크 자원을 전혀 소모하지 않습니다.
Cloudflare WAF 규칙 악성 스캔 차단 설정 방법
아래 순서대로 따라하면 10분 안에 설정을 완료할 수 있습니다.
1단계: WAF 사용자 지정 규칙 페이지 이동
- Cloudflare 대시보드에 로그인
- 해당 도메인 선택
- 왼쪽 메뉴에서 보안 → WAF 클릭
- 사용자 지정 규칙 탭 → 규칙 만들기 클릭
2단계: 규칙 이름 설정
규칙 이름을 알아보기 쉽게 설정합니다.
- 규칙 이름:
Block malicious scans(또는 원하는 이름)
3단계: 호스트 이름 조건 추가 (선택)
같은 Cloudflare 계정에 여러 도메인이나 서브도메인이 있다면, 특정 도메인에만 규칙을 적용할 수 있습니다.
| 필드 | 연산자 | 값 |
|---|---|---|
| 호스트 이름 | 같음 | naslab.co.kr (본인 도메인) |
이렇게 하면 naslab.co.kr에만 적용되고, blog.naslab.co.kr 같은 서브도메인에는 영향을 주지 않습니다. 서브도메인에서 워드프레스를 운영 중이라면 이 조건을 반드시 추가하세요.
4단계: URI 경로 차단 패턴 추가
이제 차단할 URI 경로를 하나씩 추가합니다. 조건은 “또는(OR)”으로 연결합니다.
| 필드 | 연산자 | 값 | 차단 이유 |
|---|---|---|---|
| URI 경로 | 포함 | .env | 환경변수 파일 탐색 |
| URI 경로 | 포함 | .git | Git 저장소 노출 |
| URI 경로 | 포함 | wp-login | 로그인 무차별 대입 |
| URI 경로 | 포함 | wp-admin | 관리자 페이지 탐색 |
| URI 경로 | 포함 | wp-json | REST API 탐색 |
| URI 경로 | 포함 | wp-includes | 코어 파일 탐색 |
| URI 경로 | 포함 | xmlrpc.php | XML-RPC 공격 |
| URI 경로 | 포함 | phpmyadmin | DB 관리 도구 탐색 |
| URI 경로 | 포함 | wp-content/plugins | 플러그인 취약점 탐색 |

5단계: 작업 설정 및 배포
- 하단의 작업 선택에서 “차단” 선택
- 배포 클릭
배포 즉시 적용됩니다. 이후 해당 패턴에 해당하는 요청은 Cloudflare 단에서 차단되어 NAS에 도달하지 않습니다.

주의사항
Cloudflare WAF 규칙 악성 스캔 차단 설정 시 아래 사항을 꼭 확인하세요.
워드프레스 사이트는 규칙 범위에 주의
같은 도메인에서 워드프레스를 운영 중이라면 wp-admin, wp-login, wp-json, wp-includes, wp-content/plugins를 차단하면 본인도 관리자 페이지에 접속할 수 없습니다. 이 경우에는 해당 항목을 규칙에서 제외하거나, 호스트 이름 조건을 걸어 워드프레스가 없는 도메인에만 적용하세요.
예를 들어 naslab.co.kr에는 랜딩페이지만 있고, blog.naslab.co.kr에서 워드프레스를 운영한다면 호스트 이름을 naslab.co.kr로 한정하면 블로그에는 영향이 없습니다.
본인이 차단되어도 당황하지 않기

실수로 본인이 차단 규칙에 걸려도 Cloudflare 대시보드(dash.cloudflare.com)는 별개의 서비스이므로 언제든 접속해서 규칙을 수정하거나 비활성화할 수 있습니다.
차단 확인 및 해제 방법
차단 로그 확인
규칙 배포 후 보안 → 이벤트에서 실제 차단된 요청을 확인할 수 있습니다. 어떤 IP에서 어떤 경로를 요청했는지, 어떤 규칙에 의해 차단되었는지 상세하게 표시됩니다.

규칙 비활성화
긴급하게 규칙을 끄고 싶다면 WAF → 사용자 지정 규칙에서 해당 규칙의 토글 스위치를 끄면 됩니다. 삭제하지 않아도 비활성화 상태로 유지할 수 있습니다.
특정 IP 허용
본인 IP나 특정 서비스의 IP를 허용 목록에 추가하려면 WAF → 도구 → IP 액세스 규칙에서 설정합니다.
| 필드 | 값 |
|---|---|
| IP 주소 | 본인 공인 IP |
| 작업 | 허용 |
| 메모 | 내 IP (선택사항) |
허용 목록에 추가된 IP는 WAF 규칙에 관계없이 항상 접속이 허용됩니다.
실제 차단 효과
Cloudflare WAF 규칙 악성 스캔 차단을 적용하면 보안 이벤트 로그에서 다음과 같은 효과를 확인할 수 있습니다.
.env탐색 요청 — 서버 도달 전 차단wp-login.php무차별 대입 시도 — 서버 도달 전 차단phpmyadmin경로 스캔 — 서버 도달 전 차단- NAS CPU·메모리 사용량 감소 (불필요한 요청 처리 불필요)
- 404 로그 감소
마무리
시놀로지 NAS로 웹사이트를 운영한다면 Cloudflare WAF는 반드시 설정해야 할 1차 방어선입니다. 기업 서버와 달리 NAS는 전용 보안 장비가 없기 때문에, 서버에 요청이 도달하기 전에 걸러내는 것이 가장 효과적입니다.
무료 플랜으로도 사용자 지정 규칙 5개를 사용할 수 있으니, 오늘 바로 설정해 보세요. 설정에 10분이면 충분하고, 한번 해두면 계속 동작합니다.
NAS 보안 설정이나 웹호스팅 운영에 대해 궁금한 점이 있다면 상담 문의 페이지에서 편하게 문의해 주세요.
