본문 바로가기

시스템 & 운영체제 보안

리눅스 서버 보안 / SSH 보안설정 / 사용자 및 권한관리 방법 가이드

반응형

 

1. 이 글을 찾은 여러분께

여러분은 지금 리눅스 서버 보안이 중요한 이유를 느끼고 있을 것입니다. 아마도 첫 서버를 구축하고 보호해야 하는 IT 전공 대학생이거나, 보안이 필수적인 기업 서버를 운영하는 IT 취업 준비생일 수도 있겠죠. 리눅스는 강력한 성능과 유연성을 제공하지만, 잘못된 보안 설정은 해킹과 데이터 유출로 이어질 수 있습니다. 이 글을 통해 리눅스 서버의 필수 보안 설정을 쉽게 따라 할 수 있도록 실전 가이드를 제공하겠습니다.

2. SSH 보안 설정

🔹 1) SSH 포트 변경 

공격자들은 자동화된 스크립트를 사용하여 기본 포트(22번)에서 SSH 접속을 시도합니다. 이를 방지하기 위해 포트를 변경하세요.

sudo nano /etc/ssh/sshd_config

찾아서 수정:

Port 2222  # 22번 대신 2222번 등 임의의 포트 설정

변경 후 SSH 서비스 재시작:

sudo systemctl restart sshd

🔹 2) root 계정 SSH 접속 차단

PermitRootLogin no

일반 사용자 계정으로 로그인 후 su - 명령어로 root 권한을 얻는 것이 더욱 안전합니다.

🔹 3) 공개키 인증 방식 사용

비밀번호 기반 로그인 대신 SSH 키를 활용하면 보안성이 향상됩니다.

ssh-keygen -t rsa -b 4096
ssh-copy-id user@server-ip

3. 사용자 및 권한 관리

🔹 1) 불필요한 사용자 계정 제거

사용하지 않는 계정이 존재하면 보안 위험이 커집니다. 다음 명령어로 불필요한 계정을 확인하세요.

cat /etc/passwd

계정 삭제:

sudo userdel -r 사용자명

🔹 2) sudo 권한 제한

모든 사용자가 sudo 권한을 가지면 위험합니다. /etc/sudoers 파일을 수정하여 필요한 사용자만 추가하세요.

sudo visudo

예제:

user ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx

4. 방화벽 및 네트워크 보안 설정

🔹 1) UFW 방화벽 설정 (Ubuntu 기준)

sudo apt install ufw
sudo ufw default deny incoming  # 모든 외부 접근 차단
sudo ufw default allow outgoing # 내부 통신 허용
sudo ufw allow 2222/tcp  # SSH 포트 허용
sudo ufw enable

🔹 2) Fail2Ban을 이용한 SSH 보호

Fail2Ban은 특정 횟수 이상 로그인 실패한 IP를 차단하는 도구입니다.

sudo apt install fail2ban
sudo nano /etc/fail2ban/jail.local

SSH 설정 추가:

[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600  # 1시간 차단

서비스 재시작:

sudo systemctl restart fail2ban

5. 자동 보안 업데이트 설정

보안 패치는 지속적으로 업데이트해야 합니다. 자동 업데이트를 설정하는 것이 좋습니다.

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades

6. 로그 모니터링

서버에서 발생하는 이상 행동을 감지하려면 로그를 확인하는 습관이 중요합니다.

tail -f /var/log/auth.log   # SSH 접속 로그 확인
journalctl -xe  # 시스템 로그 확인

7. Q&A

Q1. SSH 포트를 변경하면 정말 보안이 강화되나요?
➡ 네, 자동화된 공격의 90% 이상이 기본 포트(22번)에서 발생합니다. 포트 변경은 간단하면서도 효과적인 보안 강화 방법입니다.

Q2. root 계정 SSH 접속을 차단하면 불편하지 않을까요?
➡ 보안이 우선입니다. 일반 계정으로 로그인 후 sudo su -를 사용하면 동일한 작업을 수행할 수 있습니다.

Q3. 방화벽을 설정하면 서비스 운영에 영향이 있나요?
➡ 적절한 포트만 허용하면 정상적인 서비스에는 영향을 주지 않습니다. 필요한 포트를 열고 나머지는 차단하는 것이 보안 원칙입니다.

 

리눅스 서버 보안은 한 번 설정했다고 끝나는 것이 아니라 지속적인 관리가 필요한 작업입니다. 이 가이드를 따라가면 기본적인 보안 수준을 확보할 수 있으며, 추가적인 보안 정책을 적용하면 더욱 안전한 환경을 만들 수 있습니다.

가이드에 따라 설정 해 보시고, 궁금하시거나 문의가 있으시면 댓글로 문의를 주세요!

반응형