서버 운영의 기본이자 가장 중요한 단계 중 하나는 정확한 시간대 설정입니다. 특히 로그 분석, 작업 스케줄링(Cron), 그리고 타임스탬프가 중요한 애플리케이션 운영에 있어 서버 시간이 현지 시간과 일치하는 것은 필수적입니다. 더불어, 안전한 서버 환경 구축을 위한 기본적인 보안 설정까지 함께 진행해 봅시다!
1. 시스템 시간을 한국 시간(KST)으로 변경하기
시스템 환경에 따라 최신 방식인 timedatectl을 사용하거나 전통적인 방식을 사용할 수 있습니다. 최신 systemd 기반 시스템이라면 방법 1을 권장합니다.
방법 1: timedatectl 사용 (권장, systemd 기반)
timedatectl은 시간, 날짜, 시간대를 관리하는 현대적인 도구입니다.
- 현재 시간대 확인:(현재 설정된 시간대와 NTP 동기화 상태를 확인합니다.)
-
timedatectl - Bash
- 한국 시간으로 설정: 사용 가능한 시간대 목록을 검색해 Asia/Seoul을 확인한 후 설정합니다.
-
Bash
# 사용 가능한 시간대 목록 확인 (선택 사항) # timedatectl list-timezones | grep Seoul # 한국 시간으로 설정 sudo timedatectl set-timezone Asia/Seoul - NTP 동기화 활성화: 시간을 자동으로 정확하게 유지하기 위해 네트워크 시간 프로토콜(NTP) 동기화를 활성화합니다.
-
Bash
sudo timedatectl set-ntp true
방법 2: 전통적인 방법 (구형 시스템/다른 환경)
만약 timedatectl 명령어가 작동하지 않는다면, 전통적인 심볼릭 링크 방식을 사용할 수 있습니다.
- 심볼릭 링크 방식:(/etc/localtime 파일을 /usr/share/zoneinfo/Asia/Seoul로 연결하여 시간대를 변경합니다.)
-
Bash
sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime - tzdata 재설정 (Debian/Ubuntu 계열): 대화형 메뉴를 통해 시간대를 설정합니다.
-
Bash
sudo dpkg-reconfigure tzdata # 메뉴가 나타나면 Asia → Seoul을 선택하세요.
2. 시간 확인 및 하드웨어 시계 동기화
시간대 설정 후, 변경 사항을 확인하고 시스템 시간을 하드웨어 시계에 동기화하여 재부팅 시에도 시간이 유지되도록 합니다.
- 현재 시간 확인:(출력된 시간이 KST로 표시되는지 확인합니다.)
-
Bash
date - 하드웨어 시계 동기화: 시스템 시간(소프트웨어 시계)을 메인보드의 하드웨어 시계에 기록합니다.
-
Bash
sudo hwclock --systohc - NTP 서버와 수동 동기화 (필요시): 즉시 정확한 시간을 맞추고 싶다면 수동 동기화를 시도할 수 있습니다.
-
Bash
# ntpdate를 사용 (설치 필요할 수 있음) sudo ntpdate time.google.com # 또는 chrony 상태 확인 sudo chronyc sources
🔒 서버 보안 강화: 새로운 도전 시작!
시간대 설정은 서버 관리의 기본입니다. 다음 단계로, 안전하고 견고한 서버 환경을 위한 보안 기본 설정을 진행하여 서버 관리에 대한 지속적인 도전 의식을 높여봅시다.
A. 기본 root 로그인 비활성화 (보안의 첫 걸음)
root 계정은 서버의 모든 권한을 가지고 있어 무차별 대입 공격(Brute-force)의 주요 대상이 됩니다. 새 계정을 생성했다면 root 로그인을 비활성화하고 일반 계정으로 접속 후 sudo를 사용하는 것이 안전합니다.
- SSH 설정 파일 수정:
-
Bash
sudo nano /etc/ssh/sshd_config - PermitRootLogin 설정 변경: 해당 줄을 찾아 다음과 같이 변경하거나 추가합니다.
-
PermitRootLogin no - SSH 서비스 재시작: 변경 사항을 적용합니다.(주의: 변경 전 반드시 새 계정으로 접속하여 sudo 권한이 작동하는지 확인하세요!)
-
Bash
sudo systemctl restart sshd
B. SSH 키 인증 설정 (최고 수준의 인증)
비밀번호는 아무리 복잡해도 해킹의 위험이 있지만, SSH 키 인증은 암호화된 키 쌍을 사용하여 훨씬 안전합니다. 직접적인 참여 의식을 가지고 로컬 환경에서 키를 생성하고 서버에 등록해 봅시다.
- 로컬 PC에서 키 생성 (터미널):(최신 암호화 방식인 ed25519를 사용합니다. 이때 안전을 위해 **암호(passphrase)**를 설정하는 것을 강력히 권장합니다.)
-
Bash
ssh-keygen -t ed25519 -C "사용자이름@서버이름" - 서버에 공개키 복사: 생성된 공개키를 서버로 안전하게 복사합니다.(이후부터는 비밀번호 입력 없이 키를 통해 접속할 수 있습니다.)
-
Bash
ssh-copy-id 사용자명@서버-IP주소
💡 최종 점검: 시간대 변경 확인
모든 설정이 완료되었다면, 로그 파일을 확인하여 타임스탬프가 KST로 올바르게 표시되는지 최종적으로 확인합니다.
# 로그 파일의 최신 내용을 실시간으로 확인
tail -f /var/log/syslog
# 또는
tail -f /var/log/auth.log
# KST 시간으로 표시되는지 확인합니다.
이렇게 하면 완벽한 한국 시간대의 새로운 주 계정이 탄생하고, 기본적인 보안까지 튼튼하게 갖춘 서버가 됩니다!
'Study > Linux' 카테고리의 다른 글
| 서버에 SSH키로 접속하는 방법 (0) | 2025.10.12 |
|---|---|
| 🚀 Linux 서버에 새 사용자 계정 만들고 관리자 권한 설정하기 (0) | 2025.09.29 |
| 듀얼부팅 환경의 골치아픈 문제들: 우분투 vs 윈도우 완벽 해결 가이드 (4) | 2025.07.18 |
| Ubuntu에서 Samba 파일 서버 구축하기: 사내 공유폴더 만들기 (사용자별 보안 설정 포함) (1) | 2025.07.14 |
| 우분투 24.04에서 WordPress 완벽 설치 가이드: Nginx + PHP 8.3 + MariaDB (0) | 2025.06.29 |




