아래 세 파일에, 보안과 관련된 코드 등을 모두 넣어주세요. (*각 파일 확인 필수)
(아래 코드 외에 ufw방화벽 또는
ssh 보안 관련 포트 등이 필요하다면 모두 기입)
~/ansible/roles/common/tasks/main.yml
~/ansible/roles/security/tasks/main.yml
해야 할 일:
pong 뜨는지 확인. (O)roles/security/ 폴더를 Git에서 받아서,main.yml을 채우기 시작.구체적으로 넣을 내용 (예시):
yaml
# roles/security/tasks/main.yml
- name: SSH PasswordAuthentication 비활성화 (키 인증만)
lineinfile:
path: /etc/ssh/sshd_config
regexp: '^#?PasswordAuthentication'
line: 'PasswordAuthentication no'
notify: restart sshd
- name: UFW에서 Swarm 포트(7946, 4789) 허용
ufw:
rule: allow
port: '{{ item }}'
proto: tcp
loop:
- 7946
- 4789
- name: UFW에서 22번 포트만 허용 (기본 deny)
ufw:
rule: allow
port: '22'
proto: tcp
핸들러(handler) 파일도 함께 작성:
bash
mkdir -p ~/ansible/roles/security/handlers
cat > ~/ansible/roles/security/handlers/main.yml << 'EOF'
---
- name: restart sshd
systemd:
name: sshd
state: restarted
EOF