89 lines
2.5 KiB
Plaintext
89 lines
2.5 KiB
Plaintext
Step 001: Kolejnosc wdrozenia (najpierw WireGuard, potem odciecie publicznego SSH)
|
|
|
|
Cel: najpierw stawiamy WireGuard i testujemy polaczenie po WG, a dopiero potem ucinamy publiczne SSH.
|
|
To minimalizuje ryzyko zablokowania sie na baremetalu.
|
|
|
|
0) Pre-flight (nie zamykaj obecnej sesji SSH)
|
|
- Na baremetalu zostaw otwarta aktualna sesje SSH.
|
|
- Przygotuj drugi terminal do testow.
|
|
|
|
Sprawdz publiczny interfejs/IP routing:
|
|
ip route get 1.1.1.1
|
|
|
|
1) WireGuard na baremetalu (nie ruszaj SSH/firewall poza WG portem)
|
|
sudo apt-get update
|
|
sudo apt-get install -y wireguard
|
|
|
|
Jesli uzywasz skryptu:
|
|
sudo /usr/local/sbin/wg_serverctl.py gen-server --force
|
|
sudo /usr/local/sbin/wg_serverctl.py gen-client client1
|
|
sudo /usr/local/sbin/wg_serverctl.py add client1
|
|
sudo /usr/local/sbin/wg_serverctl.py export client1
|
|
|
|
Uruchom WG na serwerze:
|
|
sudo systemctl enable --now wg-quick@wg0
|
|
sudo wg show
|
|
ip a show wg0
|
|
|
|
2) WireGuard na kliencie i test polaczenia
|
|
Na kliencie:
|
|
sudo apt-get update
|
|
sudo apt-get install -y wireguard
|
|
sudo /usr/local/sbin/wg_client.py install ./client1.conf
|
|
sudo /usr/local/sbin/wg_client.py up
|
|
sudo /usr/local/sbin/wg_client.py status
|
|
|
|
Testy (z klienta):
|
|
ping 10.66.66.1
|
|
ssh user@10.66.66.1
|
|
|
|
Dopiero jak to dziala, idziesz dalej.
|
|
|
|
3) (Opcjonalnie teraz) UFW: wpusc WG, ale NIE odcinaj jeszcze publicznego SSH
|
|
Na baremetalu:
|
|
sudo apt-get install -y ufw
|
|
sudo ufw allow 51820/udp
|
|
sudo ufw allow 22/tcp (tymczasowo, zeby nic nie uciac przy wlaczaniu UFW)
|
|
sudo ufw enable
|
|
sudo ufw status verbose
|
|
|
|
Uwagi:
|
|
- Jesli `sudo ufw status verbose` pokazuje "Status: inactive", to reguly NIE dzialaja.
|
|
- W takim wypadku wlacz UFW bezpiecznie (zostawiajac dostep przez WG):
|
|
|
|
sudo ufw default deny incoming
|
|
sudo ufw default allow outgoing
|
|
sudo ufw allow 51820/udp
|
|
sudo ufw allow in on wg0 to any port 22 proto tcp
|
|
sudo ufw deny in on eth0 to any port 22 proto tcp
|
|
sudo ufw enable
|
|
sudo ufw status verbose
|
|
|
|
4) Przestawienie SSH na "tylko WireGuard"
|
|
1) Najpierw pozwol na SSH po wg0:
|
|
sudo ufw allow in on wg0 to any port 22 proto tcp
|
|
|
|
2) Potem ogranicz sshd do WG IP:
|
|
sudo sshd -t
|
|
sudoedit /etc/ssh/sshd_config
|
|
|
|
Dodaj/ustaw:
|
|
PasswordAuthentication no
|
|
PermitRootLogin no
|
|
ListenAddress 10.66.66.1
|
|
|
|
Restart i test:
|
|
sudo systemctl restart ssh
|
|
|
|
Z klienta:
|
|
ssh user@10.66.66.1
|
|
|
|
3) Jak test przeszedl: zablokuj publiczne SSH:
|
|
sudo ufw deny 22/tcp
|
|
sudo ufw status verbose
|
|
|
|
5) RPC tylko po WG (po instalacji Agave)
|
|
Docelowo:
|
|
- bind RPC/WS na 10.66.66.1 (wg0)
|
|
- UFW: allow 8899/8900 tylko "in on wg0"
|