Serwer Proxy SOCKS
Z MikroTik Wiki
Spis treści |
Informacje Ogólne
Wprowadzenie
Ten podręcznik traktuje o serwerze proxy SOCKS, który jest zaimplementowany w RouterOS. MikroTik RouterOS wspiera SOCKS w wersji 4.
Specyfikacja
Wymagane pakiety: system Wymagana licencja: Level1 Poziom menu: /ip socks Standardy i Technologie: SOCKS wersja 4 Wykorzystanie sprzętu: Niewielkie
Opis
SOCKS jest serwerem proxy, który pozwala aplikacjom opartym na TCP, na przesyłanie danych do przekaźnika przez firewall, nawet gdy normalnie firewall mógłby zablokować te pakiety. Protokół SOCKS jest niezależnym od protokołów aplikacji, więc może być używany przez wiele usług, np. WWW, FTP, TELNET i inne.
Na początku, aplikacja klienta łączy się z serwerem SOCKS proxy, następnie serwer proxy sprawdza w swojej liście dostępu (access list), czy klient ma pozwolenie na dostęp do zdalnych zasobów aplikacji, czy nie. Jeżeli ma pozwolenie, serwer proxy przekazuje pakiet do serwera aplikacji i tworzy połączenie pomiędzy serwerem aplikacji a klientem.
Uwagi
Nie zapomnij skonfigurować swojego klienta aplikacji aby używał SOCKS v4.
Powinieneć zabezpieczyć SOCKS proxy poprzez jego listę dostępu i/lub firewall w celu zablokowania dostępu do niego z zewnątrz. Niezabezpieczenie serwera proxy może spowodować luki w sieci i umożliwić spamerom wysyłanie maili spamowych przez router.
Konfiguracja SOCKS
Opis
Ta sekcja pokaże Ci jak włączyć i skonfigurować serwer proxy SOCKS.
Specyfikacja
connection-idle-timeout (time; default: 2m) - czas po którym nieaktywne połączenia są zakańczane
enabled (yes | no; default: no) - określa, czy włączyć proxy SOCKS
max-connections (integer: 1..500; default: 200) - maksymalna liczba jednoczesnych połączeń
port (integer: 1..65535; default: 1080) - port TCP na którym nasłuchuje serwer SOCKS
Przykład
Aby włączyć SOCKS:
[admin@MikroTik] ip socks> set enabled=yes
[admin@MikroTik] ip socks> print
enabled: yes
port: 1080
connection-idle-timeout: 2m
max-connections: 200
[admin@MikroTik] ip socks>
Lista dostępu
Poziom menu: /ip socks access
Opis
W liscie dostępu SOCKS możesz dodać reguły, które będą kontrolować dostęp do serwera SOCKS. Ta lista jest podobna do listy firewalla.
Specyfikacja
action (allow | deny; default: allow) - akcja, która będzie wykonywana dla tej reguły
- allow - przepuść pakiety pasujące do reguły, aby mogły być przeforwardowane do dalszego przetwarzania
- deny - odrzuć pakiety pasujące do reguły
dst-address (IP address/netmask) - adres docelowy (serwera)
dst-port (port) - docelowy port TCP
src-address (IP address/netmask) - źródłowy (klienta) adres pakietu
src-port (port) - źródłowy port TCP
Aktywne Połączenia
Poziom menu: '/ip socks connections
Opis
Lista aktywnych połączeń pokazuje wszystkie zestawione połączenia TCP, które są utrzymywane przez serwer proxy SOCKS.
Specyfikacja
dst-address (read-only: IP address) - docelowy adres IP (serwera aplikacji)
rx (read-only: integer) - ilość bajtów otrzymanych
src-address (read-only: IP address) - źródłowy adres IP (klienta aplikacji)
tx (read-only: integer) - ilość bajtów wysłanych
type (read-only: in | out | unknown) - typ połączenia
- in - połączenie przychodzące
- out - połączenie wychodzące
- unknown - połączenia zostało właśnie zainicjalizowane
Przykład
Aby zobaczyć aktualne połączenia TCP:
[admin@MikroTik] ip socks connections> print # SRC-ADDRESS DST-ADDRESS TX RX 0 192.168.0.2:3242 159.148.147.196:80 4847 2880 1 192.168.0.2:3243 159.148.147.196:80 3408 2127 2 192.168.0.2:3246 159.148.95.16:80 10172 25207 3 192.168.0.2:3248 194.8.18.26:80 474 1629 4 192.168.0.2:3249 159.148.95.16:80 6477 18695 5 192.168.0.2:3250 159.148.95.16:80 4137 27568 6 192.168.0.2:3251 159.148.95.16:80 1712 14296 7 192.168.0.2:3258 80.91.34.241:80 314 208 8 192.168.0.2:3259 80.91.34.241:80 934 524 9 192.168.0.2:3260 80.91.34.241:80 930 524 10 192.168.0.2:3261 80.91.34.241:80 312 158 11 192.168.0.2:3262 80.91.34.241:80 312 158 [admin@MikroTik] ip socks connections>
Przykłady Aplikacji
Usługa FTP przez serwer SOCKS
Załóżmy, że mamy sieć 192.168.0.0/24, która znajduje się za maskaradą realizowaną przez router z publicznym IP 10.1.0.104/24 i prywatnym IP 192.168.0.1/24. Gdzieś w sieci znajduje się serwer FTP z adresem IP 10.5.8.8. Chcemy umożliwić dostęp do tego serwera FTP dla klienta, znajdującego się w naszej sieci lokalnej, o adresie IP 192.168.0.2/24
Mamy już sieć znajdującą się za maskaradą:
[admin@MikroTik] ip firewall nat> print Flags: X - disabled, I - invalid, D - dynamic 0 chain=srcnat action=masquerade src-address=192.168.0.0/24 [admin@MikroTik] ip firewall nat>
Dostęp do zewnętrznych serwerów FTP jest zabroniony przez firewall:
[admin@MikroTik] ip firewall filter> print Flags: X - disabled, I - invalid, D - dynamic 0 chain=forward action=drop src-address=192.168.0.0/24 dst-port=21 protocol=tcp [admin@MikroTik] ip firewall filter>
Musimy włączyć serwer SOCKS:
[admin@MikroTik] ip socks> set enabled=yes
[admin@MikroTik] ip socks> print
enabled: yes
port: 1080
connection-idle-timeout: 2m
max-connections: 200
[admin@MikroTik] ip socks>
Dodać dostęp dla klienta o adresie 192.168.0.2/24 do listy dostępu SOCKS, zezwalającej na transfer danych z serwera FTP do klienta (odblokować docelowe porty od 1024 do 65535 dla dowolnego adresu IP), oraz odrzucającej wszystko inne:
[admin@MikroTik] ip socks access> add src-address=192.168.0.2 dst-port=21 \ \... action=allow [admin@MikroTik] ip socks access> add dst-port=1024-65535 action=allow [admin@MikroTik] ip socks access> add action=deny [admin@MikroTik] ip socks access> print Flags: X - disabled 0 src-address=192.168.0.2 dst-port=21 action=allow 1 dst-port=1024-65535 action=allow 2 action=deny [admin@MikroTik] ip socks access>
To wszystko! Serwer SOCKS jest skonfigurowany. Aby zobaczyć aktywne połączenia oraz transmitowane dane:
[admin@MikroTik] ip socks connections> print # SRC-ADDRESS DST-ADDRESS TX RX 0 192.168.0.2:1238 10.5.8.8:21 1163 4625 1 192.168.0.2:1258 10.5.8.8:3423 0 3231744 [admin@MikroTik] ip socks connections>
Uwaga! W celu użycia serwera proxy SOCKS, musisz określić jego adres IP oraz port FTP klienta. W tym przypadku adres IP będzie 192.168.0.1 (lokalny adres IP routera/serwera SOCKS) oraz port TCP 1080.
