메뉴 건너뛰기

리눅스 관련 모음

본문시작

조회 수 45290 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
150 에러해결 httpd: undefined symbol: apr_procattr_perms_set_register 에러 해결 햇빛소년 2018.12.04 3256
149 에러해결 네임서버(NameServer) 설정 및 점검 사이트 햇빛소년 2014.11.01 3459
148 에러해결 selinux 퍼미션 에러 audit2allow 로 쉽게 .... 햇빛소년 2014.02.28 3470
147 설치관련 유동IP(DDNS)+공유기+apache서버1+apache서버2+proxy로 도메인 포워딩. secret 햇빛소년 2014.10.28 3480
146 설치관련 리눅스 콘솔에서 SSH 원격 서버 접속하기 햇빛소년 2014.02.23 3531
145 설치관련 페도라 epel-release 업데이트 햇빛소년 2014.03.04 3544
144 설치관련 pear.phpunit.de/PHPUnit 패키지를 설치 햇빛소년 2014.03.07 3646
143 설치관련 Lua 설치 햇빛소년 2014.03.01 3687
142 에러해결 [win8] 호스트된 네트워크를 시작할 수 없습니다. 햇빛소년 2014.10.30 3687
141 에러해결 CentOS7 firewall 사용시 spamd: could not create INET socket on 127.0.0.1:783: 햇빛소년 2014.11.04 3748
140 설치관련 PHP - PEAR 확장 라이브러리 설치 햇빛소년 2014.03.07 3795
139 에러해결 php 소스컴파일시 - /usr/bin/ld: cannot find -lltdl 에러 날 때. 햇빛소년 2014.10.17 3815
138 설치관련 MySQL 데이타베이스 (DB) euckr => utf8 로 변환하여 이전 작업 하기 햇빛소년 2014.03.10 3845
137 설치관련 php-559컴파일시 에러---configure: error: utf8_mime2text() has new signature,.... 햇빛소년 2014.02.23 3894
136 에러해결 centos 7 : modsecurity 컴파일 설치시 iconv 찾지 못하는 에러... 햇빛소년 2014.10.18 3972
135 설치관련 euckr <-> utf8 일괄 변환...php, txt, html, htm, js, css 등등 file 햇빛소년 2014.03.09 4009
134 설치관련 경영학과의 눈물… 예고된 취업 바늘구멍 햇빛소년 2014.10.12 4048
133 에러해결 libmysqlclient.so.16()(64bit) is needed by... 낮은 버전을 요구 할 때.. 햇빛소년 2014.02.23 4117
132 에러해결 PHP COMPILE - error: wrong mysql library version or lib not found. 햇빛소년 2014.03.15 4129
131 설치관련 PHP53Compatibility - PHP_CodeSniffer를 기반으로 한 PHP5.3 으로 버전업시 발생되는 문제점 체크 햇빛소년 2014.03.11 4190
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10