NAT
Nie ma wystarczająco dużo adresów publicznych IPv4, aby móc przypisać unikalny adres do każdego urządzenia połączonego z internetem. Sieci są zazwyczaj tworzone z użyciem prywatnych adresów IPv4.
Adresy prywatne umożliwiają komunikację lokalnie, nie są one routowane poza siecią wewnętrzną. Aby umożliwić urządzeniu z adresem prywatnym dostęp do internetu, musi on zostać przetłumaczony na adres publiczny. NAT to umożliwia.
Wynika z tego, że z zewnątrz nie możemy połączyć się z urządzeniem wewnątrz sieci prywatnej. Z pomocą przychodzi nam SideDoor. Tworzy on odwrotny tunel, aby utrzymać połączenie z zainfekowaną maszyną (ang. backdoor – tylne drzwi). Pozwala on na zdalną kontrolę urządzenia za NATem.
Instalacja
Instalujemy potrzebne opgramowanie
apt-get install debhelper dh-systemd
Kopiujemy reprezytorium
git clone https://github.com/daradib/sidedoor
Wchodzimy do folderu
cd sidedoor
Budujemy i instalujemy opgramowanie
dpkg-buildpackage -us -uc -b
sudo dpkg -i ../sidedoor*.deb
Konfiguracja
Zdalny serwer i port tunelu są skonfigurowane w
/etc/default/sidedoor
Pliki konfiguracji SSH znajduja się w
/etc/sidedoor
authorized_keys
: publiczne klucze SSH do kontroli dostępu dla lokalnego użytkownika sidedoor.id_rsa
: prywatne klucze SSH, aby uzyskać dostęp do zdalnego serwera. Poniżej znajdziesz informację jak je wygenerować.known_hosts
: odcisk klucza SSH zdalnego serweraconfig
(opcjonalnie): dodatkowa konfiguracja SSH, więcej informacji znajdziesz wman ssh_config
Zrestartuj sidedoor, aby zatwierdzić zmiany
service sidedoor restart
Generowanie prywatnego klucza SSH
Możesz wygenerować klucze korzystając z komendy
ssh-keygen -t rsa -f /etc/sidedoor/id_rsa
Wciśnij enter, kiedy zostaniesz poproszony o wpisanie hasła, aby zostawić je puste. Wymaga uprawnień odczytu przez użytkownika sidedoor, bądź grupę
chown root:sidedoor /etc/sidedoor/id_rsa
chmod 640 /etc/sidedoor/id_rsa
Klucz publiczny id_rsa.pub musi być zawarty u użytkownika zdalnego w pliku ~/.ssh/authorized_keys