메뉴 건너뛰기

리눅스 관련 모음

본문시작

조회 수 45289 추천 수 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분 마다 체크 하게 해 놨습니다. ㅎㅎ

   

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
30 crontab 설정 햇빛소년 2011.05.12 45046
» ssh로 특정 ip접근 hosts.deny 자동 추가 햇빛소년 2011.05.12 45289
28 Linux Disable Core Dumps file 햇빛소년 2011.05.02 46488
27 cpanm 햇빛소년 2011.04.04 47599
26 리눅스 시스템정보 알아내기 file 햇빛소년 2011.05.12 47998
25 spamassassin /320.pre -> Rule2XSBBody 체크시 에러 해결법 햇빛소년 2011.04.13 48101
24 파이프, 필터, 리다이렉션 햇빛소년 2011.04.16 48491
23 Solving the "Can't connect to UNIX socket" and "/parts: Access denied" problems. 햇빛소년 2011.04.08 49950
22 한국에 맞는 스팸어쎄신 설정하여 스팸 95% 줄여보기 햇빛소년 2011.03.18 50196
21 실제 예(passwd명령어)로 SetUID, SetGID 이해하기 햇빛소년 2011.05.12 50478
20 MYSQL / 필드내 특정 문자열 치환하는 mysql 명령문 햇빛소년 2011.03.26 50687
19 SURBL을 이용해 스팸 정확도 극대화하기 file 햇빛소년 2011.04.14 50988
18 MySQL에러[Warning] IP address '211.154.154.171' could not be resolved: no reverse address mapping. 햇빛소년 2011.05.09 51323
17 DCC로 안티스팸 기능 확장하기 햇빛소년 2011.03.18 51328
16 [Mysql] password설정 및 변경, root 비번 잃어버렸을 경우 변경법 햇빛소년 2011.03.20 51422
15 [1원짜리 팁] hosts.deny 햇빛소년 2011.05.11 51435
14 ModSecurity-Apache 설치, Lua, readline 햇빛소년 2013.01.07 51532
13 httpd 스크립트 - /etc/rc.d 햇빛소년 2011.05.01 51811
12 su 명령의 문제점 햇빛소년 2011.10.04 54656
11 rndc: connection to remote host closed 네임서버오류 햇빛소년 2011.04.10 55309
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10