
안녕하세요 여러분! 혹시 리눅스 서버 세팅할 때 이것저것 너무 복잡해서 헷갈리신 적 있으시죠? 😅 저도 처음에 얼마나 힘들었는지 몰라요~ 오늘은 리눅스 서버 초기 세팅을 안정적이고 안전하게 하는 7단계를 쉽고 친근하게 정리해 드릴게요. 꼭 필요한 보안부터 네트워크, 관리자 계정 관리까지 찬찬히 훑어보면서 차근차근 따라 해 봅시다!
목차
1. 서버 초기 부팅 후 최초 설정
설치가 끝난 뒤엔 보통 Initial Setup 애플리케이션이 자동으로 실행돼요(RHEL 7 기준).
그래픽 환경이 없으면 텍스트 모드에서 동작하니 든든하죠.
Kickstart라는 자동 설치를 쓴다면, `%packages` 섹션에 initial-setup 같은 설정 패키지 꼭 포함해주세요~
“Initial Setup 애플리케이션은 부팅 직후 사용자가 기본 설정을 쉽게 진행하도록 돕습니다.”
— Red Hat Enterprise Linux 7 공식 설치 가이드, 2017
이 앱 덕분에 서버 첫인상부터 확실히 잡을 수 있어요.
2. 기본 OS 업데이트 및 패키지 설치
처음 서버가 깔리면, 당장 패키지를 최신으로 바꾸는 게 생명입니다! 버그 수정과 보안 패치가 쏙쏙 포함되니까요.
Ubuntu나 Debian이면 다음처럼 해주세요:
sudo apt update && sudo apt upgrade -y
CentOS나 RHEL 계열은:
sudo yum update -y
그리고 실사용에 꼭 필요한 패키지들을 깔아주세요:
| 패키지 종류 | 예시 패키지 | 설치 명령어 예 |
|---|---|---|
| 네트워크 유틸리티 | net-tools (ifconfig, netstat 등) | sudo apt install net-tools vim nano curl wget sudo yum install net-tools vim nano curl wget |
| 텍스트 편집기 | vim, nano | 동일(위 명령 참고) |
| 다운로드 도구 | curl, wget | 동일(위 명령 참고) |
3. 관리자 계정 및 인증 설정
루트(root) 계정 비활성화가 기본인 배포판(예: Ubuntu)이 많아서, 경우에 따라선 직접 활성화가 필요해요.
sudo passwd root
그리고, SSH 보안도 필수! 기본 포트 22번을 보안 위해 2222같은 임의 번호로 바꾸고,
루트 직접 로그인 제한은 PermitRootLogin no 로 꼭 설정하세요.
Port 2222 PermitRootLogin no MaxAuthTries 3
로그인 실패 차단 도구인 fail2ban도 꼭 깔아주시면 좋습니다~
sudo apt install fail2ban
4. 방화벽 및 네트워크 설정
서버가 인터넷에 떠 있을 때 가장 중요한 건 방화벽 설정입니다. 불필요한 포트는 무조건 닫는 센스! 🤗
Ubuntu나 Debian 계열은 ufw가, CentOS/RHEL은 firewalld가 기본이에요.
기본 SSH 포트와 웹서버 필수 포트만 열기 예시:
| 배포판 | 명령어 |
|---|---|
| Ubuntu/Debian (ufw) | sudo ufw enablesudo ufw allow 2222/tcpsudo ufw allow 80/tcpsudo ufw allow 443/tcp |
| CentOS/RHEL (firewalld) | sudo systemctl start firewalldsudo firewall-cmd --permanent --add-port=2222/tcpsudo firewall-cmd --reload |
네트워크에서는 MAC 주소와 인터페이스 이름을 잘 맞추는 게 중요하고, 고정 IP 설정도 많이 사용합니다.
5. 웹 서버 및 데이터베이스 설치 (옵션)
웹 서비스 계획 중이라면 아파치나 Nginx를 깔고, 시작 서비스 설정까지 해 주세요.
Apache 설치 및 시작 예(Ubuntu):
sudo apt install apache2 sudo systemctl enable apache2 sudo systemctl start apache2
Nginx 설치 및 시작 예(Ubuntu):
sudo apt install nginx sudo systemctl enable nginx sudo systemctl start nginx
데이터베이스는 MySQL이나 MariaDB가 많이 쓰이는데, 필요하면 같이 설치해주세요!
6. 시스템 보안 강화
서버 보안은 언제나 긴장하면 좋은데요, 비밀번호는 최소 10자에 대문자, 소문자, 숫자, 특수문자까지 다 넣는 게 안전해요.
정기적으로 바꾸는 것도 잊지 말아요!
그리고 SSH 키 쌍 인증을 적극 활용하면 비밀번호 로그인을 뛰어넘는 보안 효과를 볼 수 있답니다.
불필요한 서비스는 꺼서 공격 노출 면적을 최소화하는 것도 꿀팁이에요~
7. 모니터링 및 유지관리
CPU, 메모리, 디스크 입출력, 네트워크 트래픽, 로드 평균 같은 주요 지표 모니터링은 필수입니다!
로그 파일도 수시로 확인하면서 문제가 크기 전에 감지하는 게 노하우죠.
요약: 리눅스 서버 초기 세팅 핵심 순서 및 주요 수치
| 단계 | 작업 내용 | 주요 명령 및 설정 | 참고 수치 |
|---|---|---|---|
| 1. 최초 부팅 초기 설정 | Initial Setup 애플리케이션 실행 | Kickstart 파일에 초기 설정 패키지 포함 | — |
| 2. 시스템 업데이트 | 패키지 최신화 | sudo apt update && sudo apt upgrade -y | — |
| 3. 필수 패키지 설치 | 네트워크/편집기/다운로드 도구 설치 | sudo apt install net-tools vim nano curl wget | — |
| 4. root 계정 활성화 및 SSH 보안 강화 | passwd, sshd_config 수정 (포트 변경, 루트 로그인 차단) | Port 2222, PermitRootLogin no, MaxAuthTries=3 | MaxAuthTries=3 |
| 5. 방화벽 설정 | ufw/firewalld로 필수 포트 허용 | ufw allow 2222/tcp, firewall-cmd –add-port=2222/tcp | — |
| 6. 웹 및 DB 서버 설치 (선택) | Apache/Nginx, MySQL/MariaDB 설치 | systemctl enable/start | — |
| 7. 보안 정책 강화 | 비밀번호 정책, 2FA, SSH 키 인증 | 패스워드 최소 10자 이상, 특수문자 포함 | — |
리눅스 서버 최초 세팅은 꼭 해야 하나요?
네, 서버의 안정성과 보안을 위해 꼭 반드시 초기 세팅이 중요합니다. 꾸준한 유지관리 전 단계이기도 하고요~
방화벽 설정은 꼭 필요한가요?
네! 외부 공격 막는 첫 방어선이라 꼭 빠뜨리지 마시고요, 꼭 필요한 포트만 열고 나머진 닫아주세요.
SSH 포트 변경은 왜 해야 하나요?
기본 포트 22번은 공격자가 많이 노려서요, 임의 번호로 바꾸면 해킹 시도를 어느 정도 줄일 수 있습니다~
웹 서버 설치는 꼭 하나요?
웹 서비스 제공이 필요하다면 필수지만, 그렇지 않은 서버는 꼭 설치 안 해도 되겠습니다. 상황에 맞게 선택하세요~
모니터링은 어떻게 시작하면 될까요?
htop, netstat 같은 툴부터 시작해 로그 확인과 알림 설정, 그리고 점차 전문 모니터링 도구로 확장하면 좋아요~
여기까지 읽어주셔서 정말 감사해요! 이 내용이 여러분 리눅스 서버 세팅에 작게나마 도움이 되셨으면 좋겠어요~ 꼭 한번 차근차근 따라 해 보시고, 궁금하거나 어려운 점은 댓글로 나눠 주세요! 우리의 서버 모험은 계속됩니다~😊


