Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CFC — 중앙 집중식 방화벽 제어 | Kitploit
도구/GitHubGitHub/leonbroseliske/cfc
Scripting & AutomationConfiguration AuditingNetwork Security
GitHubleonbroseliske/cfc

CFC

중앙 집중식 방화벽 제어

저장소 보기
2198년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

중앙 집중식 방화벽 제어 스크립트

중앙 집중식 방화벽 제어는 iptables를 실행하는 여러 서버 또는 로드밸런서의 방화벽을 중앙에서 관리할 수 있는 방법을 제공합니다. 이를 통해 여러 서버에서 하나의 명령으로 남용(abuse) IP 범위 등을 빠르게 허용/차단/삭제/검색할 수 있습니다. 해당 서버에는 ssh를 통해 접근합니다.

IPv4와 IPv6를 모두 지원합니다.

Debian 6.x / 7.x / 8.x / 9.x에서 테스트되었지만 다른 배포판에서도 작동해야 합니다.

사전 요구 사항

IPv6에 대해 'precheck', 'protected' 및 'findip' 기능을 사용하려면 'netaddr' 파이썬 모듈이 설치되어 있어야 합니다. IPv4는 IP의 이진 형태에 대한 접두사 일치(prefix matching)를 사용하므로 필요하지 않습니다.

Debian: apt-get install python3-netaddr

iptables와 함께 'ipset'을 사용하는 것이 더 효율적입니다. Ipset은 iptables가 참조하고 사용할 수 있는 목록을 관리하는 데 사용할 수 있습니다. 이 방식은 더 빠르게 작동하며 목록 조작도 더 유연하고 이 스크립트를 사용하는 권장 방법입니다.

Debian: apt-get install ipset

이 스크립트는 ssh로 지정된 서버에 연결하므로 사용하기 전에 그러한 접근 권한이 있어야 합니다.

설정

첫 번째로 cfc.cfg-example의 예제 구성을 cfc.cfg로 복사하십시오.

구성 파일에서 다음 설정을 지정할 수 있습니다:

  • action: 규칙을 추가할 때 동작을 설정합니다. 기본값: DROP

  • checkaggrbin: checkaggr.py 스크립트의 경로. 기본값: ./checkaggr.py

  • cleanupconfirmation: clean 명령을 실행하기 전에 확인을 요청합니다. cron 사용 시 false로 설정하십시오. 기본값: true

  • date: 방화벽 주석의 날짜 형식을 설정합니다. 기본값: $(date +%d%m%Y) -> 22062016

  • dateipset: ipset 방화벽 주석의 날짜 형식을 설정합니다. 일부 기능이 깨지지 않도록 기본값으로 두십시오. 기본값: $(date +%Y%m%d) -> 20160622

  • ipsetname: IPSET 목록 이름을 설정합니다. 기본값: blockedips

  • ipsetservers: iptables 대신 IPSET을 사용하는 서버를 설정합니다. 기본값: "lvs05.example.com lvs06.example.com"

  • fwchain: 추가/삭제/검색할 방화벽 체인의 이름. 기본값: INPUT

  • masklimit: 추가할 수 있는 IP 범위의 최대 크기. 기본값: /21

  • precheck: 추가하려는 IP가 이미 방화벽에 있거나 더 큰 추가 범위의 일부인지 확인합니다. IPv6의 대규모 방화벽에서는 다소 느릴 수 있습니다(서버당 500개 IP 범위 검색 시 약 25초). 기본값: true

  • protected: 추가된 보호 범위를 활성화합니다. 기본값: true

  • protectedranges: 'add' 기능에서 제외되는 IP 범위로, 일반적으로 로컬 네트워크가 소유한 범위입니다. 기본값: "172.16.0.0/12 10.0.0.0/8 192.168.0.0/16"

  • pythonbin: 사용되는 Python 바이너리의 위치. 기본값: /usr/bin/python3

  • servers: iptables만 사용하는 서버를 설정합니다. 기본값: "lvs01.example.com lvs02.example.com lvs03.example.com lvs04.example.com"

  • IPv6 기능은 '6' 접미사로 표시됩니다.

