피드로 돌아가기
Dev.toSecurity
원문 읽기
AbuseIPDB Has a Free API — Check If Any IP Address Is Malicious in One Request
서버 관리자가 AbuseIPDB 무료 API를 통합해 악성 IP를 실시간으로 필터링하는 자동화 시스템 구축
AI 요약
Context
서버에 수천 개의 요청이 소수의 IP에서 들어오는 비정상 트래픽이 발생했을 때, 이 IP들이 실제 공격자인지 공격적 봇인지 판단하기 위한 신속한 평가 방법이 필요했다.
Technical Solution
- AbuseIPDB API를 활용해 IP 주소별 학대 신뢰도 점수(0-100) 조회: 국가, ISP, 신고 횟수, 악용 카테고리(브루트포스, DDoS, 스팸 등), 마지막 신고 날짜 데이터 수집
- Python requests 라이브러리로 의심 IP 목록을 순회하며 일괄 검사 자동화
- 점수 기준별 조건부 처리: 80 초과면 BLOCK, 25~80 구간은 MONITOR, 25 이하는 OK로 분류
- 무료 계정 제한(하루 1,000회 요청, 초당 5회)과 일일 스케줄링으로 소규모~중규모 서버 모니터링 범위 결정
- VirusTotal, Shodan, HIBP, EmailRep 등 다른 무료 보안 API와 조합해 종합적 위협 인텔리전스 확보
Key Takeaway
무료 API 조합으로 추가 인프라 비용 없이 IP 평판 기반 자동화된 방어 필터를 구현할 수 있으며, 커뮤니티 기반 신고 데이터의 신뢰도 점수를 활용하면 공격 트래픽 차단의 의사결정 기준을 명확히 수립할 수 있다.
실천 포인트
소규모 스크래핑 서버나 개인 호스팅 환경에서 AbuseIPDB의 abuseConfidenceScore 점수를 80, 25 두 임계값으로 운영하면 악성 IP에 대한 즉각적 차단 판단과 의심 트래픽의 지속적 모니터링을 동시에 수행할 수 있다.