메뉴 건너뛰기

리눅스 관련 모음

본문시작

조회 수 45286 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
190 Mail Server 구축(postfix, dovecot, amavisd-new, spamassassin, clamav) file 햇빛소년 2011.05.02 96539
189 에러해결 pcre최신버전 소스설치 후 modsecurity-apache 컴파일시 에러 햇빛소년 2013.01.19 76537
188 Spam Assassin + ClamAV 바이러스 필터 연동하기 file 햇빛소년 2011.03.29 74186
187 Amavisd 에서 spam filtering 수준 조절 햇빛소년 2011.04.09 72541
186 iptables 삭제명령 햇빛소년 2012.05.15 71451
185 Iptables 간략 사용하기 햇빛소년 2011.05.12 65475
184 Install amavisd-new, SpamAssassin 햇빛소년 2011.04.09 62641
183 리눅스 관리자가 알아두어야 할 50가지 햇빛소년 2011.05.12 60669
182 에러해결 phpmyadmin 4.0 로그인시 에러.. 햇빛소년 2013.06.18 59733
181 Apache 2.4.1 소스설치시 에러에 대한 해결 햇빛소년 2012.02.26 58168
180 rndc: connection to remote host closed 네임서버오류 햇빛소년 2011.04.10 55308
179 su 명령의 문제점 햇빛소년 2011.10.04 54647
178 httpd 스크립트 - /etc/rc.d 햇빛소년 2011.05.01 51811
177 ModSecurity-Apache 설치, Lua, readline 햇빛소년 2013.01.07 51531
176 [1원짜리 팁] hosts.deny 햇빛소년 2011.05.11 51435
175 [Mysql] password설정 및 변경, root 비번 잃어버렸을 경우 변경법 햇빛소년 2011.03.20 51422
174 DCC로 안티스팸 기능 확장하기 햇빛소년 2011.03.18 51328
173 MySQL에러[Warning] IP address '211.154.154.171' could not be resolved: no reverse address mapping. 햇빛소년 2011.05.09 51321
172 SURBL을 이용해 스팸 정확도 극대화하기 file 햇빛소년 2011.04.14 50988
171 MYSQL / 필드내 특정 문자열 치환하는 mysql 명령문 햇빛소년 2011.03.26 50687
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10