Files
trade-iac/doc/step-001-order-wg-then-ssh.txt

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"