[python] Fabric으로 원격 서버 UFW 방화벽 설정하기
소개
Fabric은 파이썬 기반의 배포 자동화 도구입니다. 이를 사용하여 서버 관리 작업을 자동화할 수 있습니다. 이 포스트에서는 Fabric을 사용하여 원격 서버의 UFW(Uncomplicated Firewall) 방화벽을 설정하는 방법에 대해 알아보겠습니다.
필수 조건
- 원격 서버에 SSH 액세스가 가능해야 합니다.
- Fabric을 설치해야 합니다. (
pip install fabric
명령어로 설치 가능합니다.)
방화벽 설정 스크립트 작성
from fabric.api import run, env
# 접속할 원격 서버 정보 설정
env.hosts = ['your-server-ip']
env.user = 'your-ssh-username'
env.password = 'your-ssh-password'
def enable_firewall():
run('sudo ufw enable')
def open_port(port):
run(f'sudo ufw allow {port}')
def close_port(port):
run(f'sudo ufw delete allow {port}')
방화벽 설정 실행하기
위에서 작성한 스크립트를 실행하여 원격 서버의 방화벽을 설정해보겠습니다.
- 터미널을 열고 스크립트가 있는 디렉토리로 이동합니다.
- 아래 명령어를 실행하여 방화벽을 활성화합니다.
fab enable_firewall
- 특정 포트를 열고 싶다면 아래 명령어를 실행합니다.
fab open_port:<port-number>
- 특정 포트를 닫고 싶다면 아래 명령어를 실행합니다.
fab close_port:<port-number>
결론
Fabric을 사용하여 파이썬을 통해 원격 서버의 UFW 방화벽을 설정할 수 있습니다. 이는 서버 관리를 자동화하는 데 유용한 도구입니다. 위의 예제를 참고하여 개인의 요구에 맞게 방화벽을 설정해보세요.
참고 자료
- Fabric 공식 문서: http://docs.fabfile.org
- UFW 공식 문서: https://ubuntu.com/server/docs/security-firewall