IT 스토리

Debian 12.2 설치 및 내부설정

1. Debian 12 설치 (LVM 포함 / Install 모드)

부팅 후 설치 모드 선택

Install 선택 (Graphical Install이 아닌 텍스트 설치 모드)

1-1. 언어 / 지역 / 키보드

  • Language: English 또는 Korean
  • Location: Asia → Korea / Japan
  • Keyboard: Korean / Japanese / US

1-2. 네트워크 설정

IDC 환경에서는 수동 설정을 사용할 수 있습니다.

  • IP Address
  • Netmask
  • Gateway
  • DNS

1-3. 사용자 / 비밀번호

  • Root password 설정
  • 일반 사용자 생성

1-4. 파티션 설정

LVM을 자동 구성하려면 다음 항목을 선택합니다.

Guided - use entire disk and set up LVM

대상 디스크 예:

/dev/sda 또는 /dev/vda

1-5. 파티션 구조 선택

간단한 서버 구성:

All files in one partition

분리형 구성:

Separate /home, /var, and /tmp partitions

1-6. LVM 설정

Volume Group 이름은 기본값을 사용해도 됩니다. 디스크 전체 사용 여부를 확인한 뒤 진행합니다.

내부적으로 PV → VG → LV 구조가 자동 생성됩니다.

1-7. 파티션 적용

Finish partitioning and write changes to disk
→ Yes

1-8. 패키지 선택

최소 서버 설치 기준:

  • SSH server: 선택
  • standard system utilities: 선택
  • Desktop Environment: 해제

1-9. GRUB 설치

GRUB 설치에 Yes를 선택하고 부팅 디스크 예: /dev/sda를 선택합니다.

설치 완료 후 재부팅합니다.


Debian 12.2 내부 설정

Debian 기본 설치에서는 SELinux 설정을 일반적으로 사용하지 않으므로 이 문서에서는 생략합니다.

0. 기본 네트워크 확인

ip a

1. 패키지 저장소 및 기본 패키지 설정

Root 계정으로 전환:

su -

APT 저장소 파일 열기:

nano /etc/apt/sources.list

CD-ROM 저장소 줄이 있다면 앞에 #을 붙여 주석 처리하고 아래 저장소를 추가합니다.

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

nano 저장 및 종료:

Ctrl + O
Enter
Ctrl + X

패키지 목록 업데이트:

apt update

sudo 설치:

apt install sudo -y

vim 설치:

apt install vim -y

2. SSH 포트 변경 (7779)

SSH 설정 파일 열기:

vim /etc/ssh/sshd_config

예시 설정:

Port 7779
PermitRootLogin yes

SSH 설정 문법 검사:

sshd -t

SSH 재시작:

systemctl restart ssh

SSH 상태 확인:

systemctl status ssh

SSH 리스닝 포트 확인:

ss -lntp | grep ssh

3. 방화벽 설정 (iptables 방식)

주의: 원격 SSH 작업 중에는 새 SSH 포트가 정상 접속되는 것을 확인하기 전까지 기존 22번 포트를 닫지 마십시오.

3-1. iptables 설치 및 기존 규칙 초기화

apt install iptables -y

버전 확인:

iptables -V

기존 규칙 및 사용자 정의 체인 삭제:

iptables -F
iptables -X

3-2. SSH 포트 확인

ss -lntp | grep ssh

3-3. 기본 허용 규칙 추가

기존 연결 유지:

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Loopback 허용:

iptables -A INPUT -i lo -j ACCEPT

SSH 22번과 새 포트 7779를 임시로 모두 허용:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 7779 -j ACCEPT

HTTP / HTTPS 허용:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

ICMP 허용:

iptables -A INPUT -p icmp -j ACCEPT

적용된 규칙 확인:

iptables -L -n -v

3-4. 기본 정책 DROP 설정

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

3-5. iptables 규칙 영구 저장

apt install iptables-persistent -y
netfilter-persistent save

저장된 규칙 확인:

iptables-save

3-6. 새 SSH 포트 접속 확인 후 22번 포트 제거

INPUT 규칙 번호 확인:

iptables -L INPUT -n --line-numbers

예를 들어 22번 포트 허용 규칙이 3번이라면:

iptables -D INPUT 3

삭제 후 다시 영구 저장:

netfilter-persistent save

22번 포트 규칙이 남아 있는지 확인:

iptables-save | grep -- '--dport 22'

4. 시간 설정

timedatectl set-timezone Asia/Seoul
timedatectl

5. 필수 패키지 설치

apt install -y vim curl wget net-tools htop

6. 시스템 확인

디스크 및 파티션 확인:

lsblk

메모리 및 SWAP 확인:

free -h

파일시스템 사용량 확인:

df -h

OS 버전 확인:

cat /etc/os-release

일반 사용자 계정을 삭제해야 하는 경우:

userdel -r user

삭제 여부 확인:

getent passwd user

아무 내용도 출력되지 않으면 해당 계정이 존재하지 않는 것입니다.


백업 디스크 /backup 마운트

중요: 아래 예시는 백업용 추가 디스크가 /dev/sdb인 경우입니다. 실제 작업 전 반드시 lsblk로 OS 디스크와 백업 디스크를 구분하십시오. OS가 설치된 /dev/sda를 잘못 파티션하면 시스템 데이터가 손실될 수 있습니다.

1. 대상 디스크 확인

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS,MODEL

2. 백업 디스크 파티션 생성

fdisk /dev/sdb

fdisk 내부에서 새 파티션을 생성하고 저장:

n
Enter
Enter
Enter
w

3. 파일시스템 생성

mkfs.ext4 /dev/sdb1

4. /backup 디렉터리 생성 및 마운트

mkdir -p /backup
mount /dev/sdb1 /backup

5. 마운트 확인

df -h /backup

6. 재부팅 후에도 자동 마운트되도록 설정

UUID 확인:

blkid /dev/sdb1

fstab 편집:

vim /etc/fstab

예시:

UUID=여기에-실제-UUID /backup ext4 defaults 0 2

fstab 설정 테스트:

mount -a

오류가 출력되지 않으면 설정이 정상입니다.

7. /backup 권한 설정

일반 서비스용:

chown -R root:root /backup
chmod 755 /backup

웹 서버(www-data)용:

chown -R www-data:www-data /backup