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/vda1-5. 파티션 구조 선택
간단한 서버 구성:
All files in one partition분리형 구성:
Separate /home, /var, and /tmp partitions1-6. LVM 설정
Volume Group 이름은 기본값을 사용해도 됩니다. 디스크 전체 사용 여부를 확인한 뒤 진행합니다.
내부적으로 PV → VG → LV 구조가 자동 생성됩니다.
1-7. 파티션 적용
Finish partitioning and write changes to disk
→ Yes1-8. 패키지 선택
최소 서버 설치 기준:
- SSH server: 선택
- standard system utilities: 선택
- Desktop Environment: 해제
1-9. GRUB 설치
GRUB 설치에 Yes를 선택하고 부팅 디스크 예: /dev/sda를 선택합니다.
설치 완료 후 재부팅합니다.
Debian 12.2 내부 설정
Debian 기본 설치에서는 SELinux 설정을 일반적으로 사용하지 않으므로 이 문서에서는 생략합니다.
0. 기본 네트워크 확인
ip a1. 패키지 저장소 및 기본 패키지 설정
Root 계정으로 전환:
su -APT 저장소 파일 열기:
nano /etc/apt/sources.listCD-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-firmwarenano 저장 및 종료:
Ctrl + O
Enter
Ctrl + X패키지 목록 업데이트:
apt updatesudo 설치:
apt install sudo -yvim 설치:
apt install vim -y2. SSH 포트 변경 (7779)
SSH 설정 파일 열기:
vim /etc/ssh/sshd_config예시 설정:
Port 7779
PermitRootLogin yesSSH 설정 문법 검사:
sshd -tSSH 재시작:
systemctl restart sshSSH 상태 확인:
systemctl status sshSSH 리스닝 포트 확인:
ss -lntp | grep ssh3. 방화벽 설정 (iptables 방식)
주의: 원격 SSH 작업 중에는 새 SSH 포트가 정상 접속되는 것을 확인하기 전까지 기존 22번 포트를 닫지 마십시오.
3-1. iptables 설치 및 기존 규칙 초기화
apt install iptables -y버전 확인:
iptables -V기존 규칙 및 사용자 정의 체인 삭제:
iptables -F
iptables -X3-2. SSH 포트 확인
ss -lntp | grep ssh3-3. 기본 허용 규칙 추가
기존 연결 유지:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTLoopback 허용:
iptables -A INPUT -i lo -j ACCEPTSSH 22번과 새 포트 7779를 임시로 모두 허용:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 7779 -j ACCEPTHTTP / HTTPS 허용:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPTICMP 허용:
iptables -A INPUT -p icmp -j ACCEPT적용된 규칙 확인:
iptables -L -n -v3-4. 기본 정책 DROP 설정
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT3-5. iptables 규칙 영구 저장
apt install iptables-persistent -ynetfilter-persistent save저장된 규칙 확인:
iptables-save3-6. 새 SSH 포트 접속 확인 후 22번 포트 제거
INPUT 규칙 번호 확인:
iptables -L INPUT -n --line-numbers예를 들어 22번 포트 허용 규칙이 3번이라면:
iptables -D INPUT 3삭제 후 다시 영구 저장:
netfilter-persistent save22번 포트 규칙이 남아 있는지 확인:
iptables-save | grep -- '--dport 22'4. 시간 설정
timedatectl set-timezone Asia/Seoultimedatectl5. 필수 패키지 설치
apt install -y vim curl wget net-tools htop6. 시스템 확인
디스크 및 파티션 확인:
lsblk메모리 및 SWAP 확인:
free -h파일시스템 사용량 확인:
df -hOS 버전 확인:
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,MODEL2. 백업 디스크 파티션 생성
fdisk /dev/sdbfdisk 내부에서 새 파티션을 생성하고 저장:
n
Enter
Enter
Enter
w3. 파일시스템 생성
mkfs.ext4 /dev/sdb14. /backup 디렉터리 생성 및 마운트
mkdir -p /backup
mount /dev/sdb1 /backup5. 마운트 확인
df -h /backup6. 재부팅 후에도 자동 마운트되도록 설정
UUID 확인:
blkid /dev/sdb1fstab 편집:
vim /etc/fstab예시:
UUID=여기에-실제-UUID /backup ext4 defaults 0 2fstab 설정 테스트:
mount -a오류가 출력되지 않으면 설정이 정상입니다.
7. /backup 권한 설정
일반 서비스용:
chown -R root:root /backup
chmod 755 /backup웹 서버(www-data)용:
chown -R www-data:www-data /backup