난 현재 Ubuntu 18.04 운영체제의 간단한 홈 서버를 운영중에 있다.
sudo /var/log/auth.log
sudo /var/log/auth.log
를 통해 내 서버의 접속 목록을 살펴보자..
누가 로그인 시도를 했을까?
이런,,, 엄청 많다... 정말 많다. 중국 예맨 브라질 미국 특정 주 등등... WHOIS에만 찾아봐도 다양한 국가의 IP들이 나온다..
https://xn--c79as89aj0e29b77z.xn--3e0b707e/kor/main.jsp
그래서 더욱 필요해졌다. 이름은 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이 잡은 아이들을 찾아보았다. (내서버 기준)
먼저 이 코드를 터미널에 치자
cat /var/log/fail2ban.log* | grep "] Ban" | awk '{print $NF}' | sort | uniq -c | sort -n
그럼 결과가 그랩되서 나올 것이다.
그 결과는...
103.79.142.149 저사람... 6번이나 로그인 때렸다...
옆에 숫자가 시도 횟수이다.
느낀점.. 로그를 보니까생각보다 내 서버에 침투하려는 나쁜 사람들이 많았다.. 중국 태국 브라질 베트남:하노이 미국:특정 뭐시기 주 등등...
내서버에 별거 없는데도 침입하려는 자가 많았다.
Fail2ban이 잡은 아이들은 9개이다..
꼭 해외 IP는 막도록 하자.
홈서버 이용시 백업은 필수에 중요 파일은 왠만해선 올리지 말자..
루트 계정 암호를 빡세게 만들자!
추가로 방화벽 설정에 참조한 블로그 링크를 올린다.
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 |