피드로 돌아가기
How I Secured a Linux Server from Scratch: HNG DevOps Stage 0
Dev.toDev.to
DevOps

Least Privilege 기반의 Linux Server 보안 강화 및 Nginx 인프라 구축

How I Secured a Linux Server from Scratch: HNG DevOps Stage 0

Gideon Bature2026년 4월 13일12beginner

Context

초기 서버 구축 시 Root 계정의 무제한 권한으로 인한 시스템 파괴 위험과 보안 취약점 상존. 퍼블릭 인터넷 환경에 노출된 서버의 무작위 대입 공격 및 비인가 접근 가능성을 차단하기 위한 기초 보안 아키텍처 설계 필요.

Technical Solution

  • Root 계정 직접 접속을 차단하고 sudo 권한을 가진 전용 Non-root User를 생성하여 Principle of Least Privilege 구현
  • Password-based 인증을 제거하고 Key-based SSH 인증 체계로 전환하여 Brute-force 공격 경로 원천 차단
  • visudo를 통한 특정 바이너리(/usr/sbin/sshd, /usr/sbin/ufw)에 한정된 NOPASSWD 설정으로 권한 오남용 최소화
  • UFW(Uncomplicated Firewall)를 활용해 22, 80, 443 포트를 제외한 모든 인바운드 트래픽을 차단하여 Attack Surface 축소
  • Certbot 기반 Let's Encrypt SSL 인증서 적용 및 HTTP-to-HTTPS 301 Redirect 설정을 통한 데이터 전송 구간 암호화
  • Oracle Cloud Free Tier(24GB Memory, 200GB Storage)를 활용한 비용 효율적인 인프라 프로비저닝

- Root SSH Login 및 Password Authentication 비활성화 여부 확인 - Non-root 사용자의 sudo 권한을 전체가 아닌 필요한 특정 명령어 단위로 제한 - .ssh 디렉토리(700) 및 authorized_keys 파일(600)의 엄격한 Permission 설정 적용 - Firewall을 통한 최소 포트 개방 및 HTTP 트래픽의 강제 HTTPS 전환 설정

원문 읽기