Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-03-26. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Настройка встроенных правил брандмауэра

Вы можете просматривать правила брандмауэра по умолчанию и настраивать правила для ваш экземпляр GitHub Enterprise Server.

О брандмауэре ваш экземпляр GitHub Enterprise Server

GitHub Enterprise Server использует несложный брандмауэр Ubuntu (UFW) на виртуальном модуле. Дополнительные сведения см. в разделе UFW документации по Ubuntu. GitHub Enterprise Server автоматически обновляет список разрешенных служб брандмауэра с каждым выпуском.

После установки GitHub Enterprise Server все необходимые сетевые порты автоматически открываются для приема подключений. Каждый необязательный порт автоматически настроен как deny, а исходящая политика по умолчанию настроена как allow. Отслеживание состояния включено для всех новых подключений; обычно это сетевые пакеты с набором битов SYN. Дополнительные сведения см. в разделе Сетевые порты.

Брандмауэр UFW также открывает несколько других портов, необходимых для правильной работы GitHub Enterprise Server. Дополнительные сведения о наборе правил UFW см. в статье о UFW README.

Мы не рекомендуем настраивать UFW, так как это может усложнить некоторые проблемы с устранением неполадок.

Просмотр правил брандмауэра по умолчанию

  1. SSH в ваш экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по 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)
    

Добавление настраиваемых правил брандмауэра

Предупреждение. Перед добавлением настраиваемых правил брандмауэра создайте резервную копию текущих правил на случай необходимости сброса к известному рабочему состоянию. Если вы заблокированы на сервере, посетите Поддержка GitHub Enterprise и обратитесь к нам, чтобы перенастроить исходные правила брандмауэра. Восстановление исходных правил брандмауэра включает простой вашего сервера.

  1. Настройте настраиваемое правило брандмауэра.

  2. Проверьте состояние каждого нового правила с помощью команды status numbered.

    sudo ufw status numbered
    
  3. Чтобы создать резервную копию настраиваемых правил брандмауэра, выполните команду cp для перемещения правил в новый файл.

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

После обновления ваш экземпляр GitHub Enterprise Serverнеобходимо повторно применить пользовательские правила брандмауэра. Рекомендуется создать сценарий для повторного применения настраиваемых правил брандмауэра.

Восстановление правил брандмауэра по умолчанию

Если после изменения правил брандмауэра произошла ошибка, можно сбросить правила из исходной резервной копии.

Предупреждение. Если вы не создали резервную копию исходных правил перед внесением изменений в брандмауэр, посетите Поддержка GitHub Enterprise и обратитесь к нам за дополнительной помощью.

  1. SSH в ваш экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по 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)