메뉴 건너뛰기

리눅스 관련 모음

본문시작

조회 수 45287 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

국산 통나무 수공예 남원제기, 남원목기

자료가 도움이 되셨다면
혼수용품제수용품 필요시
남원제기 공식 홈페이지 http://남원제기.kr
남원목기 공식 홈페이지 http://otchil.kr
에서 구매 해 주세요
정성껏 모시겠습니다.
 
관리용으로 모든 아이피에서 접근 할 수 있도록 서버 설정이 되어 있는 경우, 불특정 IP에서

SSH 포트로 로그인 시도가 일어난다.

불특정 IP를 자동으로 /etc/hosts.deny 에 등록함으로서 접근 시도를 방지한다.

사용환경

fedora 5

첫번째로 ssh 에 대한 log 기록은 /var/log/secure에 기록된다.

var/log/secure에 기록된 로그 중에서 로그인 시도를 한 IP를 찾아낸다.

grep "Failed password for" /var/log/secure | egrep -v "invalid user|{USERID}|{LOGINIP}" | awk '{ print $11}' | uniq | sed "s/^/all:/" > /tmp/anonymous_login

grep "Failed password for invalid user" /var/log/secure.1 | awk '{ print $13}' | uniq | sed "s/^/all:/" >> /tmp/anonymous_login

{USERID} 부분에는 로그인 하기 위한 ID를 설정한다. 이것을 설정하지 않으면 자기가 로그인 시도를 하다가 실패를 할 경우 콘솔로 가거나 다른IP 장소에서 로그인하지 않으면 안된다.

{LOGINIP} 로그인 장소가 고정아이피이며 특정IP에서는 발생하는 로그인 실패기록은 무시를 할 경우 기록한다. 유동아이피 일 경우는 주의 하도록 한다.

{ print $11} 부분은 접속 실패가 일어 날 경우 접속 거부할 상대방의 IP의 위치

다 른 배포판을 위하여 /var/log/secure에 기록되는 내용이 배포판마다 다를 수 있으므로 grep문에 로그를 찾기 위한 부분이나 egrep -v로 로그파일에서 취득하고 싶지 않는 내용을 적거나 awk에 의해 취득해 오기 위한 해당 열의 위치등 설정을 바꾸어 보도록 한다.

- 첫번째의 grep은 존재하는 user id 로 시도를 하려고 할 때 로그인 실패시 IP를 얻기 위한 명령어

- 두번째의 grep은 존재하지 않는 user id 로 시도를 하려고 할 때 로그인 실패시 IP를 얻기 위한 명령어

두번째로는 만들어진 접속 거부 IP와 접속거부 설정 파일과의 머지 작업을 위해 임시 파일을 만든다.

cat /tmp/anonymous_login /etc/hosts.deny | sort | uniq > /tmp/hosts.deny

마지막으로 만들어진 임시 파일을 접속 거부 설정 파일로 복사한다.

cp /tmp/hosts.deny /etc/hosts.deny

위의 내용을 crontab에 넣어 자동적으로 갱신되도록 한다.

crontab -e로 현재의 crontab 내용을 열어 다음과 같이 넣도록 한다.

00 * * * * grep "Failed password for" /var/log/secure | egrep -v "invalid user|{USERID}|{LOGINIP}" | awk '{ print $11}' | uniq | sed "s/^/all:/"  > /tmp/anonymous_login

03 * * * * grep "Failed password for invalid user" /var/log/secure.1 | awk '{ print $13}' | uniq | sed "s/^/all:/" >> /tmp/anonymous_login

05 * * * * cat /tmp/anonymous_login /etc/hosts.deny | sort | uniq > /tmp/hosts.deny

07 * * * * cp /tmp/hosts.deny /etc/hosts.deny

매 시간 한번씩 갱신이 되며 갱신 주기는 서버 로그를 보면서 조정하도록 한다.

