AI가 정리해준 linux(ubuntu)기본 세팅-my style
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'
✅ 전체 흐름 요약
👉 이 작업의 큰 흐름은
- SSH 보안 설정
- 방화벽으로 접근 제한
- 시스템 업데이트
- Docker 환경 구축
- Caddy + DB 컨테이너 서비스 구성
- 운영 편의 설정