modified on 1 lip 2010 at 11:24 ••• 10 879 views

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.