Spôsoby platby Abuse

Inštalácia servera 3proxy

05.06.2023, 23:17

3proxy je bezplatný proxy server s otvoreným zdrojovým kódom, ktorý sa používa na rôzne účely, napríklad na filtrovanie prevádzky, ukladanie do vyrovnávacej pamäte a blokovanie konkrétnych webových lokalít. Podporuje rôzne protokoly, ako napríklad SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP, a podporuje metódy overovania, ako napríklad používateľské meno/heslo SOCKS5, NTLM, LDAP, Kerberos a SSO.

Server je vysoko prispôsobiteľný a poskytuje podrobnú správu využitia šírky pásma a parametrov pripojenia. Server 3proxy je možné nainštalovať na platformy Windows, Linux a macOS. Je to ľahký a ľahko použiteľný proxy server vhodný pre malé až stredne veľké siete. Je možné si prenajať proxy server vps.

Inštalácia 3proxy s podporou http(s) a socks5-proxy

Je potrebné dbať na opatrnosť, pretože inštalácia servera bez autorizácie je nežiaduca. Môže to viesť k neoprávnenému používaniu servera narušiteľmi na organizovanie rozosielania spamu a vysokej návštevnosti.

Na začiatku je potrebné nainštalovať niekoľko balíkov a závislostí.

V prípade systému AlmaLinux je to príkaz:

yum -y install gcc wget tar

a pre Debian:

apt install -y build-essential wget tar

Potom stiahnite súbory z oficiálnej stránky projektu 3proxy, rozbaľte archív a skompilujte stiahnuté súbory.

Potom vytvorte potrebné adresáre pre konfiguračné súbory a protokoly, preneste spustiteľný súbor 3proxy a vytvorte nového používateľa"proxyuser" a prideľte mu práva k adresárom. Ak chcete vytvoriť nový konfiguračný súbor, spustite príkaz:

touch /etc/3proxy/3proxy.cfg

Prideľte práva iba používateľovi root pomocou príkazu chmod 600 /etc/3proxy/3proxy.cfg.

Po vytvorení nového konfiguračného súboru je potrebné ho správne vyplniť. Na tento účel si zapíšte uid a gid používateľa"proxyuser" a potom pomocou textového editora skopírujte a vložte text z ukážkového konfiguračného súboru. Uložte zmeny do konfiguračného súboru a máme nainštalovaný 3proxy s podporou http(s) a socks5-proxy.

Konfiguračný súbor

Nižšie je uvedený vzorový konfiguračný súbor:

Konfigurácia servera na spustenie ako proxyuser

(vložte uid a gid nášho používateľa, ktoré sme sa naučili predtým).
setgid 991
setuid 991

Zadajte správne menné servery. Pozrite si súbor /etc/resolv.conf:
nserver 8.8.8.8.8.8
nserver 8.8.4.4

Použite predvolené časové limity a veľkosť vyrovnávacej pamäte pre dotazy DNS:
1 5 30 60 180 180 1800 1800 15 60
nscache 65536

Zadajte režim spúšťania ako démon:
daemon

Zadajte IP adresu vonkajšieho rozhrania servera:
111.111.111.111.111.111 (alebo tento riadok ignorujte, ak je IP rovnaká).

Zadajte IP adresu vnútorného rozhrania servera::
(alebo ho ignorujte, aby proxy server počúval na všetkých IP).

Nakonfigurujte proxy server http na štandardnom porte 3128:
(zadajte svoj port, pričom sa vopred uistite, že funguje): proxy -p3128 -n -a.

Nakonfigurujte proxy server socks na štandardnom porte 1080:
(zadajte svoj port a vopred skontrolujte, či funguje).

Zadajte cestu k logom, formát logov a rotáciu:
log /var/log/3proxy/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

Ďalej vytvorte inicializačný súbor pre systemd a nakonfigurujte správne oprávnenia:

# touch /etc/systemd/system/3proxy.service
# chmod 664 /etc/systemd/system/3proxy.service

Do tohto súboru by sa mal vložiť nasledujúci text:

[Unit] 
Description=3proxy Proxy Server 
After=network.target 
[Service] 
Type=simple 
ExecStart=/usr/bin/3proxy /etc/3proxy/3proxy.cfg 
ExecStop=/bin/kill `/usr/bin/pgrep proxyuser` 
RemainAfterExit=yes 
Restart=on-failure 
[Install] 
WantedBy=multi-user.target

Uložte a aktualizujte konfiguráciu systemd:

# systemctl daemon-reload

Spustite 3proxy a pridajte ho do autoloadera:

# systemctl start 3proxy
# systemctl enable 3proxy
Nezabudnite otvoriť port http proxy vo firewalde alebo iptables.

Konfigurácia je dokončená. Teraz máte http-proxy na porte 3128 a socks-proxy na porte 1080.

Riešenie niektorých problémov

Prvým problémom je možnosť, že po registrácii novej domény ju nebudete mať k dispozícii z dôvodu ukladania názvu domény do vyrovnávacej pamäte. Ak chcete tento problém vyriešiť, mali by ste počkať na aktualizáciu záznamov DNS alebo pridať IP adresu svojho servera a novú doménu do súboru hosts. To vám umožní prístup k novej doméne, kým sa záznamy DNS neaktualizujú.

