Betaalmethoden Abuse

3proxy installeren

05.06.2023, 23:17

3proxy is een gratis en open source proxyserver die wordt gebruikt voor verschillende doeleinden, zoals het filteren van verkeer, caching en het blokkeren van specifieke websites. Het ondersteunt verschillende protocollen zoals SOCKS v4/v4a/v5, HTTP, HTTPS, FTP, POP3, SMTP en ondersteunt authenticatiemethoden zoals SOCKS5 gebruikersnaam/wachtwoord, NTLM, LDAP, Kerberos en SSO.

De server is in hoge mate aanpasbaar en biedt gedetailleerd beheer van bandbreedtegebruik en verbindingsparameters. 3proxy kan geïnstalleerd worden op Windows, Linux en macOS platformen. Het is een lichtgewicht en gebruiksvriendelijke proxyserver die geschikt is voor kleine tot middelgrote netwerken. Het is mogelijk om een vps proxy te huren .

Installeer 3proxy met ondersteuning voor http(s) en socks5-proxy

Wees voorzichtig, want het is ongewenst om de server zonder toestemming te installeren. Dit kan leiden tot ongeautoriseerd gebruik van de server door indringers om spamming en veel verkeer te organiseren.

Om te beginnen moeten verschillende pakketten en afhankelijkheden worden geïnstalleerd.

Voor AlmaLinux het commando:

yum -y install gcc wget tar

en voor Debian:

apt install -y build-essential wget tar

Download vervolgens de bestanden van de officiële site van het 3proxy-project, pak het archief uit en compileer de gedownloade bestanden.

Maak vervolgens de nodige directories aan voor de configuratiebestanden en logs, zet de 3proxy executable over en maak een nieuwe gebruiker"proxyuser" aan en wijs hem rechten toe op de directories. Voer het commando uit om een nieuw configuratiebestand aan te maken:

touch /etc/3proxy/3proxy.cfg

Wijs alleen rechten toe aan de rootgebruiker met chmod 600 /etc/3proxy/3proxy.cfg.

Na het aanmaken van een nieuw configuratiebestand is het noodzakelijk om het correct te vullen. Noteer hiervoor het uid en gid van de gebruiker"proxyuser" en kopieer en plak vervolgens met een teksteditor de tekst uit het voorbeeldconfiguratiebestand. Sla de wijzigingen in het configuratiebestand op en we hebben een geïnstalleerde 3proxy met http(s) en socks5-proxy ondersteuning.

Configuratiebestand

Hieronder staat een voorbeeldconfiguratiebestand:

De server configureren om te draaien als proxyuser

(voeg het uid en gid in van onze gebruiker die we eerder hebben geleerd).
setgid 991
setuid 991

Geef de juiste nameservers op. Zie /etc/resolv.conf:
nserver 8.8.8.8.8
nserver 8.8.4.4

Gebruik standaard timeouts en cachegrootte voor DNS-query's:
timeouts 1 5 30 60 180 1800 1800 15 60
nscache 65536

Geef de opstartmodus op als daemon:
daemon

Geef het IP-adres van de externe interface van de server op:
external 111.111.111.111.111 (of negeer de regel als het IP hetzelfde is).

