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

번호 제   목   글쓴이 날짜 조회
337 [스크립트언어] [php]링크 중에서 파일명만 뽑기 제이네트워크 2012-05-02 42420
336 [리눅스서버] SSH 클라이언트 접속시 한글 깨짐 문제 (1) 관리자 2011-06-17 42388
335 [스크립트언어] [PHP]이온큐브 로더 ioncube loader 설치방법 입니다. (php.ini설정) 제이네트워크 2015-01-21 42352
334 [기타] 설치 패키지를 열지 못했습니다. 패키지가 있는지, 액서스할 수 있는지 확… 관리자 2011-08-02 42344
333 [스크립트언어] [asp] asp에서 천단위 , 찍는 코딩방법 관리자 2012-03-01 42112
332 [스크립트언어] [asp]HTTP 오류 500.24 - Internal Server Error 관리되는 통합 파이프라인 모드에 적용… 제이네트워크 2014-12-09 42082
331 [스크립트언어] php zip 설치 (ziparchive php extension) 제이네트워크 2015-11-25 42080
330 [기타] 익스플로러8(ie8)에서만 jpg 이미지가 보이지 않고 엑박 뜰 경우 조치 방법 제이네트워크 2013-09-23 41976
329 [스크립트언어] [XE] xe(제로보드 xe)에서 댓글 및 엮인 글을 모두 지워야 할때(쿼리) 제이네트워크 2013-08-06 41763
328 [기타] URL 데이터의 처리-GET과POST 관리자 2011-06-17 41697
327 [스크립트언어] [asp] 날짜계산시 ASP에서 윤달계산에 주의 하자 관리자 2012-03-01 41438
326 [리눅스서버] [rsync]rsync로 서버이전시에 서버에 있는 DATA 소유권/권한 관련 문제 제이네트워크 2015-01-21 41215
325 [윈도우서버] [MIME설정] IIS 6.X 에서 flv 및 f4v 확장자 인식하도록 MIME설정 제이네트워크 2013-02-05 41054
324 [리눅스서버] VSFTP 에서 사용하는 port를 변경하기 제이네트워크 2018-04-26 40891
323 [스크립트언어] [jquery] 파일 업로드 전에 파일사이즈 체크하기 제이네트워크 2015-04-28 40868
322 [윈도우미디어] [windows8.x wmp설치 문제] w8에서 윈도우 미디어 플레이어 설치 제이네트워크 2015-01-26 40669
321 [스크립트언어] ASP에서 char형 데이타가 datatime형으로 데이타가 들어가지 않을때. 관리자 2011-06-17 40623
320 [스크립트언어] [ASP] Asp언어 xml 파싱에러처리 관리자 2011-06-17 40554
319 [리눅스서버] 리눅스 시스템 부팅시 작업 순서 제이네트워크 2013-10-21 40486
318 [리눅스서버] 리눅스 apache서버에서 redirect 방법들 (1) 관리자 2011-08-01 40306
317 [리눅스서버] [SSL]OPEN SSL 사용 Apache서버에서 CSR 인증키 생성 제이네트워크 2014-11-26 40226
316 [스크립트언어] [PHP] phpize 를 이용한 php iconv 모듈 추가 제이네트워크 2015-01-21 40202
315 [스크립트언어] [asp]Microsoft VBScript 런타임 오류 오류 '800a01ad' 제이네트워크 2014-11-22 40157
314 [DB] [DB]mysql에서 외부 디비를 커넥션할 경우 접속 속도가 느려질때 제이네트워크 2015-01-16 39885
313 [스크립트언어] PHP5.3에서 split함수에러시 explode수정함 관리자 2011-08-02 39862
312 [기타] [워드프레스]워드프레스 이전 후 도메인주소(URL)변경하기 제이네트워크 2014-11-27 39707
311 [스크립트언어] [제로보드4]관리자 테이블 생성 실패 에러시 제이네트워크 2012-07-09 39667
310 [플래시미디어] 플레쉬플레이어 설치하기 (Windows, Internet Explorer) 관리자 2008-12-09 39562
309 [스크립트언어] PHP 5.3 이상 버전에서의 Zend Optimizer 설치 제이네트워크 2015-01-16 39545
308 [리눅스서버] apache 2.2 client denied by server configuration 오류 해결방법 관리자 2011-06-17 39409
307 [윈도우서버] [IIS7.0 MIME type 추가 방법] win2008 서버 IIS7.X 에서 .hwp 파일 업/다운로드 안될때 제이네트워크 2014-05-26 39397
306 [스크립트언어] 영문 숫자조합 검색 자바스크립트 관리자 2011-06-17 39381
305 [스크립트언어] php-5.3.x 확장모듈 cURL 설치 방법 제이네트워크 2015-11-24 39375
304 [플래시미디어] flv 변환 관리자 2008-12-09 39268
303 [DB] [MYSQL]PHPMYADMIN 3.5버전 설치하기 제이네트워크 2012-08-31 39094
302 [윈도우미디어] WMS 익명 사용자 인증 오류 (0x8007052e) (1) 제이네트워크 2013-05-22 39010
301 [스크립트언어] PHP에서 엑셀파일을 생성할 수 있도록 도와주는 클래스입니다. 제이네트워크 2015-01-16 38854
300 [스크립트언어] 검색엔진 최적화를 위한 index.html 구성요령 (테크노트PHP) 제이네트워크 2011-06-17 38813
299 [리눅스서버] [ftp 서버 설정 - 리눅스서버에서 바로 ftp 명령어 사용법] 제이네트워크 2013-12-09 38743
298 [기타] [GPT 파티션 삭제 하는 법] 제이네트워크 2013-07-26 38738
 1  2  3  4  5  6  7  8  9  10