메뉴 건너뛰기

리눅스 관련 모음

본문시작

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

   

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
190 에러해결 Apache-2.4.X 에서 mod_evasive-1.10.1 설치시 나오는 에러 해결... secret 햇빛소년 2013.01.11 0
189 에러해결 PHP5.3 가동후 에러 메세지 secret 햇빛소년 2013.01.13 0
188 설치관련 PHP CodeSniffer 코딩검사 secret 햇빛소년 2013.01.14 0
187 에러해결 modcurity 에러메세지 secret 햇빛소년 2013.01.17 0
186 에러해결 apache2.x.x 컴파일 에러 해결 - /usr/local/lib/liblua.a: could not read symbols: Bad value secret 햇빛소년 2013.01.19 0
185 설치관련 /etc/init.d/proftpd 실행 스크립트 secret 햇빛소년 2013.06.19 0
184 설치관련 [Linux Password 정책변경] linux 비밀번호 md5에서 SHA-512로 변경하기 secret 햇빛소년 2013.06.30 0
183 에러해결 LGU+ 결제 Mserver 설치관련 에러 사항..... secret 햇빛소년 2013.07.18 0
182 설치관련 메일계정 관련 명령어... secret 햇빛소년 2013.08.19 0
181 에러해결 'post-create' on '/var/spool/abrt/................................... secret 햇빛소년 2013.08.28 0
180 에러해결 XE 데이터 이전시 "댓글" 사라지는 문제 해결... secret 햇빛소년 2014.02.13 0
179 에러해결 zone_resigninc:dns_journal_open -> unexpected error secret 햇빛소년 2015.02.07 0
178 에러해결 [mysql] 에러 메세지 - RSA private key file not found: /mysql/data//private_key.pem. Some authentication plugins will not work. secret 햇빛소년 2014.01.20 1
177 설치관련 당신이 대통령이어선 안 되는 이유 -- 청와대에 올라 온 글 [펌] secret 햇빛소년 2014.04.28 1
176 설치관련 mysql 컴파일 설치 후 해야 할 일... secret 햇빛소년 2014.02.23 4
175 에러해결 [mysql]에러 메세지- #1146 - Table 'mysql.innodb_index_stats' doesn't exist 해결 secret 햇빛소년 2014.01.17 157
174 설정 및 사용법 IPv6 비활성화 방법 햇빛소년 2023.04.01 281
173 에러해결 그누보드 영카트 대신택배 배송조회 깨짐 현상 정확한 URL 링크 주소. 햇빛소년 2022.08.23 340
172 에러해결 기가인터넷 CAT.6 인터넷 속도 100Mb 인식 문제 해결 햇빛소년 2023.03.17 341
171 에러해결 win8.1 F8 안전모드 부팅하기 햇빛소년 2015.02.22 739
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10