Назад | Перейти на главную страницу

Что я должен учесть, чтобы защитить SVN в Windows?

В настоящее время я использую VisualSVN Server, и он доступен только в моей домашней сети. В конце концов, к нему будут обращаться другие, но пока это только я, и я хотел бы иметь возможность спуститься в кофейню (или где-то еще) и иметь возможность работать вне дома.

В настоящее время я получаю доступ к серверу в http://user-pc:xx/svn/Projects/. Когда я настраиваю маршрутизатор для переадресации порта XX на мой сервер, какие шаги я должен предпринять для защиты сервера?

Имейте в виду, что я делаю это в Windows, и, хотя я широко использую обычную командную строку, я не очень давно пользуюсь SVN и до сих пор не использовал ничего, кроме TortoiseSVN для работы с ним.

редактировать: Единственная опасная вещь, которую может сделать злоумышленник, о чем я знаю, - это угадать номер моего порта, имя пользователя и пароль для доступа в репозиторий. Однако, как говорится, не знаю того, чего не знаю.

Так что я не обязательно прошу пошаговых инструкций (хотя я, конечно, тоже хотел бы, чтобы они были), а только о том, что мне нужно учитывать. любой вид атаки, которая может быть предпринята после открытия порта.

  1. Используйте https на стороне сервера, а не простой http (AuthType Basic перехватывается) или используйте Digest auth (необходимо настроить Apache вручную)
  2. Используйте (бесплатный) сертификат, выпущенный CA на сервере, а не самоподписанный (вы можете использовать самоподписанный сертификат, но у вас будет (?), Чтобы проверять его на глаз каждый раз)
  3. Поддерживайте актуальную версию VisualSVN Server (с исправлениями возможных проблем в Apache и | или самом SVN)
  4. Включите ведение журнала в httpd.conf для аудита безопасности (в VisualSVN Server по умолчанию нет ведения журнала)
  1. Используйте надежный пароль для защиты сервера VisualSVN
  2. Используйте более высокий порт для сервера, например 39517 вместо порта по умолчанию 80 или 443. Злоумышленнику будет сложнее угадать. Злоумышленнику придется полагаться на сканирование портов.
  3. Сервер VisualSVN не разрешает анонимный доступ. Вам нужно явно определить пользователей.
  4. Предоставляйте пользователям доступ только к людям, которых вы знаете / которым доверяете.

Я бы рекомендовал использовать ssh-доступ к вашему svn-серверу. Я лично предпочитаю аутентификацию с открытым / закрытым ключом.

Даже с учетом этого, предложения desaivv - это тоже вещи, которые я бы порекомендовал.