[리눅스/LINUX/LPIC] 접속시도를 여러번 하는 IP 자동 블락하기
리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC
안녕 리눅스를 아주 잘 쓰고 있는 허접 유저입니다. 매일 도움만 얻어가다가
간단한 스크립트를 하나 만들어서 올립니다.
여건상 어쩔 수 없이 외부에서 접근하는 IP를 모두 블락시켜놓지 못하는 경우
가 있습니다. 예를 들면 웹호스팅 서버의 경우 서버에 입주해 있는 유저들도
ssh등을 써야하기 때문에, 외부에서 접근하는 IP를 모두 막을 수 없는 일이 벌
어집니다.
루트 로그인을 막아놓고 방화벽으로 필요없는 포트를 모두 막아놓는다 하더라
도, 매일매일 무수히 접근시도를 하는 메세지들이 로그에 쌓이는걸 보니(하루
에 수천번 접속 시도를 합니다...) 짜증이 살짝 솟구쳐서-_- 아래와 같은 스크
립트를 만들게 되었습니다.
포트센트리는 의도하지 않았던 결과가 자주나와 아예 염두에 두지 않았습니다-
_-;
간단히 말해 5번 로그인 실패하는 IP를 user.conf에 추가시킵니다.
이것을 crontab에 등록해, 하루에 한번씩 oops-firewall을 리스타트시키는 것
으로 사용하고 있습니다.
----------------------------------------------------------------------
#!/bin/bash
# Script by Yunkiman
days=`date +%d`
for i in $( cat /var/log/messages | grep "Failed password for" | awk '$2
= $days {print $13}' | sort | uniq -c | awk '$1 > 5 {print $2}'); do
echo "%-A INPUT -s $i -j DROP" >> /etc/oops-firewall/user.conf
done
----------------------------------------------------------------------
참고로 for 문이 들어있는 문장은 do 까지가 한문장입니다.
주된 내용은, messages 로그안에서 오늘 날짜에 대한 "Failed password for"
가 들어간 문장을 grep으로 모두 뽑아낸 다음, awk로 오늘 날짜에 해당하는 라
인의 13번재 인자, 즉 IP주소만을 뽑아냅니다.
그리고 sort하고(안해도 됨) uniq -c 명령으로 중복되는 라인을 싹 제거하고 -
c 옵션으로 중복되는 수를 카운트해서 IP 앞에 표시합니다. 이유는 몇번 로그
인 시도를 실패했는지 수를 헤아리기 위해서입니다.
또 그 결과의 첫번째 인자를(첫번째 인자가 중복 로그인 실패 IP의 카운트 수
가 되므로) awk로 판단하여, 5보다 숫자가 크면 두번째 인자인 IP 주소만 뽑아
냅니다. 숫자 5는 마음대로 설정하셔서 쓰시면 되겠습니다. 5번 로그인 실패했
다는 의미입니다.
그 다음 해당 IP를 /etc/oops-firewall/user.conf 파일에 추가하게 됩니다.
이후에는 크론탭에 밤 11:50분 경에 위의 스크립트를 실행하고, 바로 oops-
firewall을 리스타트 하게 해놓았습니다.
편하신대로 수정해서 쓰시면 되겠습니다.
좀 더 보완하면 깔끔하게도 될 것 같은데 귀찮아서 하루에 한번 등록하는걸로
쓰고 있습니다 -0-;;;;
보완할 점이 있으면 리플달아주시면 알랍붸붸입니다.
안녕 리눅스 만쉐이~ -0-/
출처: http://www.it-bank.or.kr/master/linux_main.htm
리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC
리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC
안녕 리눅스를 아주 잘 쓰고 있는 허접 유저입니다. 매일 도움만 얻어가다가
간단한 스크립트를 하나 만들어서 올립니다.
여건상 어쩔 수 없이 외부에서 접근하는 IP를 모두 블락시켜놓지 못하는 경우
가 있습니다. 예를 들면 웹호스팅 서버의 경우 서버에 입주해 있는 유저들도
ssh등을 써야하기 때문에, 외부에서 접근하는 IP를 모두 막을 수 없는 일이 벌
어집니다.
루트 로그인을 막아놓고 방화벽으로 필요없는 포트를 모두 막아놓는다 하더라
도, 매일매일 무수히 접근시도를 하는 메세지들이 로그에 쌓이는걸 보니(하루
에 수천번 접속 시도를 합니다...) 짜증이 살짝 솟구쳐서-_- 아래와 같은 스크
립트를 만들게 되었습니다.
포트센트리는 의도하지 않았던 결과가 자주나와 아예 염두에 두지 않았습니다-
_-;
간단히 말해 5번 로그인 실패하는 IP를 user.conf에 추가시킵니다.
이것을 crontab에 등록해, 하루에 한번씩 oops-firewall을 리스타트시키는 것
으로 사용하고 있습니다.
----------------------------------------------------------------------
#!/bin/bash
# Script by Yunkiman
days=`date +%d`
for i in $( cat /var/log/messages | grep "Failed password for" | awk '$2
= $days {print $13}' | sort | uniq -c | awk '$1 > 5 {print $2}'); do
echo "%-A INPUT -s $i -j DROP" >> /etc/oops-firewall/user.conf
done
----------------------------------------------------------------------
참고로 for 문이 들어있는 문장은 do 까지가 한문장입니다.
주된 내용은, messages 로그안에서 오늘 날짜에 대한 "Failed password for"
가 들어간 문장을 grep으로 모두 뽑아낸 다음, awk로 오늘 날짜에 해당하는 라
인의 13번재 인자, 즉 IP주소만을 뽑아냅니다.
그리고 sort하고(안해도 됨) uniq -c 명령으로 중복되는 라인을 싹 제거하고 -
c 옵션으로 중복되는 수를 카운트해서 IP 앞에 표시합니다. 이유는 몇번 로그
인 시도를 실패했는지 수를 헤아리기 위해서입니다.
또 그 결과의 첫번째 인자를(첫번째 인자가 중복 로그인 실패 IP의 카운트 수
가 되므로) awk로 판단하여, 5보다 숫자가 크면 두번째 인자인 IP 주소만 뽑아
냅니다. 숫자 5는 마음대로 설정하셔서 쓰시면 되겠습니다. 5번 로그인 실패했
다는 의미입니다.
그 다음 해당 IP를 /etc/oops-firewall/user.conf 파일에 추가하게 됩니다.
이후에는 크론탭에 밤 11:50분 경에 위의 스크립트를 실행하고, 바로 oops-
firewall을 리스타트 하게 해놓았습니다.
편하신대로 수정해서 쓰시면 되겠습니다.
좀 더 보완하면 깔끔하게도 될 것 같은데 귀찮아서 하루에 한번 등록하는걸로
쓰고 있습니다 -0-;;;;
보완할 점이 있으면 리플달아주시면 알랍붸붸입니다.
안녕 리눅스 만쉐이~ -0-/
출처: http://www.it-bank.or.kr/master/linux_main.htm
리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC 리눅스 LINUX LPIC