각각의 클론 설정을 매 분 주기로 처리를 하지 않도록 한다. 로그 파일이 길어질 경우

기존의 hosts.deny 파일이 마지막으로 처리한 필터링으로만 설정될 수 있다.

자기 자신도 원격에서의 접속은 필히 주의를 하도록 한다. 실수를 하게 되면 로그에

로그인 실패 로그가 남게 되며 이 로그에 의해 원격지의 IP도 블럭이 된다.

실수를 하고 로그인을 했다면 로그 파일에서 실패 로그를 지우도록 한다.

참조

http://kltp.kldp.org/stories.php?story=05/08/02/4164861



출처] http://funpython.com/blog/7



아래 내용은 제가 테스트 하고 붙인 내용
#########################################################################################
위처럼 하시게 되면 서버 접근하는 80포트를 포함 모든 포트가 차단됩니다.

만약 SSH만 차단하시는 것이라면 ,

grep "Failed password for invalid user" /var/log/secure.1 | awk '{ print $13}' | uniq | sed "s/^/sshd:/" >> /tmp/anonymous_login

특정 포트 차단시는

grep "Failed password for invalid user" /var/log/secure | awk '{ print $13}' | uniq | sed "s/^/80:/" >> /tmp/anonymous_login

저 같은 경우 crontab에 3분 마다 체크 하게 해 놨습니다. ㅎㅎ

   

  1. No Image 20Jun
    by 햇빛소년
    2011/06/20 by 햇빛소년
    Views 38319 

    유동아이피를 고정아이피로 만들기

  2. No Image 19May
    by 햇빛소년
    2011/05/19 by 햇빛소년
    Views 40541 

    내년부터 시험없이 국가기술자격 딴다

  3. No Image 19May
    by 햇빛소년
    2011/05/19 by 햇빛소년
    Views 36768 

    공기정화 식물을 키워라!

  4. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 65475 

    Iptables 간략 사용하기

  5. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 50477 

    실제 예(passwd명령어)로 SetUID, SetGID 이해하기

  6. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 44096 

    서버설치후 해야할 일

  7. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 47998 

    리눅스 시스템정보 알아내기

  8. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 60716 

    리눅스 관리자가 알아두어야 할 50가지

  9. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 45046 

    crontab 설정

  10. No Image 12May
    by 햇빛소년
    2011/05/12 by 햇빛소년
    Views 45287 

    ssh로 특정 ip접근 hosts.deny 자동 추가

  11. No Image 11May
    by 햇빛소년
    2011/05/11 by 햇빛소년
    Views 51435 

    [1원짜리 팁] hosts.deny

  12. sendmail + dovecot 설정

  13. No Image 09May
    by 햇빛소년
    2011/05/09 by 햇빛소년
    Views 51321 

    MySQL에러[Warning] IP address '211.154.154.171' could not be resolved: no reverse address mapping.

  14. Linux Disable Core Dumps

  15. No Image 02May
    by 햇빛소년
    2011/05/02 by 햇빛소년
    Views 96539 

    Mail Server 구축(postfix, dovecot, amavisd-new, spamassassin, clamav)

  16. No Image 01May
    by 햇빛소년
    2011/05/01 by 햇빛소년
    Views 51811 

    httpd 스크립트 - /etc/rc.d

  17. No Image 16Apr
    by 햇빛소년
    2011/04/16 by 햇빛소년
    Views 48491 

    파이프, 필터, 리다이렉션

  18. SURBL을 이용해 스팸 정확도 극대화하기

  19. No Image 13Apr
    by 햇빛소년
    2011/04/13 by 햇빛소년
    Views 48101 

    spamassassin /320.pre -> Rule2XSBBody 체크시 에러 해결법

  20. No Image 10Apr
    by 햇빛소년
    2011/04/10 by 햇빛소년
    Views 55309 

    rndc: connection to remote host closed 네임서버오류

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10