HOME > 이용안내
이용안내
 
작성일 : 15-01-21 15:30
[리눅스서버] [SSH]SSH Geoip적용 하여 국가별 IP 허용하기
 글쓴이 : 제이네트워크
조회 : 55,471  
[SSH]SSH Geoip적용 하여 국가별 IP 허용하기
 
리눅스 서버 설치 이후 SSH같은 원격 서비스 같은 경우에는 많은 로그인 시도가 발생 하게 되며,
 
그때그때 해당 IP를 차단하는 방법도 있지만, 이 방법은 많은 손이 가게 되며,
막지 말아야할 IP까지 막을 경우가 있습니다.
 
그리고 국내에서만 서비스 혹은 국내에서만 관리자가 접근 한다고 가정 할 시에는 특정 국가에서만 접속을 허용하면 편하게 사용이 가능 합니다. 
 
먼저 GeoIP C API를 다운로드 받습니다.
 
http://dev.maxmind.com/geoip/legacy/downloadable/ 에서 확인 가능하며 C Source버전을 다운로드 받습니다.
 
Wget을 이용해서 다운로드 
wget http://www.maxmind.com/download/geoip/api/c/GeoIP-latest.tar.gz
 
 
압축해제 
tar -zxvf GeoIP-latest.tar.gz 
 
GeoIP API디렉토리로 이동 
cd GeoIP-1.5.1/
 
 
컴파일 시작
./configure --prefix=/usr/local/GeoIP
 
Make
Make install

 
API설치 후 API에서 연동할 GeoIP Database파일을 다운로드 받습니다.
GeoIP Database 는 두종류가 있으며, 국가코드만 제공하는 GeoIP.dat 와 도시코드까지 제공하는 GeoLiteCity.dat 가 있습니다.
http://dev.maxmind.com/geoip/legacy/geolite/ 에서 다운로드 가능한 Database를 확인 가능 합니다.
 
 
GeoLiteCity 다운로드
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

 
압축해제 후 GeoIP API 경로로 이동
gzip -d GeoLiteCity.dat.gz
mv GeoLiteCity.dat /usr/local/GeoIP/share/GeoIP/
 
SSH연동을 위한 PAM_geoip 다운로드
http://ankh-morp.org/code/pam_geoip/#DOWNLOADS 에서 확인 가능하며 최신버전으로 다운로드 합니다.
wget http://download.ankh-morp.org/pam_geoip/pam_geoip-1.1.tar.gz
 
 
압축해제
tar -zxvf pam_geoip-1.1.tar.gz

 
pam_geoip 컴파일 준비
컴파일 전에 Makefile파일에 현재 설치한 GeoIP 의 API 경로를 넣어 줍니다.
sed -i 's|CCFLAGS=|CCFLAGS=-I/usr/local/GeoIP/include |g' Makefile
sed -i 's|LDFLAGS=|LDFLAGS=-L/usr/local/GeoIP/lib |g' Makefile
 

pam_geoip 컴파일
make
 
 
컴파일 후 생성된 모듈을 /lib/security 디렉터리로 이동합니다.
 
32BIT
cp pam_geoip.so /lib/security/
 
64BIT
cp pam_geoip.so /lib64/security/
 
 
/etc/ld.so.conf 파일에 GeoIP모듈 추가 하기
vi /etc/ld.so.conf
 
/usr/local/GeoIP/lib 추가
ldconfig 실행 하기
 

SSH에 pam_geoip 적용 하기
 
vi /etc/security/geoip.conf 파일 생성
 
아래 내용 추가

#
# /etc/security/geoip.conf - config for pam_geoip.so
#
#
 
#<domain>       <service>       <action>        <location>

*               sshd            deny           KR,Seoul
*               sshd            deny           KR,*
*               sshd            allow           US,*; GB,*
*               sshd            deny            *
 
 
/etc/pam.d/sshd 수정 하기
 
vi /etc/pam.d/sshd
 
 
가장 상단에 아래 내용 추가 하기
account    required     pam_geoip.so system_file=/etc/security/geoip.conf
geoip_db=/usr/local/GeoIP/share/GeoIP/GeoLiteCity.dat action=allow

 
적용 된 내용 확인 하기
한국 IP 차단 설정후 확인된 로그 입니다.
Oct 28 15:43:53 localhost sshd[12583]: pam_geoip(sshd:account): location KR,* denied for user 로그인ID from 210.116.123.xxx (IPv4)
Oct 28 15:43:53 localhost sshd[12583]: Failed password for 로그인ID from 210.116.123.xxx port 2056 ssh2
Oct 28 15:43:53 localhost sshd[12587]: fatal: Access denied for user 로그인ID by PAM account configuration
 
한국 IP 허용 설정후 확인된 로그 입니다.
Oct 28 15:50:14 localhost sshd[12595]: pam_geoip(sshd:account): location KR,* allowed for user 로그인ID from 210.116.123.xxx (IPv4)
Oct 28 15:50:14 localhost sshd[12595]: Accepted password for 로그인ID from 210.116.123.xxx port 3805 ssh2
Oct 28 15:50:14 localhost sshd[12595]: pam_unix(sshd:session): session opened for user 로그인ID by (uid=0)





Cloud server Streaming service Domain Cloud Firewall

 
 

Total 385

