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

번호 제   목   글쓴이 날짜 조회
257 [리눅스서버] 스왑메모리 초기화 혹은 swap 메모리 관리 제이네트워크 2016-05-13 31828
256 [기타] tar 특정폴더에 압축을 풀어야 할 경우 사용 옵션 제이네트워크 2016-05-10 26834
255 [DB] [mysqldump 에러] Got errno 28 on write 발생시 제이네트워크 2016-03-29 28732
254 [윈도우서버] Windows Server 2012R2 (윈도우2012 R2) IIS8.5 서버 FTP 가상디렉토리 설정 제이네트워크 2016-03-25 33962
253 [리눅스서버] [우분투]ubuntu 15.10 서버 네트워크 설정 및 ufw 방화벽 제이네트워크 2016-03-24 31081
252 [리눅스서버] 우분투15.10 서버에서 SSH접속 안될 때 [에러-서버와 매치되는 outgoing encryption … 제이네트워크 2016-03-17 33165
251 [PHP] php 에러시 Warning: date(): It is not safe to rely on the system's timezone settings 제이네트워크 2016-02-03 23387
250 [DB] phpMyAdmin 4.x 버전에서 필요없는 에러메세지 없애는 방법 제이네트워크 2016-02-01 27404
249 [쉘스크립트] /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 제이네트워크 2016-01-22 29375
248 [리눅스서버] 리눅스 에서 Apche / php / mysql 컴파일 옵션 확인하기 제이네트워크 2015-12-09 28025
247 [스크립트언어] [php-openssl] php-4.4.x openssl 추가 모듈 설치 제이네트워크 2015-12-01 32362
246 [스크립트언어] php zip 설치 (ziparchive php extension) 제이네트워크 2015-11-25 42246
245 [스크립트언어] php-5.3.x 확장모듈 cURL 설치 방법 제이네트워크 2015-11-24 39530
244 [스크립트언어] php-4.x.x 의경우 phpize 사용하여 curl 모듈 추가] 제이네트워크 2015-11-24 33682
243 [스크립트언어] php 재컴파일 없이 모듈추가 하는 방법 입니다. 제이네트워크 2015-11-24 38711
242 [스크립트언어] [php]php-5.3.x 버전 부터 Zend Guard Loader 설치 제이네트워크 2015-11-06 31919
241 [리눅스서버] [apache] mod_ruid2 모듈 설치시 에러 mod_ruid2.c:45:28: error: sys/capability.h: No such file … 제이네트워크 2015-11-06 31077
240 [메일] 센드메일-아웃룩에러 중 다른메일메세지가 배달중이거나... 제이네트워크 2015-11-03 28124
239 [스크립트언어] 각언어별 redirect 구문 제이네트워크 2015-10-06 32105
238 [메일] [sendmail]메일 수발신이 느릴때 (sendmail이 정상동작 하나 느리게 작동할 때) 제이네트워크 2015-09-22 30578
237 [DB] [mysql]mysqldump 로 백업시 lock table 에러로 백업이 안되는 경우 제이네트워크 2015-09-17 28344
236 [리눅스서버] CentOS(리눅스)버전, 혹은 APM(apache, php, mysql) 버전 확인하려고 할때 사용하는 … 제이네트워크 2015-09-07 30201
235 [스크립트언어] mysql 설치 후 phpMyAdmin #2002 MySQL 서버에 로그인할 수 없습니다. 해결법 (1) 제이네트워크 2015-09-03 44914
234 [리눅스서버] 리눅스서버에서 chracterset 을 맞출려고 할 때 제이네트워크 2015-08-25 30668
233 [윈도우서버] windows 2008/2012 서버 셋팅후 403 forbbiden 에러시 제이네트워크 2015-07-22 31892
232 [DB] [mysql] Mysql 에러코드 중에 (Got error 134 from storage engine) 나올때 처리법 제이네트워크 2015-06-04 26955
231 [DB] [mysql-5.6.x 설치 후 에러로 실행 안될때 ][Warning] TIMESTAMP with implicit DEFAULT value … 제이네트워크 2015-05-22 37518
230 [리눅스서버] [apche 1.3.x | 2.0.x 2.2 x.2.4.x ] 아파치 버전별 차이점 제이네트워크 2015-05-19 38200
229 [DB] [MS-SQL SERVER 2008 로그 파일 사이즈 줄이기] 제이네트워크 2015-05-12 28719
228 [윈도우서버] IIS7.x / IIS8.x 에서 asp 호스팅시 "Response 버퍼 제한 초과됨 " 오류 제이네트워크 2015-05-11 32516
227 [윈도우서버] [windows2008] SQL Server 액세스를 허용하도록 Windows 방화벽 구성 제이네트워크 2015-05-04 31740
226 [윈도우서버] [iis7.x ASP 에러] An error occurred on the server when processing the URL 제이네트워크 2015-05-04 31334
225 [DB] [mysql] 테이블 복사하기 (데이타포함, 비포함) 제이네트워크 2015-04-28 28450
224 [스크립트언어] [jquery] 파일 업로드 전에 파일사이즈 체크하기 제이네트워크 2015-04-28 41011
223 [윈도우서버] Windows Server 2008/2012 (64bit OS) - IIS7에서 32bit ASP 응용프로그램 사용법 제이네트워크 2015-04-27 31841
222 [윈도우서버] [windows server 2012 원격데스크톱 세션 늘리기] 제이네트워크 2015-04-27 33360
221 [윈도우서버] [IIS 8.x 설치 후 HTTP오류 404.3 오류 및 asp / asp.net 실행오류] 제이네트워크 2015-04-21 38137
220 [기타] [XE 1.8 설치시 에러]XE cannot connect to DB 제이네트워크 2015-04-11 31654
219 [DB] mysql 외부에서 접속 허용하기 (1) 제이네트워크 2015-04-08 33598
218 [리눅스서버] 리눅스서버에 VNC SERVER 설치 하기 (centos5.8~ 6.7 까지 되네요) 제이네트워크 2015-03-19 37098
 1  2  3  4  5  6  7  8  9  10