HOME > 이용안내
이용안내
 
작성일 : 15-01-21 15:30
[리눅스서버] [SSH]SSH Geoip적용 하여 국가별 IP 허용하기
 글쓴이 : 제이네트워크
조회 : 47,113  
[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 134

번호 제   목   글쓴이 날짜 조회
94 [리눅스서버] centos7 에서 서비스(Vsftp) 시작 명령어 관련 제이네트워크 2017-05-16 30911
93 [리눅스서버] CentOS 7에서 부팅시 /etc/rc.local 파일 실행 시키는 방법 제이네트워크 2017-05-16 32622
92 [리눅스서버] Centos5.x yum install 에러시 CentOS-Base.repo 변경 제이네트워크 2017-05-01 33205
91 [리눅스서버] CENTOS7 에서 PHP-7.x 소스 설치시 mysqli , mysql , pdo-mysql 에러시 제이네트워크 2017-04-28 35108
90 [리눅스서버] 리눅스에서 CPU 정보 및 CPU 코어개수, 물리 CPU 수를 확인하는 방법 제이네트워크 2017-04-27 30462
89 [리눅스서버] [Centos7.x 에서 vsftp접속문제] 500 OOPS:vsftpd:refusing to run with writable root inside chroo… 제이네트워크 2017-04-19 29444
88 [리눅스서버] [디스크 포맷에러] /dev/sdb1 is apparently in use by the system; will not make a filesystem he… 제이네트워크 2017-04-18 33860
87 [리눅스서버] 리눅스 서버에서 하드디스크(SSD) 스펙 확인 하는 방법 제이네트워크 2017-03-21 33921
86 [리눅스서버] 리눅스서버에서 한글파일명 깨질때 (파일질라나 ftp로 한글깨짐) 제이네트워크 2017-03-16 49542
85 [리눅스서버] cband 설치 제이네트워크 2016-11-30 29250
84 [리눅스서버] [BIND - 네임서버 존파일에서 SRV 레코드 추가] 제이네트워크 2016-11-18 29667
83 [리눅스서버] [ 우분투정리 ubuntu ] 제이네트워크 2016-10-25 31244
82 [리눅스서버] [아파치서버]mod_url.so 모듈 추가 설치 (웹서버에서 한글링크 허용) 제이네트워크 2016-09-29 43987
81 [리눅스서버] [Apache 서버활용]아파치서버 링크제한, 인증 및 활용 제이네트워크 2016-09-03 34281
80 [리눅스서버] [Apache 웹서버]apache2에서 geoip 적용하기 제이네트워크 2016-08-26 33305
79 [리눅스서버] [Apache 웹서버]서비스 제한측면의 아파치 활용 예제 제이네트워크 2016-08-26 36099
78 [리눅스서버] [Apache] worker 방식 접속자 튜닝방법 제이네트워크 2016-08-26 29431
77 [리눅스서버] pdo-mysql 추가 설치 방법 제이네트워크 2016-08-26 32086
76 [리눅스서버] INIT: no more processes left in this runlevel 메세지 발생후 부팅에러 제이네트워크 2016-08-01 29446
75 [리눅스서버] vsftp 에러코드 중 500 OOPS: priv_sock_get_int 오류 발생시 해결법 제이네트워크 2016-07-31 36476
74 [리눅스서버] 리눅스에서 공백이 포함된 디렉토리 처리 제이네트워크 2016-07-26 30778
73 [리눅스서버] [아파치SSL 에러] File size limit exceeded$HTTPD -DSSL 해결법 제이네트워크 2016-06-22 30127
72 [리눅스서버] CentOS 7.x vsftpd 자신의 홈디렉토리 상위폴더 접근막기 (2) 제이네트워크 2016-06-01 32936
71 [리눅스서버] Centos7.x 4TB 이상 하드디스크 추가 및 포맷하기 제이네트워크 2016-06-01 32289
70 [리눅스서버] 스왑메모리 초기화 혹은 swap 메모리 관리 제이네트워크 2016-05-13 31709
69 [리눅스서버] [우분투]ubuntu 15.10 서버 네트워크 설정 및 ufw 방화벽 제이네트워크 2016-03-24 30957
68 [리눅스서버] 우분투15.10 서버에서 SSH접속 안될 때 [에러-서버와 매치되는 outgoing encryption … 제이네트워크 2016-03-17 33039
67 [리눅스서버] 리눅스 에서 Apche / php / mysql 컴파일 옵션 확인하기 제이네트워크 2015-12-09 27893
66 [리눅스서버] [apache] mod_ruid2 모듈 설치시 에러 mod_ruid2.c:45:28: error: sys/capability.h: No such file … 제이네트워크 2015-11-06 30973
65 [리눅스서버] CentOS(리눅스)버전, 혹은 APM(apache, php, mysql) 버전 확인하려고 할때 사용하는 … 제이네트워크 2015-09-07 30083
64 [리눅스서버] 리눅스서버에서 chracterset 을 맞출려고 할 때 제이네트워크 2015-08-25 30551
63 [리눅스서버] [apche 1.3.x | 2.0.x 2.2 x.2.4.x ] 아파치 버전별 차이점 제이네트워크 2015-05-19 38077
62 [리눅스서버] 리눅스서버에 VNC SERVER 설치 하기 (centos5.8~ 6.7 까지 되네요) 제이네트워크 2015-03-19 36962
61 [리눅스서버] Modsecurity-apache 2.5.X 설치중 에러 server: /usr/lib/libxml2.so: wrong ELF class: ELFCLASS32 제이네트워크 2015-02-17 32640
60 [리눅스서버] [named] dig 명령어 사용법 제이네트워크 2015-02-14 31133
59 [리눅스서버] [LINUX]리눅스 한글관련 지원관련 문제 제이네트워크 2015-02-05 34807
58 [리눅스서버] [Linux] 리눅스에서 Split 를 사용하여 큰 파일을 작은파일로 나누기 제이네트워크 2015-01-23 33681
57 [리눅스서버] [Linux] Centos 에서 yum 을 이용하여 rpm 다운로드방법과 rpm 패키지 설치 및 삭… 제이네트워크 2015-01-23 35277
56 [리눅스서버] [LINUX]리눅스 명령어로 프로세서 한번에 죽이기 제이네트워크 2015-01-22 32018
55 [리눅스서버] Linux 에서 NTFS파일시스템으로 마운트하기 제이네트워크 2015-01-21 37341
 1  2  3  4