OPNsense ntopng 설정

OPNsense ntopng 설정

환경: OPNsense 23.1.x (Initially written for OPNsense 22.7.x)

OPNSense에서는 ntopng에서 GeoIP 서비스를 사용하기 위해서는 GeoIP database를 따로 받아서 설치해야 한다. 이는 변경된 라이센스 정책으로 인해서이다. 이를 위해 MaxMind 계정을 만든다.

Privacy Exclusions API
Develop applications using industry-leading IP intelligence and risk scoring.

계정을 만들고 license key를 꼭 기록해 놓는다.

ntopng/README.geolocation.md at dev · ntop/ntopng
Web-based Traffic and Security Network Traffic Monitoring - ntopng/README.geolocation.md at dev · ntop/ntopng

OPNSense에서는 MaxMind의 geoipupdate가 제공되지 않는다. 하지만 MaxMind에서 직접 받을 수 있으니 geoipupdate freebsd 버전을 받는다. 홈에 압축을 풀고 (당연히 root가 아닌 사용자 계정으로 로그인한 상태여야 한다.) 설정 파일을 다음과 같이 수정한다.

$ vi GeoIP.conf

...
AccountID 123456 # MaxMind ID here
LicenseKey abcdefg # LicenseKey
...
EditionIDs GeoLite2-Country GeoLite2-City GeoLite2-ASN # Add one more DB
...
DatabaseDirectory /usr/share/GeoIP # Change GeoIP directory

그리고 GeoIP.conf 과 geoipupdate를 맞는 위치에 복사한다.

$ sudo cp GeoIP.conf /usr/local/etc
$ mkdir ~/bin
$ cp geoipupdate ~/bin/geoipupdate

이제 geoipdate를 실행하면 DB를 받아오는 것을 알 수 있다.

$ geoipupdate
$ ls /usr/share/GeoIP

마지막으로 OPNsense에서 ntopng를 restart하면 GeoIP 서비스가 정상 동작하는 것을 알 수 있다.

Outdated

ntopng에서 GeoIP database를 받을 수 있는 스크립트를 제공하기에 이것을 사용해보았다. 하지만 이 방법은 ntopng를 재설치하니 스크립트에 수정된 내용도 리셋되었기에 이제는 사용하지 않는 방법이다.

vi /usr/local/bin/ntopng-geoip2update.sh

# GeoLite2 DB 받는 부분 2군데를 다음과 같이 수정
https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=키값은여기에&suffix=tar.gz

https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-ASN&license_key=키값은여기에&suffix=tar.gz

sudo /usr/local/bin/ntopng-geoip2update.sh

Ref: https://github.com/ntop/ntopng/blob/dev/doc/README.geolocation.md