new docs
@@ -24,6 +24,8 @@ manuals/
|
||||
## 📑 Список доступных мануалов
|
||||
|
||||
- **SSO** — Регистрация в корпоративной SSO
|
||||
- **NetBird** — Настройка корпоративного VPN для доступа в Internal
|
||||
- **Certs** — Добавление корпоративных сертификатов
|
||||
|
||||
## 🎯 Цели репозитория
|
||||
|
||||
|
||||
22
docs/Certs/Certs.md
Normal file
@@ -0,0 +1,22 @@
|
||||
### Введение
|
||||
Внутренняя `dns` зоны никак не светят в интернет, соотвественно нет глобально заверенных TLS сертификатов.
|
||||
|
||||
### Добавление сертификата
|
||||
Внутренний сертификат нужно добавить как в браузер так и в саму систему. Сам сертификат: `internal_gr.crt`
|
||||
В случае с браузером заходим в Настройки -> Безопасность -> Сертификаты
|
||||
|
||||

|
||||
|
||||
|
||||
И импортируем корневой сертификат компании.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
В случае с Linux системой необходимо поместить серт по пути: `/usr/local/share/ca-certificates/internal_gr.crt`.
|
||||
И прогнать команду: `sudo update-ca-certificates`.
|
||||
|
||||
Для проверки успешности добавления сертификата переходим на уже знакомый [PgAdmin](pgadmin.greedy.com) и проверяем сведения о сертификате.
|
||||
|
||||

|
||||
BIN
docs/Certs/images/browser_certs.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
docs/Certs/images/import_cers.png
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
docs/Certs/images/pgadmin-crt.png
Normal file
|
After Width: | Height: | Size: 225 KiB |
12
docs/Certs/internal_gr.crt
Normal file
@@ -0,0 +1,12 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBrzCCAVWgAwIBAgIQfw53rPEw6Jo81qpC+5x81TAKBggqhkjOPQQDAjA2MRUw
|
||||
EwYDVQQKEwxJbnRlcm5hbCBQS0kxHTAbBgNVBAMTFEludGVybmFsIFBLSSBSb290
|
||||
IENBMB4XDTI1MTAxMTE0MjQwNVoXDTM1MTAwOTE0MjQwNVowNjEVMBMGA1UEChMM
|
||||
SW50ZXJuYWwgUEtJMR0wGwYDVQQDExRJbnRlcm5hbCBQS0kgUm9vdCBDQTBZMBMG
|
||||
ByqGSM49AgEGCCqGSM49AwEHA0IABKoqmM/KGdqQqi5whqYvGxI4r3QJc0cTCGZN
|
||||
vvMbF8r4h4CefHDC1/n1vvA0yPnY67IqS5+332jbffvd1Euqv4ujRTBDMA4GA1Ud
|
||||
DwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBQtVvtK/PnG
|
||||
uSU/Nfq4LFIqkUhl+TAKBggqhkjOPQQDAgNIADBFAiEA/mNkq95BmouWg7PF4yyq
|
||||
jH9YVyK3h24r//gBL3OWvpECIDBlLFftKXnw4bknfWyDAyBYeMlxDqrV2AMZoNrM
|
||||
rGXo
|
||||
-----END CERTIFICATE-----
|
||||
80
docs/NetBird/Connect_to_VPN.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# NetBird
|
||||
Система на базе WireGuard обеспечивающая безопасное подключение к инфраструктуре.
|
||||
|
||||
|
||||
# Настройка подключения
|
||||
После того администратор аппрувнит вашу УЗ вы получите доступ сам Web-Interface NetBird.
|
||||
|
||||

|
||||
|
||||
Выбираете свою систему, в моем случае подключаться к инфре я буду через VPS ( который уже выступает в роли WireGuard VPN сервера ) для обеспечения большей безопасности.
|
||||
|
||||
Перед подключением к NetBird в случае CLI клиентов как в моем случае в команду подключения необходимо добавить `--hostname you_nickname`, таким образом команда будет иметь вид:
|
||||
|
||||
`netbird up --hostname dev-developer --management-url https://netbird.project-quest-dev.com:443`
|
||||
|
||||