사용법

다음 명령으로 IP/범위를 입력할 때는 CIDR 표기법으로 입력하십시오. 이는 검증되며 다른 형식은 허용되지 않습니다.

add:

root@kitploit:~
cfc.sh add n.n.n.n/NN '<선택적 주석>'
cfc6.sh add <IPv6_address_range> '<선택적 주석>'

지정된 IP(범위)를 해당 소스의 모든 트래픽에 대해 구성된 동작으로 방화벽에 추가합니다. 기본적으로 현재 날짜로 주석을 만들며, 작은따옴표를 사용하여 선택적 주석을 추가하여 해당 범위의 이유나 소유자를 예로 들어 추가할 수 있습니다. 나중에 해당 주석으로 검색할 수도 있습니다.

addstring:

root@kitploit:~
cfc.sh addstring <protocol>:<dport> <string>
cfc6.sh addstring <protocol>:<dport> <string>

특정 프로토콜 및 대상 포트에 대해 iptables에 문자열 차단을 추가합니다. 실제 예로는 여러 웹 서버로 향하는 User-Agent를 차단하는 것입니다. 즉, 문자열이 'Firefox/28.0'인 tcp 포트 80으로 향하는 연결의 경우, 해당 문자열과 일치하는 tcp 포트 80으로의 모든 수신 트래픽이 차단됩니다:

root@kitploit:~
cfc.sh addstring tcp:80 'Firefox/28.0'

주의하십시오. 문자열이 충분히 구체적이지 않으면 큰 결과를 초래할 수 있습니다!

clean:

root@kitploit:~
cfc.sh clean <older_than_number_of_days>

n일보다 오래된 모든 CFC 방화벽 규칙을 정리합니다. 기본 날짜 형식에 따라 달라진다는 점을 유의하십시오! 따라서 날짜 형식을 사용자 지정한 경우 'clean' 섹션의 스크립트를 조정해야 합니다.

del:

root@kitploit:~
cfc.sh del n.n.n.n/NN
cfc6.sh del <IPv6_address_range>

지정된 IP(범위)/규칙을 방화벽에서 삭제합니다.

delstring:

root@kitploit:~
cfc.sh delstring <protocol>:<dport> <string>
cfc6.sh delstring <protocol>:<dport> <string>

특정 프로토콜 및 대상 포트에 대해 iptables의 문자열 차단을 삭제합니다.

find:

root@kitploit:~
cfc.sh find <string>
cfc6.sh find <string>

방화벽에서 지정된 문자열을 검색합니다(대소문자 구분 안 함). IP / 범위 / 주석의 (일부)일 수 있습니다.

findip:

root@kitploit:~
cfc.sh findip n.n.n.n/NN
cfc6.sh findip <IPv6_address_range>

지정된 IP(범위)가 이미 추가된 규칙의 일부인지 방화벽에서 검색합니다. IPv6의 대규모 방화벽에서는 다소 느릴 수 있습니다(서버당 500개 IP 범위 검색 시 약 25초). IPv4는 대신 IP의 이진 형태에 대한 접두사 일치를 사용하는데 이는 약 500% 더 빠르며, precheck 및 protectedranges 기능에도 사용됩니다.

ipsethostinit:

root@kitploit:~
cfc.sh ipsethostinit <server_name>
cfc6.sh ipsethostinit <server_name>

지정된 호스트에 IPSET 목록을 추가하고 cfc.cfg에 정의된 매개변수를 사용하여 이를 참조하는 iptables 규칙을 추가합니다. 이 작업은 방화벽 규칙을 추가하기 전에 한 번만 수행하면 됩니다.

last:

root@kitploit:~
cfc.sh last <nr_of_most_recent_rules>
cfc6.sh last <nr_of_most_recent_rules>

방화벽에 가장 최근에 추가된 개 항목을 표시합니다.

도구 다운로드