Problém číslo dva - ak používate proxy server s predvolenými portami, skôr či neskôr môže byť server zistený. Na vyriešenie tohto problému sa odporúča zmeniť porty.

Môžete napríklad nastaviť port 7834 na serveri http proxy a 7835 na serveri Socks. Aj takéto porty však môžu byť detekované, preto môžete nakonfigurovať bránu firewall tak, aby povolila prístup k serveru len z určitých adries, zatiaľ čo ostatným bude prístup zamietnutý. Toto riešenie je pomerne spoľahlivé, aj keď nie príliš flexibilné, pretože nemusíte mať prístup k statickej adrese IP.

Tretím problémom je, že ak používate proxy server a uchovávate protokoly o všetkých pripojeniach, časom môžu byť dosť veľké a zaberať väčšinu voľného miesta na disku. Ak sa chcete vyhnúť tomuto problému, mali by ste sa postarať o rotáciu protokolov alebo neuchovávať protokoly vôbec.

Existujú rôzne metódy rotácie protokolov, ktoré umožňujú uchovávať len niekoľko posledných súborov protokolov a automaticky odstraňovať staršie protokoly. Preto je najlepšie nastaviť proces rotácie protokolov vopred, aby nedošlo k preplneniu disku. Pomôže to zachovať všetky údaje a zabrániť strate informácií pri používaní servera proxy.

Zjednodušená konfigurácia anonymného proxy servera http(s) na porte 3128

users proxyuser:CL:password

daemon

log /var/log/3proxy/3proxy.log D

rotate 30

auth strong

proxy -n -a

setgid 65534

setuid 65534

Je tiež potrebné vytvoriť adresár pre protokoly a nastaviť oprávnenia (server spustíme s minimálnymi právami nikoho v systéme pomocou direktív setgid/setud):

mkdir /var/log/3proxy ; chown nobody /var/log/3proxy

Inštalácia servera 3proxy v aplikácii Docker

Uvažujme o inštalácii servera 3proxy do nástroja Docker.

Najprv musíme nainštalovať niektoré balíky (a v prípade nedávno nainštalovaných operačných systémov Debian a Ubuntu môžeme tiež potrebovať aktualizovať index balíkov apt pomocou # apt update).

Pre systémy AlmaLinux a CentOS:

# yum install docker docker-compose

Pre Ubuntu a Debian:

# apt install docker docker.io docker-compose

Stiahnite si obraz:

# docker pull 3proxy/3proxy

V predvolenom nastavení 3proxy používa bezpečné chroot prostredie v /usr/local/3proxy s uid 65535 a gid 65535 a očakáva, že konfiguračný súbor 3proxy bude umiestnený v /usr/local/etc/3proxy. Cesty v konfiguračnom súbore by mali byť zadané relatívne voči /usr/local/3proxy, t. j. namiesto /usr/local/3proxy/logs by to malo byť /logs. V chroote sa vyžaduje oprávnenie pre nserver.

Na tento účel vytvorte adresár a konfiguračný súbor 3proxy:

# mkdir -p /etc/dockerapp/3proxy
# touch /etc/dockerapp/3proxy/3poxy.conf

Potom použite ľubovoľný textový editor na úpravu vytvoreného konfiguračného súboru 3proxy .conf. Na spustenie 3proxy v Dockeri stačí minimálna konfigurácia:

nserver 8.8.8.8.8.8
socks -p3129

Ak chcete pridať logovanie a používateľa, musíte pridať do konfiguračného súboru 3proxy:

log /logs/3proxy.log 
auth strong 
users "proxyuser:CR:87beeef3f4ee4661ac1897eca216fc26"

Namiesto"87beeef3f4ee4661ac1897eca216fc26"musíte zadať MD5 hash hesla pre proxyuser. Hash MD5 môžete zistiť pomocou online generátorov.

Spustíme 3proxy pomocou docker-compose. To si bude vyžadovať vytvorenie konfiguračného súboru vo formáte .yml:

# touch /etc/dockerapp/3proxy/docker-compose.yml

Pomocou textového editora doň vložte nasledujúci text:

version: "2.1" 
services: 
  3proxysvc: 
image: 3proxy/3proxy:latest 
container_name: 3proxy 
volumes: 
   - /etc/dockerapp/3proxy/conf:/usr/local/3proxy/conf 
ports: 
   - 8080:3129 
restart: unless-stopped

Uložte. V tomto súbore sme zadali externý port 8080. Teraz ho môžeme spustiť:

# docker-compose -f /etc/dockerapp/3proxy/docker-compose.yml up -d

Dostaneme takúto odpoveď:

Vytvorenie siete"3proxy_default" s predvoleným ovládačom
Vytvorenie siete 3proxy ... hotovo

Test:

# docker ps

Dostaneme odpoveď s ID kontajnera, obrazom, stavom, použitými portami a názvom:

48cc0cd140cd 3proxy/3proxy:latest "/bin/3proxy /etc/3p..." 5