엘남매아빠

그누보드 스팸·과다요청 대응: 접근 차단 3단계 정리 (관리자 기능 + .htaccess + 방화벽 분리 적용)

· 2026-09-11 (금) 23:52:06 · 157 · 1

그누보드를 운영하다 보면 특정 IP에서 비정상적으로 많은 요청이 오거나, 회원가입·게시판에 스팸이 반복적으로 쌓이는 일이 생깁니다.
무작정 관리자 페이지에서 IP만 막으면 효과가 제한적입니다.

차단은 "어느 층에서 막느냐"에 따라 효과와 서버 부하가 크게 달라지기 때문에, 상황에 맞게 단계를 나눠 적용하는 것이 좋습니다.


첫째 단계는 그누보드 관리자 페이지의 접근 차단 기능입니다.
관리자 페이지의 접근차단 관리에서 IP를 등록하면 해당 IP는 사이트 이용이 막힙니다.
가장 손쉽지만, 이 방식은 PHP까지 요청이 들어온 뒤 걸러지기 때문에 요청량 자체가 많으면 서버 부하를 줄여주지는 못합니다.
소수의 스패머나 특정 회원을 막는 용도에 적합합니다.
IP 대역으로 막고 싶을 때는 123.456. 형태로 앞부분만 적으면 대역 차단이 됩니다.


둘째 단계는 웹서버(.htaccess) 차원의 차단입니다.
아파치 환경이라면 그누보드 루트의 .htaccess에 아래처럼 넣어, PHP가 실행되기 전에 웹서버가 요청을 끊습니다.
요청량이 많은 악성 IP나 나쁜 봇을 막을 때 서버 부하를 실질적으로 줄여줍니다.
 

# 특정 IP 차단
<RequireAll>
    Require all granted
    Require not ip 123.123.123.123
    Require not ip 111.222.0.0/16
</RequireAll>

# 나쁜 User-Agent(봇) 차단
SetEnvIfNoCase User-Agent "AhrefsBot|SemrushBot|MJ12bot|DotBot" bad_bot
<RequireAll>
    Require all granted
    Require not env bad_bot
</RequireAll>

 

 

nginx 환경이라면 .htaccess가 동작하지 않으므로, 서버 설정(server 블록)에 deny 123.123.123.123; 또는 
if ($http_user_agent ~* "AhrefsBot|SemrushBot") { return 403; } 형태로 넣어야 합니다.


셋째 단계는 서버 방화벽(OS 레벨) 차단입니다.
특정 IP나 대역에서 대량 트래픽·공격성 요청이 지속된다면, 웹서버보다 더 앞단인 방화벽에서 끊는 것이 가장 효율적입니다.
리눅스라면 다음처럼 처리할 수 있습니다.

# firewalld
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123" drop'
sudo firewall-cmd --reload

# 또는 iptables
sudo iptables -A INPUT -s 123.123.123.123 -j DROP

정리하면, 소수의 스패머·회원 차단은 관리자 페이지, 나쁜 봇이나 반복 요청은 .htaccess(또는 nginx 설정), 대량 트래픽·공격성 IP는 서버 방화벽으로 대응하는 것이 원칙입니다.

위로 갈수록 손쉽고 아래로 갈수록 부하 차단 효과가 큽니다.
상황에 따라 층을 나눠 적용하면 불필요한 서버 부하 없이 깔끔하게 막을 수 있습니다.


마지막으로 주의할 점은, IP 대역을 너무 넓게 막으면 정상 사용자까지 걸릴 수 있으니 로그로 실제 요청 패턴을 먼저 확인한 뒤 범위를 정하는 것이 좋고, 방화벽 규칙은 SSH 접속 IP까지 실수로 막지 않도록 적용 전에 꼭 재확인하시기 바랍니다.

1명이 반응했습니다
|

댓글 1개

감사합니다. 
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
22-06-20 조회 8,278
09-11 조회 158
09-04 조회 832
08-09 조회 1,685
08-05 조회 2,868
07-30 조회 1,684
07-30 조회 1,583
07-15 조회 2,871
07-01 조회 3,040
06-30 조회 3,038
06-22 조회 3,769
06-17 조회 2,923
06-14 조회 1,657
05-29 조회 1,765
05-16 조회 1,702
05-04 조회 3,196
04-29 조회 3,385
04-28 조회 3,212
04-27 조회 3,166
04-25 조회 2,189
04-24 조회 3,926
04-23 조회 3,312
04-14 조회 2,351
04-08 조회 3,176
04-01 조회 4,880
03-31 조회 3,901
03-16 조회 4,043
03-14 조회 5,206
03-13 조회 4,245
03-10 조회 3,993
03-09 조회 4,129