📌 내용

1. 왜 지금 우분투 보안 점검을 해야 하는가

우분투 서버는 클라우드, 온프레미스, 홈서버까지 거의 표준처럼 사용됩니다.
문제는 기본 설치 상태 그대로 운영하면 취약한 상태로 외부에 노출된다는 점입니다.

특히 다음 환경에서는 리스크가 급격히 올라갑니다:

  • Docker / Kubernetes 사용
  • 포트 외부 노출 (80, 443, 8080 등)
  • 개인 서버 + 도메인 연결 (Nginx reverse proxy)

👉 결론: “돌아간다” ≠ “안전하다”


2. SSH 보안 (가장 먼저 터지는 지점)

주요 취약점

  • root 로그인 허용
  • 비밀번호 로그인 허용
  • 포트 22 고정 사용

대응 방법

 
# SSH 설정 수정
sudo vi /etc/ssh/sshd_config
 
PermitRootLogin no
PasswordAuthentication no
Port 2222
 

👉 핵심:

  • root 로그인 차단
  • key 기반 인증만 허용
  • 포트 변경 (봇 공격 감소)

3. 방화벽 미설정 (거의 90%가 이 상태)

문제

  • 모든 포트가 외부에 열려 있음

해결

 
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw status
 

👉 원칙:

  • 필요한 포트만 허용 (화이트리스트 방식)

4. 패키지 업데이트 미적용

취약점

  • 알려진 CVE 그대로 노출

대응

 
sudo apt update && sudo apt upgrade -y
 

자동화까지 가면 더 좋습니다:

 
sudo apt install unattended-upgrades
 

5. Docker 사용 시 보안 취약점

르무엘님 환경에서 핵심입니다.

문제

  • root 권한으로 컨테이너 실행
  • 외부 포트 무분별 노출

대응

 
# rootless docker 권장
dockerd-rootless-setuptool.sh install
 

또는 최소한:

 
docker run --user 1000:1000 ...
 

👉 핵심:

  • 컨테이너 = 격리된 root 아님

6. 로그 모니터링 없음

문제

  • 공격 들어와도 모름

대응

 
sudo apt install fail2ban
 

👉 기능:

  • SSH brute force 자동 차단

로그 확인:

 
tail -f /var/log/auth.log
 

 


7. 파일 권한 설정 오류

문제

  • 777 남발
 
chmod 777 -R /
 

👉 이건 사실상 “서버 공개 선언”

대응 원칙

권한의미
755 실행 + 읽기
644 일반 파일
600 민감 파일

8. 민감 정보 하드코딩

문제

  • DB 비밀번호, JWT secret 코드에 박힘

대응

 
.env
docker secrets
vault (고급)
 

👉 실무 기준:

  • 절대 Git에 올리지 않는다

9. 불필요한 서비스 실행

문제

  • 공격 surface 증가

확인:

 
sudo systemctl list-units --type=service
 

비활성화:

 
sudo systemctl disable apache2
 

10. TLS/HTTPS 미적용

문제

  • 평문 통신 → 계정 탈취

대응

 
sudo apt install certbot
sudo certbot --nginx
 

👉 요즘 기준:

  • HTTP 서비스 = 거의 취약점

11. 실무에서 가장 중요한 포인트 (핵심 정리)

보안은 기능이 아니라 운영 전략입니다.

✔ 공격자는 항상 자동화되어 있음
✔ 서버는 항상 노출되어 있음
✔ “괜찮겠지”가 가장 큰 취약점


 

12. 결론

우분투 서버 보안은 복잡한 기술이 아니라
기본 설정 + 운영 습관입니다.

특히 개발자가 직접 서버를 운영하는 시대에서는:

👉 개발 실력 = 보안 수준


📌 한 줄 요약

“서버는 만들고 끝이 아니라, 계속 방어해야 하는 대상이다.”

LIST

+ Recent posts