우분투 20.4 기준 글 입니다.

우분투의 방화벽 ufw는 IP를 차단, 허용합니다.
제목은 해외 차단이지만, ufw는 원래 모든 접근을 차단해서 한국 IP를 허용하면 됩니다.

xtables로 한국 IP를 받고 ufw에 사용하여  한국 IP의 톰캣, SSH, DB 포트 접근을 허용하세요.
 
[xtables-addons-commoon 내부]
xt_geoip_dl : 국가 IP 리스트(CSV) 설치기
xt_geoip_build : CSV→Binary 형식 변환기

국가 CSV를  Binary로 바꾸고 modprobe로 활성화하면, ufw에 쓸 수 있습니다.

libtext -csv-xs-perl :  CSV 파일 처리기
*perl로 만든거라 대체제 찾아봤는데 없어요

xtables 설치 및 활성화 방법

활성화 후에, ufw 폴더의 before.rules에 한국IP 허용 명령어를 추가하십쇼

sudo nano /etc/ufw/before.rules

A ufw-before-input -m geoip -p tcp -m multiport --dports SSH 포트,톰캣 포트,DB 포트  --src-cc KR -j ACCEPT
편집기 열고 맨 밑  COMMIT 주석 위에 이 명렁어 추가하세요.
*xtable 모듈 이름이 geoip지만, 쓰는건  geoip CSV가 아니고  db-ip CSV 입니다.

[db-ip CSV 자동 업데이트]
스그립트 폴더, 파일을 만들고 크론탭에 등록하세요.

mkdir crontab_script

sudo nano crontab_script/dbip_update.sh
스크립트 내용은 여기서 보세요.

sudo chmod 755 dbip_update.sh
크론탭이 실행할 수 있게 스크립트에 권한을 준다.

crontab –e
크론탭 편집기를 연다.

0 1 7 * * /home/리눅스계정/crontab_script/dbip_update.sh
크론탭 편집기에 이 명령어를 추가한다
*크론탭이 매월 7일 오전 1시에 이 명령어를 실행한다.

[번외]
한국IP로 SSH 로그인 시도가 있으면 file2ban으로 차단하세요.

+ Recent posts