난 현재 Ubuntu 18.04 운영체제의 간단한 홈 서버를 운영중에 있다.
sudo /var/log/auth.log
sudo /var/log/auth.log
를 통해 내 서버의 접속 목록을 살펴보자..
누가 로그인 시도를 했을까?
이런,,, 엄청 많다... 정말 많다. 중국 예맨 브라질 미국 특정 주 등등... WHOIS에만 찾아봐도 다양한 국가의 IP들이 나온다..
https://xn--c79as89aj0e29b77z.xn--3e0b707e/kor/main.jsp
KISA 후이즈검색 whois.kisa.or.kr
한국인터넷진흥원 인터넷주소자원 검색(후이즈검색) 서비스 입니다.
xn--c79as89aj0e29b77z.xn--3e0b707e
그래서 더욱 필요해졌다. 이름은 fail2ban
fail2ban 이란 지정한 시간내에 지정한 횟수만큼 실패 하면 ban 시간만큼 접속을 차단하는 것이다.
방화벽 세팅을 하기 귀찮은 나에게 있어서는 최고!
fail2ban 은 로그기반 프로그램이기 때문에 로그가 쌓이는 시점으로 계산된다.
이것 때문에 발생하는 fail2ban maxretry별 최대 로그인 시도가능 횟수.
1 => 1번
2 => 7번
3=> 13번
4=> 19번
5=> 25번
6=>31번
n=> 6*(n-1) + 1 번
SSH의 경우 로그인이 실패(fail)하면 재시도(retry) 5회 하도록 해 줍니다. 재시도는 카운트 되지 않습니다.
SFTP의 경우 로그인이 실패(fail)하면 retry 안하고 바로 연결을 끊기 때문에 로그인 최대 시도횟수가 의도한대로 동작합니다.
출처:https://blog.lael.be/post/1209
1단계: Fail2ban 설치하기!
apt-get install fail2ban
설치 후
sudo iptables -L 로 방화벽 확인해야한다.
f2b 라는 항목이 추가되었으며, 패킷을 컨트롤 할 수 있게되었다.
설정 몇가지만 만져보도록 하자.
2단계: Fail2ban 설정 만지기
vi /etc/fail2ban/jail.conf
명렁어를 쳐서 수정을 들어가보자.
ignoreip 에는 ban 이 절대 되지 않을 아이피를 적는다. (123.124.123.124/12 형태로 적는다. 추가는 스페이스바로 구분.)
bantime 은 접속을 차단할 시간이다. 600은 초단위로 10분을 의미한다.
findtime 은 통계 찾을 시간이다.
maxretry 는 fail 횟수이다.
ssh 의 경우 로그인의 성공이나 실패여부를 모두 /var/log/auth.log 에 저장한다.
3단계: 설정파일 적용을 위해서 Fail2ban 재시작
service fail2ban restart
sudo service fail2ban restart
조언: fail2ban이 리로드 되거나 리스타트 되면 벤 때린 목록 초기화가 된다.
이점을 이용해서 본인의 IP가 밴때려졌다면 서버 재부팅을 해서 목록 초기화를 하자.
로그는 삭제되지 않으니 조심해야한다.
Fail2ban 로그 침입시도 아이피 확인 - 제타위키
다음 문자열 포함...
zetawiki.com
fail2ban이 잡은 아이들을 찾아보았다. (내서버 기준)
먼저 이 코드를 터미널에 치자
cat /var/log/fail2ban.log* | grep "] Ban" | awk '{print $NF}' | sort | uniq -c | sort -n
그럼 결과가 그랩되서 나올 것이다.
그 결과는...
103.79.142.149 저사람... 6번이나 로그인 때렸다...
옆에 숫자가 시도 횟수이다.
느낀점.. 로그를 보니까생각보다 내 서버에 침투하려는 나쁜 사람들이 많았다.. 중국 태국 브라질 베트남:하노이 미국:특정 뭐시기 주 등등...
내서버에 별거 없는데도 침입하려는 자가 많았다.
Fail2ban이 잡은 아이들은 9개이다..
꼭 해외 IP는 막도록 하자.
홈서버 이용시 백업은 필수에 중요 파일은 왠만해선 올리지 말자..
루트 계정 암호를 빡세게 만들자!
추가로 방화벽 설정에 참조한 블로그 링크를 올린다.
[Ubuntu] 우분투 방화벽(UFW) 설정
우분투의 기본적인 방화벽은 UFW입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 합니다. 참고 :..
webdir.tistory.com
UFW 설정도 잘해야 좋은 서버인거 같다.
나는 실수로 22번 차단했다가 ssh 연결이 안되서 다시 22번 포트 열은 기억이 있다.
sudo ufw 어쩌구 명령어로 하는것들이다. 꼭 숙지해서 하자!
'IT 내용 정리' 카테고리의 다른 글
가트너 10대 기술 요약 및 정리 (0) | 2019.07.14 |
---|---|
금융권 보안 (0) | 2019.07.14 |
내가 랜섬웨어 유포자라면 어찌 했을까? (0) | 2019.07.14 |
Windows 10 기본 프로세스 조사 (2) | 2019.07.14 |
홈서버 운영 - 해외 IP를 차단해보자! (0) | 2019.06.11 |