Geef het IP-adres van de interne interface van de server op:
intern 192.168.0.1 (of negeer het zodat de proxy naar alle IP's luistert).

Configureer http proxy op standaard poort 3128:
proxy -p3128 -n -a (specificeer je poort, zorg ervoor dat deze vooraf werkt).

Configureer socks proxy op standaard poort 1080:
socks -p1080 (specificeer je poort, controleer vooraf of het werkt).

Geef het pad naar logs, logformaat en rotatie op:
log /var/log/3proxy/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" .
roteren 30

Maak vervolgens een initialisatiebestand voor systemd en configureer de juiste permissies:

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

De volgende tekst moet in dit bestand worden ingevoegd:

[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

Sla de systemd-configuratie op en werk deze bij:

# systemctl daemon-reload

Start 3proxy en voeg het toe aan de autoloader:

# systemctl start 3proxy
# systemctl enable 3proxy
Vergeet niet om de http proxy poort te openen in firewalld of iptables.

De configuratie is voltooid. Je hebt nu http-proxy op poort 3128 en socks-proxy op poort 1080.

Problemen oplossen

Het eerste probleem is dat er een kans is dat nadat je een nieuw domein hebt geregistreerd, deze niet beschikbaar is voor jou vanwege domeinnaam caching. Om dit probleem op te lossen, moet je wachten tot de DNS-records zijn bijgewerkt of het IP-adres van je server en het nieuwe domein toevoegen aan je hosts-bestand. Hierdoor krijg je toegang tot het nieuwe domein totdat de DNS-records zijn bijgewerkt.

Probleem twee - als je een proxyserver met standaardpoorten gebruikt, kan de server vroeg of laat worden gedetecteerd. Om dit probleem op te lossen, is het aan te raden om de poorten te wijzigen.

Je kunt bijvoorbeeld poort 7834 instellen op http proxy en 7835 op Socks. Dergelijke poorten kunnen echter ook worden gedetecteerd, dus je kunt de firewall zo instellen dat alleen bepaalde adressen toegang hebben tot de server, terwijl andere de toegang wordt geweigerd. Deze oplossing is vrij betrouwbaar, hoewel niet al te flexibel omdat je misschien geen toegang hebt tot een statisch IP-adres.

Het derde probleem is dat als je een proxyserver gebruikt en logs bijhoudt van alle verbindingen, deze na verloop van tijd vrij groot kunnen worden en het grootste deel van de vrije ruimte op je schijf in beslag kunnen nemen. Om dit probleem te vermijden, moet je zorgen voor logrotatie of helemaal geen logs bijhouden.

Er zijn verschillende methoden voor logrotatie waarmee je alleen de laatste paar logbestanden kunt bewaren en oudere logs automatisch kunt verwijderen. Daarom is het het beste om het logboekrotatieproces van tevoren in te stellen om te voorkomen dat de schijf overloopt. Dit zal helpen om alle gegevens te bewaren en te voorkomen dat er informatie verloren gaat bij het gebruik van een proxyserver.

Vereenvoudigde configuratie van een anonieme http(s) proxyserver op poort 3128

users proxyuser:CL:password

daemon

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

rotate 30

auth strong

proxy -n -a

setgid 65534

setuid 65534

Het is ook nodig om een directory voor logs aan te maken en rechten in te stellen (we starten de server met minimale rechten van niemand in het systeem met behulp van setgid/setud directives):

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

3proxy installeren in Docker

Laten we eens kijken naar de installatie van 3proxy in Docker.

Allereerst moeten we een aantal pakketten installeren (en voor recent geïnstalleerde Debian en Ubuntu OS moeten we misschien ook de apt package index updaten met # apt update).

Voor AlmaLinux en CentOS:

# yum install docker docker-compose

Voor Ubuntu en Debian:

# apt install docker docker.io docker-compose

Download afbeelding:

# docker pull 3proxy/3proxy

Standaard gebruikt 3proxy een veilige chroot-omgeving in /usr/local/3proxy met uid 65535 en gid 65535, en verwacht dat het 3proxy-configuratiebestand wordt geplaatst in /usr/local/etc/3proxy. De paden in het configuratiebestand moeten relatief ten opzichte van /usr/local/3proxy worden opgegeven, dus /logs in plaats van /usr/local/3proxy/logs. In chroot is toestemming voor nserver vereist.

Maak hiervoor een directory en een 3proxy configuratiebestand aan:

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

Gebruik vervolgens een willekeurige teksteditor om het aangemaakte configuratiebestand 3proxy .conf te bewerken. Om 3proxy in Docker te draaien is de minimale configuratie voldoende:

nserver 8.8.8.8.8
sokken -p3129

Om logging en gebruiker toe te voegen, moet je toevoegen aan het 3proxy configuratiebestand:

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

In plaats van"87beeef3f4ee4661ac1897eca216fc26" moet je de MD5 hash van het wachtwoord voor de proxygebruiker opgeven. Je kunt de MD5 hash achterhalen met online generators.

Laten we 3proxy starten met docker-compose. Hiervoor moet je een configuratiebestand in .yml-formaat maken:

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

Voeg daar de volgende tekst in met behulp van een teksteditor:

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

Opslaan. In dit bestand hebben we de externe poort 8080 opgegeven. Nu kunnen we het uitvoeren:

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

We krijgen een antwoord als dit:

Aanmaken van netwerk"3proxy_default" met het standaard stuurprogramma
Aanmaken 3proxy ... gedaan

Test:

# docker ps

We krijgen een antwoord met de container ID, image, status, gebruikte poorten en naam:

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