В настоящее время я использую VisualSVN Server, и он доступен только в моей домашней сети. Со временем к нему будут обращаться и другие, но сейчас это только я, и я хотел бы иметь возможность ходить в кофейню (или куда-то еще) и работать вне дома.
В настоящее время я подключаюсь к серверу по адресу http://user-pc:xx/svn/Projects/
. Когда я настраиваю маршрутизатор для переадресации порта XX на мой сервер, какие шаги мне следует предпринять для защиты сервера?
Имейте в виду, что я делаю это в Windows, и хотя я активно использую обычную командную строку, я не так давно работаю с SVN и до сих пор не использовал для работы с ней ничего, кроме TortoiseSVN.
Редактировать: Единственное, что может сделать злоумышленник, о чем я знаю, это: угадать мой номер порта, имя пользователя и пароль, чтобы попасть в репозиторий. Однако, как говорится, я не знаю, чего я не знаю.
Поэтому я не прошу пошаговых инструкций (хотя мне бы их тоже хотелось получить), а скорее то, на что мне следует обратить внимание.любойвид атаки, который можно осуществить после открытия порта.
решение1
- Используйте надежный пароль для защиты сервера VisualSVN
- Используйте порт большего размера для сервера, например 39517 вместо порта по умолчанию 80 или 443. Это усложнит задачу злоумышленника по угадыванию. Злоумышленнику придется полагаться на сканирование портов.
- Сервер VisualSVN не разрешит анонимный доступ. Вам необходимо явно определить пользователей.
- Предоставляйте доступ только тем людям, которым вы доверяете.
решение2
- Используйте https на стороне сервера, а не обычный http (AuthType Basic перехватывается) или используйте Digest-аутентификацию (необходимо настроить Apache вручную)
- Используйте (бесплатный) сертификат, выданный CA на сервере, а не самоподписанный (вы можете использовать самоподписанный сертификат, но вам придется (?) каждый раз проверять его на глаз)
- Поддерживать актуальную версию VisualSVN Server (с исправлениями возможных проблем в Apache и/или самом SVN)
- Включить ведение журнала в httpd.conf для аудита безопасности (в VisualSVN Server по умолчанию журналирование не ведется)
решение3
Я бы рекомендовал использовать ssh-доступ к вашему svn-серверу. Лично я предпочитаю аутентификацию с помощью открытого/закрытого ключа.
Но даже несмотря на это, предложения desaivv — это то, что я бы порекомендовал.