본문 바로가기
Q&A2023년 4월 26일1분 읽기

리눅스 서버 초기 보안 설정 자동화 스크립트

노
노하은
조회 849댓글 1

새 서버를 세팅할 때마다 보안 설정을 반복하는데, 자동화 스크립트를 만들 수 있나요?

댓글 1

김김영삼3년 전

서버 초기 보안 설정 자동화:

#!/bin/bash
# server-init.sh
set -e

echo "=== 시스템 업데이트 ==="
sudo apt update && sudo apt upgrade -y

echo "=== 기본 패키지 설치 ==="
sudo apt install -y ufw fail2ban unattended-upgrades curl

echo "=== SSH 보안 ==="
sudo sed -i "s/#PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config
sudo sed -i "s/#PasswordAuthentication yes/PasswordAuthentication no/" /etc/ssh/sshd_config
sudo systemctl restart sshd

echo "=== 방화벽 ==="
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw --force enable

echo "=== fail2ban ==="
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

echo "=== 자동 업데이트 ==="
sudo dpkg-reconfigure -plow unattended-upgrades

echo "✅ 초기 보안 설정 완료"

이 스크립트를 GitHub에 올려두고 새 서버마다 실행하면 됩니다.

Ctrl+Enter로 등록