|
||||
|
||||
|
||||
После этого у вас появится доступ к внутренней инфраструктуре компании. Сетевые доступы ограничиваются вашей группой в Authentik.
|
||||
|
||||
Убедиться, что VPN соединения установлено и работает корректно можно пингом внутреннего PgAdmin:
|
||||
|
||||
```bash
|
||||
nslookup pgadmin.greedy.com
|
||||
Server: 127.0.0.53
|
||||
Address: 127.0.0.53#53
|
||||
|
||||
Non-authoritative answer:
|
||||
Name: pgadmin.greedy.com
|
||||
Address: 100.80.215.33
|
||||
|
||||
ping pgadmin.greedy.com
|
||||
PING pgadmin.greedy.com (100.80.215.33) 56(84) bytes of data.
|
||||
64 bytes from prod-infra.netbird.selfhosted (100.80.215.33): icmp_seq=1 ttl=64 time=0.782 ms
|
||||
64 bytes from prod-infra.netbird.selfhosted (100.80.215.33): icmp_seq=2 ttl=64 time=1.08 ms
|
||||
|
||||
curl --insecure https://pgadmin.greedy.com
|
||||
<!doctype html>
|
||||
<html lang=en>
|
||||
<title>Redirecting...</title>
|
||||
<h1>Redirecting...</h1>
|
||||
<p>You should be redirected automatically to the target URL: <a href="/login?next=/">/login?next=/<a>. If not, click the link.
|
||||
```
|
||||
|
||||
# DNS
|
||||
Уже на этом моменте вы получаете доступ к внутренней инфраструктуре. Внутренняя инфраструктура имеет свои `dns` зоны, которые не имеют никакого отношения к внешнему миру. В случае установки NetBird на рабочую систему ваши запросы к `pgadmin.greedy.com` через тунель уже проксируются на внетренний DNS сервер. Но в моем сценарии, когда имеется некий VPS выступающий в роли `Man-in-a-Middle` запросы до `*.greedy.com` просто будут потеряны.
|
||||
После подключения к NetBird сети, на нашей машине поднимается Local-Resolver сервис самого NetBird.
|
||||
Чтобы моя рабочая машина знала куда отправлять запросы я укажу в клиентском конфиге своего VPN (WireGuard - это мой рабочий VPN) этот самый Local-Resolver в качестве одного из DNS серверов.
|
||||
|
||||
Чтобы найти Local-Resolver IP на VPS выполняю команду:
|
||||
```bash
|
||||
netstat -tulpn
|
||||
Active Internet connections (only servers)
|
||||
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
|
||||
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 110005/sshd: /usr/s
|
||||
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 589/systemd-resolve
|
||||
tcp6 0 0 :::22 :::* LISTEN 110005/sshd: /usr/s
|
||||
udp 0 0 0.0.0.0:51820 0.0.0.0:* -
|
||||
udp 0 0 127.0.0.1:3128 0.0.0.0:* 111013/netbird
|
||||
udp 0 0 0.0.0.0:8080 0.0.0.0:* -
|
||||
udp 0 0 100.80.82.135:53 0.0.0.0:* 111013/netbird
|
||||
udp 0 0 127.0.0.53:53 0.0.0.0:* 589/systemd-resolve
|
||||
```
|
||||
|
||||
Вот и адрес нашего Resolver: `100.80.82.135:53 111013/netbird`. Этот адрес я добавляю в свой клиенсткий WireGuard конфиг:
|
||||
|
||||

|
||||
|
||||
Рестартуем WireGuard подключения и теперь даже на локальном машине у нас резолвятся внутренние домены компании.
|
||||
|
||||
P.S в случе если на вашем VPS настроен `ufw` вам следует добавить разрешающее правило, чтобы WG клиенты ( ваш компьютер ) имели доступ до Resolver:
|
||||
`sudo ufw allow from 10.7.0.0/24 to 100.80.82.135 port 53 proto udp`
|
||||
|
||||
где:
|
||||
- `10.7.0.0/24` - (клиентская подсеть wg)
|
||||
- `100.80.82.135` - адрес резолвера
|
||||
|
||||
|
||||
Таким образом мы получаю безопасную схему подключения:
|
||||

|
||||
BIN
docs/NetBird/images/approve_connection.png
Normal file
|
After Width: | Height: | Size: 5.7 MiB |
BIN
docs/NetBird/images/conn_architecture.png
Normal file
|
After Width: | Height: | Size: 5.6 MiB |
BIN
docs/NetBird/images/login_page.png
Normal file
|
After Width: | Height: | Size: 250 KiB |
BIN
docs/NetBird/images/wg-dns.png
Normal file
|
After Width: | Height: | Size: 991 KiB |