안녕하세요 서버 보안에 대해서 얘기해보겠습니다.
저는 지금 집에서 조그마한 홈서버 몇 개를 돌리고 있는데요. 항상 걱정되는 게 해킹 문제입니다. 별로 가져갈 것도 없는 보잘것없는 서버라서 해킹당하더라도 포맷해버리면 되지만 후에도 불안하고 기분이 안 좋을 것 같습니다.
그래서 기본적인 보안 방법 한가지를 해놓으려고 합니다. 보통 서버에 접속할 때 SSH로 접속하는데요. 서버로 접속 시도를 할 때 비밀번호를 틀린다던가 하여 접속 실패를 하면 그 해당 아이피를 차단해버리도록 하겠습니다.
왜냐하면 해킹의 기본이 무작위 대입법이거든요. 비밀번호를 무작위로 경우의 수를 조합하여 맞는 비밀번호가 나올 때 까지 다 넣어보는 방법입니다. 그럼 언젠가 맞겠죠? 그런 식으로 비밀번호를 알아냅니다. 제한이 없다면 컴퓨터로 돌리니 설정한 비밀번호에 따라 다르겠지만 짧으면 하루 안에 다 해킹당할 것입니다. 그럼 시작하겠습니다.
1. fail2ban 설치
fail2ban이라는 프로그램을 설치하겠습니다.
" 데비안/우분투 계열 사용자
sudo apt install fail2ban
" 페도라 사용자
sudo dnf install fail2ban
" RedHat/Centos 계열 사용자
sudo yum install fail2ban
" Arch 계열 사용자
sudo pacman -S fail2ban
2. fail2ban 설정
sudo cat > /etc/fail2ban/jail.local << EOF
[DEFAULT]
# 차단하지 않을 IP
ignoreip = 127.0.0.1/8
# 접속을 차단할 시간. 초단위
bantime = 10800
# 최대 허용 횟수
maxretry = 5
# 최대 허용 횟수 만큼 실패시 차단
findtime = 86400
[ssh]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
EOF
3. 설정 파일 적용
sudo systemctl restart fail2ban
4. 차단한 ip 확인
sudo fail2ban-client status ssh
5. 차단한 ip 풀기
sudo fail2ban-client set ssh unbanip 129.168.219.100
ip가 눈에 보이니까 좀 더 안심이 되네요. 완벽하진 않지만 방화벽과 같이 쓴다면 괜찮을 것 같습니다. 더 좋은 보안 방법이 있다면 알려주세요 감사합니다!
'Server' 카테고리의 다른 글
rclone 으로 google drive 로컬 드라이브 만들기 (리눅스) (3) | 2021.04.18 |
---|---|
서버에 예약 업무 시키기 (crontab 설정) (0) | 2021.04.08 |
나만의 git 서버 만들기 (100% private 모드) (0) | 2021.03.25 |
wsl2 에서 GUI 프로그램 실행하기 (0) | 2021.03.15 |
윈도우에서 리눅스를 사용해보자 - WSL2 설치 (0) | 2021.03.07 |