게시물 159건
   
maxmind GeoIP.dat + iptables geoip
글쓴이 : 최고관리자 날짜 : 2020-03-31 (화) 16:10 조회 : 491
글주소 :
                          


라이센스 발급은 아래 URL을 참고 

Maxmind GeoIP2 업데이트



설치환경
OS : Ubuntu 18.04 LTS

# cat /etc/issue
Ubuntu 18.04.3 LTS \n \l

# iptables -m geoip
iptables v1.6.1: Couldn't load match `geoip':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.



설치에 필요한 기본패키지 설치
# apt install -y unzip libtext-csv-xs-perl
# apt install -y libmoosex-types-netaddr-ip-perl xtables-addons-common



다운로드


여기서는 아래 github 에서 배포하고 있는 설치 및 업데이트 방법으로 진행한다.
# git clone https://github.com/mschmitt/GeoLite2xtables
# cd GeoLite2xtables


회원가입을 통해 발급받은 라이센스키 입력
# cp geolite2.license.example geolite2.license
# vim geolite2.license
YOUR_LICENSE_KEY='<LICENSE_KEY>'



데이타 정보 다운로드
# ./00_download_geolite2 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1743k  100 1743k    0     0  1812k      0 --:--:-- --:--:-- --:--:-- 1810k
Archive:  /tmp/tmp.LvtWjSCkxP
  inflating: /tmp/GeoLite2-Country-Blocks-IPv4.csv  
  inflating: /tmp/GeoLite2-Country-Blocks-IPv6.csv  

# ./10_download_countryinfo 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 31523  100 31523    0     0   9947      0  0:00:03  0:00:03 --:--:--  9947



다운로드된 정보 포맷변환 
mkdir /usr/share/xt_geoip
cat /tmp/GeoLite2-Country-Blocks-IPv{4,6}.csv | ./20_convert_geolite2 /tmp/CountryInfo.txt > /usr/share/xt_geoip/GeoIP-legacy.csv
10000
20000
..........
..........
390000
400000


변환된 포맷파일을 xtables geoip build
# /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip /usr/share/xt_geoip/GeoIP-legacy.csv


# pwd
/usr/share/xt_geoip

# ls -l
total 37632
drwxr-xr-x 2 root root    16384 Mar 31 15:25 BE
-rw-r--r-- 1 root root 38501371 Mar 31 15:24 GeoIP-legacy.csv
drwxr-xr-x 2 root root    16384 Mar 31 15:25 LE



설치확인
 :: 본문에서는 KR(한국) 트래픽과 ! KR 트래픽을 카운팅하고 로깅을 위한 Rule이며 기본 Rule을 지우고(-F) 진행하였다.

# iptables -F
# iptables -A INPUT -m geoip --src-cc KR -j RETURN
iptables -A INPUT -m geoip ! --src-cc KR 
# iptables 
-A INPUT -j LOG --log-prefix "NOT_KR_ACCESS_LOG:"



모니터링 
 :: 패킷카운트를 Zero 로 만들고 모니터링 

# iptables -Z
# watch -d iptables -vnL INPUT


KR 접근은 RETURN 처리되며 ! KR 트래픽은 로깅
# tail -f /var/log/syslog
.................................
.................................
Mar 31 16:57:55 mojily-94426 kernel: [ 2742.426498] NOT_KR_LOG:IN=ens3 OUT= MAC=fa:16:3e:03:c1:2b:fa:16:3e:12:bc:74:08:00 SRC=121.58.195.167 DST=10.101.0.29 LEN=52 TOS=0x00 PREC=0x00 TTL=108 ID=26262 DF PROTO=TCP SPT=51919 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0

Mar 31 16:57:56 mojily-94426 kernel: [ 2743.190736] NOT_KR_LOG:IN=ens3 OUT= MAC=fa:16:3e:03:c1:2b:fa:16:3e:12:bc:74:08:00 SRC=121.58.195.167 DST=10.101.0.29 LEN=52 TOS=0x00 PREC=0x00 TTL=108 ID=26345 DF PROTO=TCP SPT=51919 DPT=445 WINDOW=8192 RES=0x00 SYN URGP=0
Mar 31 16:58:40 mojily-94426 kernel: [ 2787.467480] NOT_KR_LOG:IN=ens3 OUT= MAC=fa:16:3e:03:c1:2b:fa:16:3e:12:bc:74:08:00 SRC=103.45.161.101 DST=10.101.0.29 LEN=40 TOS=0x00 PREC=0x00 TTL=106 ID=256 PROTO=TCP SPT=6242 DPT=60001 WINDOW=16384 RES=0x00 SYN URGP=0


외부에서 무작위로 들어오는 트래픽은 항상 존재하기에 불필요한 트래픽은 유의해서 서버운영을 하시기 바랍니다.
# apt install whois
# whois 103.45.161.101



참고로 국가코드는 아래 참고




이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.