Fizetési módok Abuse

A 3proxy telepítése

05.06.2023, 23:17

A 3proxy egy ingyenes és nyílt forráskódú proxy szerver, amelyet különböző célokra használnak, például forgalom szűrésére, gyorsítótárazásra és bizonyos weboldalak blokkolására. Támogatja a különböző protokollokat, mint például a SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP, és támogatja az olyan hitelesítési módszereket, mint a SOCKS5 felhasználónév/jelszó, NTLM, LDAP, Kerberos és SSO.

A szerver nagymértékben testreszabható, és részletes sávszélesség-felhasználási és kapcsolati paraméterek kezelését teszi lehetővé. A 3proxy telepíthető Windows, Linux és macOS platformokra. Könnyű és könnyen használható proxy szerver, amely alkalmas kis és közepes méretű hálózatokhoz. Lehetőség van vps proxy bérlésére is.

Telepítse a 3proxy-t http(s) és socks5-proxy támogatással.

Óvatosan kell eljárni, mivel nem kívánatos a szerver engedély nélküli telepítése. Ez ahhoz vezethet, hogy a szervert illetéktelen behatolók jogosulatlanul használják a spammelés és a nagy forgalom megszervezésére.

Kezdetben számos csomagot és függőséget kell telepíteni.

Az AlmaLinux esetében a parancs:

yum -y install gcc wget tar

és a Debian esetében:

apt install -y build-essential wget tar

Ezután töltse le a fájlokat a 3proxy projekt hivatalos oldaláról, csomagolja ki az archívumot és fordítsa le a letöltött fájlokat.

Ezután hozza létre a szükséges könyvtárakat a konfigurációs fájlok és naplók számára, vigye át a 3proxy futtatható programot, hozzon létre egy új"proxyuser" nevű felhasználót, és adjon neki jogokat a könyvtárakhoz. Egy új konfigurációs fájl létrehozásához futtassa a parancsot:

touch /etc/3proxy/3proxy.cfg

Csak a root felhasználónak adjon jogosultságokat a chmod 600 /etc/3proxy/3proxy.cfg paranccsal.

Az új konfigurációs fájl létrehozása után szükség van annak helyes kitöltésére. Ehhez írja fel a"proxyuser" felhasználó uid-jét és gid-jét, majd egy szövegszerkesztővel másolja ki és illessze be a példakonfigurációs fájl szövegét. Mentse el a változtatásokat a konfigurációs fájlba, és máris van egy telepített 3proxy http(s) és socks5-proxy támogatással.

Konfigurációs fájl

Az alábbiakban egy minta konfigurációs fájl látható:

A kiszolgáló konfigurálása proxyfelhasználóként való futtatásra

(illesszük be a korábban tanult felhasználónk uid és gid azonosítóját).
setgid 991
setuid 991

Adjuk meg a megfelelő névszervereket. Lásd az /etc/resolv.conf állományt:
nserver 8.8.8.8.8.8.8
nserver 8.8.4.4.4

Használja az alapértelmezett időkorlátokat és a gyorsítótár méretét a DNS-lekérdezésekhez:
180 180 1800 1800 1800 1800 15 60 60
nscache 65536

Adja meg az indítási módot démonként:
daemon

Adja meg a kiszolgáló külső interfészének IP-címét:
111.111.111.111.111.111.111.111 (vagy hagyja figyelmen kívül a sort, ha az IP azonos).

Adja meg a kiszolgáló belső interfészének IP-címét:
belső 192.168.0.1 (vagy hagyja figyelmen kívül, hogy a proxy minden IP-t figyeljen).

A http proxy beállítása a 3128-as szabványos porton:
proxy -p3128 -n -a (adja meg a portot, és győződjön meg róla, hogy az előzetesen működik).

Konfigurálja a socks proxy-t a szabványos 1080-as porton:
socks -p1080 (adja meg a portot, előzetesen ellenőrizve, hogy működik-e).

Adja meg a naplók elérési útvonalát, a napló formátumát és forgását:
log /var/log/3proxy/3proxy/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
rotate 30

Ezután hozzon létre egy inicializációs fájlt a systemd számára, és állítsa be a megfelelő jogosultságokat:

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

Ebbe a fájlba a következő szöveget kell beilleszteni:

