웹마스터 팁

안녕하세요. 고구마군 입니다.


인터넷으로 사업을 하시다 보면 비정상적인 인터넷 접속 등으로 운영중인 서비스에 지장을 초래 하는 일이 빈번하여

조그만 도움이라도 드리고자 글 올립니다.


사용 환경 : Fedora / Centos LINUX

제약 사항 : root 권한이 있어 프로그램 설치가 가능하여 함. 

                 vi 유틸리티를 사용 할줄 알아야 함.

패키지 명 : fail2ban

설치 방법 : yum 유틸리티를 이용한 패키지 설치


[설치 방법]

1. fail2ban 유틸리티가 설치 되어 있는지 확인

[root@woorimail ~]# yum list installed | grep fail2ban

[root@woorimail ~]#


2. fail2ban 유틸리티의 존재 유무 확인

[root@woorimail ~]# yum list | grep fail2ban

fail2ban.noarch                          0.8.11-2.el6                   @epel


3. fail2ban 설치

[root@woorimail ~]# yum install fail2ban.noarch 

...

... 

(생략)


4. fiail2ban 설정 

[root@woorimail  /]#  cd /etc/fail2ban

[[root@woorimail fail2ban]#  ls

action.d  fail2ban.conf  filter.d  jail.conf

[root@woorimail fail2ban]#  vi fail2ban.conf


5. 로그 위치 변경 (  vi 유틸리티를 이용한 편집 )

(before) logtarget = SYSLOG 

(  after ) logtarget = /var/log/fail2ban.log

변경 후 저장 및 종료


6. 가장 중요한 프로그램 별 설정

[root@woorimail fail2ban]#  vi jail.conf


7. 감시 주기 / 시도 횟수 및 ban 시간 설정 (  vi 유틸리티를 이용한 편집 )

ex) 1분 동안 5번의 접속 시도를 하여 정상적인 로그인이 되지 않은 경우 24시간 동안 접속 불가 상태로 만듬

jail.conf 파일 내부  [DEFAULT] 섹션 수정 

findtime  = 60  : 1분 =  60초

maxretry = 3 : 5회 시도

bantime  = 86400 : 60초 * 60분 * 24 시간 = 86400 초


위 예제를 참고 하여 본인의 취향에 맞게 기본 동작 설정.


8. 프로그램 별 설정 (  vi 유틸리티를 이용한 편집 )

ex ) ssh로 불법적인 root 권한 취득 방지 설정

jail.conf  파일 내부 [ssh-iptables] 섹션 수정


[ssh-iptables]


enabled  = true  ( false 에서 true 로 변경 )

filter   = sshd

action   = iptables[name=SSH, port=ssh, protocol=tcp]

           sendmail-whois[name=SSH, dest=root, sender=fail2ban@example.com, sendername="Fail2Ban"]

logpath  = /var/log/secure

maxretry = 5


dest=root 를 변경 하여 본인이 메일 받기 원하는 곳의 E-mail로 변경 ( 해당 장비가 외부 Email 발송이 가능 해야 함 )



위와 같이 사용하고자 하는 프로그램 별로 enabled = true 로 변경 하여 사용 하시면 됩니다.



[fail2ban 유틸리티의 실행]

1. 위 과정에서 기본적인 설정 후 fail2ban 유틸리티 실행

[root@woorimail fail2ban]#  service fail2ban start

fail2ban ?? 以: WARNING 'ignoreregex' not defined in 'Definition'. Using default one: ''

                                                           [  OK  ]

[root@woorimail fail2ban]# 



2. 리눅스 장비 재기동 시 자동 실행을 위한 설정

[root@woorimail fail2ban]# chkconfig --level 2345 fail2ban on

[root@woorimail fail2ban]# chkconfig --list | grep fail2ban

fail2ban       0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제

[root@woorimail fail2ban]# 



fail2ban 패키지를 사용하면 따로 모니터링 하고 있지 않아도 불법적인 접속 시도를 자동으로 모니터링 하여

주어진 조건 1분간 5번의 불법적 접속( 예 : ssh  접속 실패 )를 감지 하여 자동으로 해당 ip 블럭 

이후 주어진 시간( 위 예제의 경우 86400초 = 1일 ) 경과 후 자동 ip 블럭 해제가 이루어 집니다.


iptables / route 명령을 사용하기 위해서는 운용 중인  서비스의 이상이 이미 발생 하고 나서 후 조취를 취하는 것인데

위의 fail2ban 패키지 사용 시 조건 설정 만으로도 자동 모니터링이 이루어 지게 됩니다.


또한 운용 중인 서버에서 외부 메일 발송이 가능하면 메일로 ip 블럭 / 해제 에 대한 리포팅 메일을 보내 주기 때문에

현재 서버의 상태를 이메일을 통해 보고 받을 수 있습니다.


소 잃고 외양간 고치기 보다는 외양간 출입구에 경보기를 달아 자동으로 침입탐지 및 접근 금지를 하시는 것이 더 좋을 것이라 판단 됩니다.


저도 최근에 사용 하고 있어 속속들이 알고 있지는 못하지만 아는 부분에 대해서는 알려 드리도록 하겠습니다.


그럼 설치 성공 하시길 빕니다. ^^ 

제목 글쓴이 날짜
XE CDN 서비스 중단에 대응하는 CDN 주소 변경법 (자신의 CDN서버로) [2] Stellar 2013.11.08
XE 1.7.3.X 메뉴얼 [2] 도라미 2013.11.08
관리자만 글 등록이 되고, 일반 유저는 글 등록버튼을 누르면 아무런 반응이 없을 때. [1] whitemind 2013.11.07
페이지로딩시 메모리 부족이란 오류메시지가 뜰때... 똑디 2013.11.07
xe 1.7에서 이미지프로세스 상단 깨지는것~ [2] 착한악마 2013.11.07
에디터가 활성화 되지 않을시... [1] 똑디 2013.11.06
게시판 가로사이즈 조절과 가운데 정렬 [1] Filmfx 2013.11.02
회원가입 확장모듈 사용중 캡챠 실패시 재동의 안하기 말똥이 2013.10.31
회원가입 확장모듈, 환영쪽지를 끄면 메일이 안날아가는 문제수정. Xiso 2013.10.31
XE1.7 사이트맵에서 권한설정시 특정그룹을 선택해 등록하면 권한이 등록 안 되는 버그 수정법 (추가) sejin7940 2013.10.30
익명 게시판을 사용중일때 이미지 썸내일표시. 말똥이 2013.10.27
xpresseditor에 한글 글꼴 추가 [2] YJSoft 2013.10.25
기본 URL 설정 팁 [4] EvangelineA.K.Macdowell 2013.10.25
.htaccess 파일 관련 팁(웹 사이트 퍼포먼스 향상 및 트래픽 절감 효과) [21] file 서시빈목 2013.10.22
스케치북 1.7.2.1 게시판 닉네임 짤림 오류 임시 수정법 귀머거리하늘 2013.10.21
스케치북 1.7.2.1 게시판 상단 내용 오류 수정 방법 귀머거리하늘 2013.10.21
.htaccess 에서 캐시 설정(?) [1] socialskyo 2013.10.20
통합게시판 만들기 [30] Lansi 2013.10.20
확장 컴포넌트 아이콘 출력 하기 [2] file 귀머거리하늘 2013.10.18
[주옥시리즈] 내글 모니터링, 작성글 앞으로 뺴기 [6] socialskyo 2013.10.18