2 min read

AI가 정리해준 linux(ubuntu)기본 세팅-my style

AI가 정리해준 linux(ubuntu)기본 세팅-my style
Photo by Lukas / Unsplash

1️⃣ SSH 설정 / 보안 점검

systemctl restart ssh / sshd
vi /etc/ssh/sshd_config
vi /etc/ssh/sshd_config.d/50-cloud-init.conf
sshd -T | grep permitrootlogin
sshd -T | grep root
systemctl status sshd

핵심 작업

  • SSH 설정 파일 수정
  • root 로그인 허용/차단 확인
  • sshd 재시작 및 상태 확인

👉 목적: SSH 접속 보안 설정 및 적용 확인


2️⃣ 로그인 / 침입 확인

lastb -10

👉 목적: 실패 로그인 기록 확인 (공격 탐지)


3️⃣ 방화벽(firewalld) 설정

설치 및 활성화

dnf install -y firewalld
systemctl enable --now firewalld

상태 확인

firewall-cmd --list-all
iptables -nL

룰 삭제 (잘못된 IP 제거)

firewall-cmd --permanent --remove-rich-rule="rule family='ipv4' source address='123.123.123.123/32' accept"

룰 추가 (허용 IP)

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123/32" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123/32" accept'
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.123.123.123/32" accept'

서비스 허용

firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-service=nfs

적용

firewall-cmd --reload

👉 목적:
특정 IP만 허용 + 필요한 서비스 포트만 오픈


4️⃣ 시스템 / 패키지 관리

dnf upgrade -y
dnf install git
dnf install net-tools

EPEL 및 repo 설정

dnf install epel-release
subscription-manager repos --enable codeready-builder

👉 목적: 패키지 최신화 + 추가 repo 확보


5️⃣ Docker 설치 및 구성

기존 제거

dnf remove docker ...

Docker 설치

dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

확인

docker --version
docker compose version


6️⃣ Docker 네트워크 / 스택 구성

네트워크

docker network create --driver overlay --attachable proxy
docker network create --driver overlay --attachable dbnet

Caddy (프록시)

/docker/caddy/
- caddy.yml
- Caddyfiledocker stack deploy -c caddy.yml caddy
docker service logs -f caddy_caddy

DB (MariaDB)

/docker/DB/DB.ymldocker secret create maria_password
docker secret create maria_root_password
docker stack deploy -c DB.yml db

👉 목적:

  • 리버스 프록시(Caddy)
  • DB 클러스터 (primary/replica)

7️⃣ 디렉토리 구조

/docker/
├─ caddy/
├─ DB/
/DB/
├─ primary/
└─ replica/


8️⃣ SSH 키 설정

mv ip_rsa id_rsa
chmod 600 id_rsa
cp authorized_keys

👉 목적: SSH 키 기반 인증 설정


9️⃣ 네트워크 / 서버 확인

ping techb.duckdns.org
curl ifconfig.me
hostnamectl
df -hT


🔟 쉘 환경 설정 (.bashrc)

alias ls='ls --color=auto'
export TERM=xterm-256color
eval "$(dircolors)"

👉 목적: 편의성 개선


Docker 편의 alias

e='docker exec -it'
l='docker service ls'
lf='docker service logs -f'
lg='docker service ls | grep'
f='docker volume prune'


✅ 전체 흐름 요약

👉 이 작업의 큰 흐름은

  1. SSH 보안 설정
  2. 방화벽으로 접근 제한
  3. 시스템 업데이트
  4. Docker 환경 구축
  5. Caddy + DB 컨테이너 서비스 구성
  6. 운영 편의 설정