번호 제   목   글쓴이 날짜 조회
385 [스크립트언어] [PHP] php에서 Excel 파일 읽기/쓰기 (2) 제이네트워크 2015-01-23 582098
384 [메일] 아웃룩 메일 수발신할 때 (메일오류코드 2) 제이네트워크 2021-05-28 131332
383 [스크립트언어] [php]php.ini 설정에서 register_globals = on/off 차이점과 기능설명 (1) 관리자 2012-02-09 86025
382 [윈도우서버] [IIS 8.x 설치 후 HTTP오류 404.3 오류 및 asp / asp.net 실행오류] 제이네트워크 2015-04-21 69487
381 [윈도우서버] [iis7.x ASP 에러] An error occurred on the server when processing the URL 제이네트워크 2015-05-04 69144
380 [윈도우서버] [ASP] IIS 7.x 에서 500내부서버오류 정보보기 제이네트워크 2013-02-05 68944
379 [DB] [mysql] DB 에러 메세지 Unable to lock ./ibdata1, error: 11 (1) 제이네트워크 2012-11-18 67921
378 [리눅스서버] find 명령어로 일정기간, 특정용량 파일 삭제 및 찾기 제이네트워크 2013-02-27 66920
377 [스크립트언어] php 에러 메세지 출력하기 (php.ini 설정) 제이네트워크 2016-07-27 66133
376 [리눅스서버] 리눅스서버에서 한글파일명 깨질때 (파일질라나 ftp로 한글깨짐) 제이네트워크 2017-03-16 65945
375 [DB] [mysql-5.6.x 설치 후 에러로 실행 안될때 ][Warning] TIMESTAMP with implicit DEFAULT value … 제이네트워크 2015-05-22 62477
374 [스크립트언어] [php]php설치후 에러 SAFE MODE Restriction in effect. The script whose uid is 501 is not allowed… 제이네트워크 2013-08-19 61395
373 [스크립트언어] [asp]HTTP 오류 500.24 - Internal Server Error 관리되는 통합 파이프라인 모드에 적용… 제이네트워크 2014-12-09 60559
372 [스크립트언어] [XE] xe (제로보드xe) 로그인 패스워드를 잊어 버렸을 경우 제이네트워크 2013-08-06 58630
371 [리눅스서버] ftp 접속방식 문제 관리자 2011-06-17 57895
370 [메일] 메일에러 리턴메세지 제이네트워크 2011-06-17 57863
369 [스크립트언어] [php]설치시 에러 configure: error: xml2-config not found. please check your libxml2 installatio… 관리자 2011-10-11 57490
368 [DB] SQL Server Management Studio 설치 안될 때 제이네트워크 2017-02-28 57194
367 [DB] [mysql] 해당 컬럼 값을 1씩 증가시키기 와 mysql 자료형,제약조건,엔진 제이네트워크 2015-01-21 56927
366 [리눅스서버] VSFTP 에서 사용하는 port를 변경하기 제이네트워크 2018-04-26 56053
365 [스크립트언어] [PHP]PHP코드를 최적화하는 40가지 팁 제이네트워크 2013-12-04 56014
364 [리눅스서버] Centos 6.x + php5.x 에서 mssql 서버 연동방법 (1) 제이네트워크 2014-12-12 55670
363 [리눅스서버] [SSH]SSH Geoip적용 하여 국가별 IP 허용하기 제이네트워크 2015-01-21 55472
362 [메일] [Mail] 네이버 웍스메일에서 아웃룩(outlook), 스마트폰에서 수발신 가능하게 … 제이네트워크 2015-01-23 55187
361 [스크립트언어] [ASP]windows2008R2 서버에서 cdo.message 사용시 에러 [CDO.Message.1 error '80040222… (1) 제이네트워크 2015-01-28 55014
360 [스크립트언어] php5.3. 이상 버전에서 ZendGuardLoader설치 관리자 2012-02-09 54927
359 [리눅스서버] 리눅스 서비스 목록 및 내용 (1) 제이네트워크 2014-01-24 54751
358 [기타] 메일 첨부파일에 winmail.dat 파일만 첨부되었을때 확인방법 관리자 2012-01-30 54192
357 [스크립트언어] [php]php5.3.x 버전에서 phpinfo 가 안보일 때 제이네트워크 2013-08-19 54176
356 [스크립트언어] [ASP] Asp언어 xml 파싱에러처리 관리자 2011-06-17 53784
355 [기타] URL 데이터의 처리-GET과POST 관리자 2011-06-17 53700
354 [스크립트언어] [php] configure 중 에러 : error: mcrypt.h not found. Please reinstall libmcrypt. 관리자 2011-07-08 53528
353 [리눅스서버] 리눅스 메모리(memory)관리 및 캐시(cache)를 삭제하고 지우는법 제이네트워크 2014-04-30 53470
352 [리눅스서버] [php soap 모듈 추가 설치] - php 확장 모듈 설치 제이네트워크 2017-05-25 53461
351 [스크립트언어] [jquery] 파일 업로드 전에 파일사이즈 체크하기 제이네트워크 2015-04-28 53414
350 [윈도우서버] [오류]예약된 작업(작업스케줄러)실행시 0x80090016: 키 세트가 없습니다 제이네트워크 2012-09-11 53376
349 [스크립트언어] mysql 설치 후 phpMyAdmin #2002 MySQL 서버에 로그인할 수 없습니다. 해결법 (1) 제이네트워크 2015-09-03 53264
348 [리눅스서버] 리눅스서버 HDD추가및 MOUNT하기 (2) 관리자 2011-06-17 53185
347 [스크립트언어] [php]php5.3.x 에서 zend 설치시 주의 할 점 관리자 2012-02-09 52690
346 [리눅스서버] [아파치서버]mod_url.so 모듈 추가 설치 (웹서버에서 한글링크 허용) 제이네트워크 2016-09-29 52683
 1  2  3  4  5  6  7  8  9  10