[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

Mentse és frissítse a systemd konfigurációját:

# systemctl daemon-reload

Indítsa el a 3proxy-t, és adja hozzá az autoloaderhez:

# systemctl start 3proxy
# systemctl enable 3proxy
Ne felejtse el megnyitni a http proxy portot a firewalld-ban vagy az iptables-ben.

A konfiguráció befejeződött. Most már van http-proxy a 3128-as porton és socks-proxy az 1080-as porton.

Néhány probléma elhárítása

Az első probléma az, hogy van rá esély, hogy miután regisztráltál egy új tartományt, az nem lesz elérhető számodra a tartománynevek gyorsítótárazása miatt. A probléma megoldásához meg kell várni a DNS rekordok frissítését, vagy hozzá kell adni a szerver IP címét és az új tartományt a hosts fájlhoz. Ez lehetővé teszi az új domain elérését, amíg a DNS-bejegyzések frissülnek.

Második probléma - ha alapértelmezett portokkal rendelkező proxy-kiszolgálót használ, előbb-utóbb a kiszolgálót észlelhetik. A probléma megoldása érdekében ajánlott a portok megváltoztatása.

Például a http proxynél beállíthatja a 7834-es portot, a Socksnál pedig a 7835-öt. Azonban az ilyen portok is észlelhetők, ezért beállíthatja a tűzfalat úgy, hogy csak bizonyos címekről engedélyezze a hozzáférést a szerverhez, míg másoktól megtagadja a hozzáférést. Ez a megoldás meglehetősen megbízható, bár nem túl rugalmas, mivel nem biztos, hogy hozzáférhetünk statikus IP-címhez.

A harmadik probléma az, hogy ha proxykiszolgálót használ, és minden kapcsolatról naplót vezet, akkor ezek idővel elég nagyra nőhetnek, és a lemezen lévő szabad hely nagy részét elfoglalhatják. Ennek a problémának az elkerülése érdekében gondoskodnia kell a naplók rotálásáról, vagy egyáltalán nem kell naplókat vezetnie.

A naplóforgatásnak különböző módszerei vannak, amelyek lehetővé teszik, hogy csak az utolsó naplófájlokat tartsa meg, és automatikusan törölje a régebbi naplókat. Ezért a legjobb, ha előre beállítja a naplóforgatás folyamatát, hogy elkerülje a lemez túlcsordulását. Ez segít megmenteni az összes adatot, és elkerülni az információvesztést proxykiszolgáló használata esetén.

Egy anonim http(s) proxy-kiszolgáló egyszerűsített konfigurációja a 3128-as porton

users proxyuser:CL:password

daemon

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

rotate 30

auth strong

proxy -n -a

setgid 65534

setuid 65534

Szükséges továbbá egy könyvtár létrehozása a naplók számára és a jogosultságok beállítása (a szervert a setgid/setud direktívák segítségével a rendszerben minimálisan senki jogokkal indítjuk el):

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

A 3proxy telepítése Dockerben

Tekintsük át a 3proxy telepítését Dockerben.

Először is telepítenünk kell néhány csomagot (és a nemrég telepített Debian és Ubuntu operációs rendszerek esetében szükség lehet az apt csomagindex frissítésére is az # apt update segítségével).

AlmaLinux és CentOS esetén:

# yum install docker docker-compose

Ubuntu és Debian esetén:

# apt install docker docker.io docker-compose

Kép letöltése:

# docker pull 3proxy/3proxy

Alapértelmezés szerint a 3proxy biztonságos chroot környezetet használ a /usr/local/3proxy-ban uid 65535 és gid 65 535 azonosítóval, és elvárja, hogy a 3proxy konfigurációs fájl a /usr/local/etc/3proxy-ban legyen elhelyezve. A konfigurációs fájlban az elérési utakat a /usr/local/3proxy-hoz képest kell megadni, azaz /logs helyett /usr/local/3proxy/logs. A chroot-ban az nserver jogosultsága szükséges.

Ehhez hozzon létre egy könyvtárat és egy 3proxy konfigurációs fájlt:

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

Ezután bármilyen szövegszerkesztővel szerkessze a létrehozott 3proxy .conf konfigurációs fájlt. A 3proxy Dockerben történő futtatásához elegendő a minimális konfiguráció:

nserver 8.8.8.8.8.8.8.
socks -p3129

A naplózás és a felhasználó hozzáadásához hozzá kell adni a 3proxy konfigurációs fájlhoz:

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

A"87beeef3f4ee4661ac1897eca216fc26" helyett a proxyuser jelszavának MD5 hash-ját kell megadni. Az MD5 hash-t online generátorok segítségével tudod kideríteni.

Indítsuk el a 3proxy-t a docker-compose segítségével. Ehhez létre kell hoznunk egy .yml formátumú konfigurációs fájlt:

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

Szúrjuk be oda a következő szöveget egy szövegszerkesztő segítségével:

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

Mentés. Ebben a fájlban megadtuk a 8080-as külső portot. Most már futtathatjuk is:

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

Egy ilyen választ fogunk kapni:

3proxy_default" hálózat létrehozása az alapértelmezett illesztőprogrammal.
3proxy létrehozása ... done

Teszt:

# docker ps

Választ kapunk a konténer azonosítójával, képével, állapotával, használt portjaival és nevével:

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