Skip to main content

이 버전의 GitHub Enterprise는 다음 날짜에 중단되었습니다. 2024-09-25. 중요한 보안 문제에 대해서도 패치 릴리스가 이루어지지 않습니다. 더 뛰어난 성능, 향상된 보안, 새로운 기능을 위해 최신 버전의 GitHub Enterprise Server로 업그레이드합니다. 업그레이드에 대한 도움말은 GitHub Enterprise 지원에 문의하세요.

기본 제공 방화벽 규칙 구성

기본 방화벽 규칙을 보고 에 대한 규칙을 사용자 지정할 수 있습니다.

의 방화벽 정보

GitHub Enterprise Server는 가상 어플라이언스에서 Ubuntu의 UFW(복잡하지 않은 방화벽)를 사용합니다. 자세한 내용은 Ubuntu 설명서의 “UFW”를 참조하세요. GitHub Enterprise Server는 각 릴리스에서 허용되는 서비스의 방화벽 허용 목록을 자동으로 업데이트합니다.

GitHub Enterprise Server를 설치하면 모든 필수 네트워크 포트가 자동으로 열리고 연결이 허용됩니다. 필요하지 않은 모든 포트는 자동으로 deny로 구성되고 기본 발신 정책은 allow로 구성됩니다. 상태 저장 추적은 모든 새 연결에 대해 사용하도록 설정됩니다. 일반적으로 SYN 비트 집합이 있는 네트워크 패킷입니다. 자세한 내용은 "네트워크 포트"을(를) 참조하세요.

UFW 방화벽은 GitHub Enterprise Server가 제대로 작동하는 데 필요한 다른 여러 가지 포트도 엽니다. UFW 규칙 집합에 대한 자세한 내용은 UFW README를 참조하세요.

일부 문제 해결 문제를 복잡하게 만들 수 있으므로 UFW를 사용자 지정하지 않는 것이 좋습니다.

기본 방화벽 규칙 보기

  1. 에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 "관리 셸(SSH)에 액세스"을(를) 참조하세요.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 기본 방화벽 규칙을 보려면 sudo ufw status 명령을 사용합니다. 다음과 유사한 출력이 표시됩니다.

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)
    

사용자 지정 방화벽 규칙 추가

Warning

사용자 지정 방화벽 규칙을 추가하기 전에 알려진 작업 상태로 재설정해야 하는 경우 현재 규칙을 백업합니다. 서버에서 잠긴 경우 GitHub Enterprise 지원을(를) 방문하여 원본 방화벽 규칙을 다시 구성하도록 요청하세요. 원본 방화벽 규칙을 복원하려면 서버에 대한 가동 중지 시간이 필요합니다.

  1. 사용자 지정 방화벽 규칙 구성

  2. status numbered 명령을 사용하여 각각의 새 규칙 상태를 확인합니다.

    sudo ufw status numbered
    
  3. 사용자 지정 방화벽 규칙을 백업하려면 cp 명령을 사용하여 규칙을 새 파일로 이동합니다.

    sudo cp -r /etc/ufw ~/ufw.backup
    

를 업그레이드한 후 사용자 지정 방화벽 규칙을 다시 적용해야 합니다. 방화벽 사용자 지정 규칙을 다시 적용하는 스크립트를 만드는 것이 좋습니다.

기본 방화벽 규칙 복원

방화벽 규칙을 변경한 후 문제가 발생하는 경우 원본 백업에서 규칙을 다시 설정할 수 있습니다.

Warning

방화벽을 변경하기 전에 원본 규칙을 백업하지 않은 경우 GitHub Enterprise 지원를 방문하여 문의하고 추가 지원을 받으세요.

  1. 에 SSH합니다. 인스턴스가 여러 노드로 구성된 경우(예: 고가용성 또는 지역 복제가 구성된 경우) 주 노드에 대한 SSH를 수행합니다. 클러스터를 사용하는 경우 임의 노드에 대해 SSH를 수행할 수 있습니다. HOSTNAME을 인스턴스의 호스트 이름 또는 노드의 호스트 이름이나 IP 주소로 바꿉니다. 자세한 내용은 "관리 셸(SSH)에 액세스"을(를) 참조하세요.

    Shell
    ssh -p 122 admin@HOSTNAME
    
  2. 이전 백업 규칙을 복원하려면 cp 명령을 사용하여 이전 백업 규칙을 다시 방화벽에 복사합니다.

    sudo cp -f ~/ufw.backup/*rules /etc/ufw
    
  3. systemctl 명령을 사용하여 방화벽을 다시 시작합니다.

    sudo systemctl restart ufw
    
  4. ufw status 명령을 사용하여 규칙이 기본값으로 돌아왔는지 확인합니다.

    $ sudo ufw status
    > Status: active
    > To                         Action      From
    > --                         ------      ----
    > ghe-1194                   ALLOW       Anywhere
    > ghe-122                    ALLOW       Anywhere
    > ghe-161                    ALLOW       Anywhere
    > ghe-22                     ALLOW       Anywhere
    > ghe-25                     ALLOW       Anywhere
    > ghe-443                    ALLOW       Anywhere
    > ghe-80                     ALLOW       Anywhere
    > ghe-8080                   ALLOW       Anywhere
    > ghe-8443                   ALLOW       Anywhere
    > ghe-9418                   ALLOW       Anywhere
    > ghe-1194 (v6)              ALLOW       Anywhere (v6)
    > ghe-122 (v6)               ALLOW       Anywhere (v6)
    > ghe-161 (v6)               ALLOW       Anywhere (v6)
    > ghe-22 (v6)                ALLOW       Anywhere (v6)
    > ghe-25 (v6)                ALLOW       Anywhere (v6)
    > ghe-443 (v6)               ALLOW       Anywhere (v6)
    > ghe-80 (v6)                ALLOW       Anywhere (v6)
    > ghe-8080 (v6)              ALLOW       Anywhere (v6)
    > ghe-8443 (v6)              ALLOW       Anywhere (v6)
    > ghe-9418 (v6)              ALLOW       Anywhere (v6)