[python] Fabric으로 원격 서버 UFW 방화벽 설정하기

소개

Fabric은 파이썬 기반의 배포 자동화 도구입니다. 이를 사용하여 서버 관리 작업을 자동화할 수 있습니다. 이 포스트에서는 Fabric을 사용하여 원격 서버의 UFW(Uncomplicated Firewall) 방화벽을 설정하는 방법에 대해 알아보겠습니다.

필수 조건

방화벽 설정 스크립트 작성

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}')

방화벽 설정 실행하기

위에서 작성한 스크립트를 실행하여 원격 서버의 방화벽을 설정해보겠습니다.

  1. 터미널을 열고 스크립트가 있는 디렉토리로 이동합니다.
  2. 아래 명령어를 실행하여 방화벽을 활성화합니다.
fab enable_firewall
  1. 특정 포트를 열고 싶다면 아래 명령어를 실행합니다.
fab open_port:<port-number>
  1. 특정 포트를 닫고 싶다면 아래 명령어를 실행합니다.
fab close_port:<port-number>

결론

Fabric을 사용하여 파이썬을 통해 원격 서버의 UFW 방화벽을 설정할 수 있습니다. 이는 서버 관리를 자동화하는 데 유용한 도구입니다. 위의 예제를 참고하여 개인의 요구에 맞게 방화벽을 설정해보세요.

참고 자료