방화벽, 포트변경, 서버보안 실전(6편)
만약 리눅스서버에 워드프레스를 설치하면 내 블로그, 웹사이트는 안전할까요? 아닙니다. 인터넷에 연결된 순간부터 서버는 수많은 해커들의 타겟이 됩니다. 그래서 이번에는 리눅스 서버의 보안 관련 사항에 대해 알아보겠습니다.
방화벽(UFW) 설정
UFW는 Ubuntu에서 쉽게 쓸 수 있는 방화벽 도구 입니다. 필요없는 포트는 막고 필요한 것만 열어두어야 합니다.
기본 세팅
bash
sudo ufw default deny incoming
sudo ufw default allow outgoing
- 모든 외부 연결 차단하고, 내부(내가 나가는 것)는 허용
SSH 연결 허용
bash
sudo ufw allow 22
- SSH 포트가 변경되었다면 그 포트로 오픈
HTTP / HTTPS 열기 (워드프레스용!)
bash
sudo ufw allow 'Nginx Full'
방화벽 켜기
bash
sudo ufw enable
SSH 포트 변경(기본 22에서 다른 번호로)
기본 SSH 포트 22번은 해커들이 가장 좋아하는 포트 입니다.
변경 방법
bash
sudo nano /etc/ssh/sshd_config
- #Port 22 → Port 2822 (예시)
- 22 주석 처리하고 다른 포트로 설정
bash
sudo ufw allow 2822 # 새 포트 방화벽에 열기
sudo systemctl restart ssh
이제는
bash
ssh -p 2822 사용자명@서버IP
로 접속해야 합니다.
루드 계정 로그인 차단
해커가 해킹을 시도했을때 가장 먼저 노리는 계정은 루트 입니다. 그래서 일반 사용자 생성에서 루트 차단하는 것이 정석 입니다. toot 로는 로그인 자체를 막고, myadmin 같은 계정으로 로그인 후 sudo 사용 합니다.
bash
adduser myadmin
usermod -aG sudo myadmin
- 이후 sshd_config 파일에서
bash
PermitRootLogin no
- 설정
Fail2Ban 설치(해킹시도 차단 자동화)
비밀번호를 무작위로 입력하는 해킹 시도를 자동 차단 합니다. 기본설정도 충분히 강력하고 필요시 /etc/fail2ban/jail.local에서 세부 설정 가능 합니다.
bash
sudo apt install fail2ban
자동 업데이트 설정(보안 패치)
서버 패치 귀찮다고 미루면 나날이 발전하는 해킹 기술에 취약할 수 있습니다. 중요한 보안 패치가 자동으로 적용될 수 있도록 설정 합니다.
bash
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
서버는 집입니다. 기본 보안만 잘 갖춰도 대부분의 보안위협으로 부터 자유로울 수 있습니다.
다음편에서는 도메인 연결, HTTPS 인증서 설치에 대해 알아보도록 하겠습니다.
댓글