4b42 Logo

Wissensdatenbank

Benutzerbild
14 August 2015
3.051

Squid3 HTTP-Proxy unter Debian Linux mit MySQL Authentifizierung

Installation


Installieren Sie die notwendigen Pakete mit:
apt-get install squid3 mysql-server



Konfiguration


MySQL


Öffnen Sie eine MySQL Konsole, zum Beispiel:
mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 53
Server version: 5.5.44-0+deb8u1 (Debian)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


Erstellen Sie nun eine neue Datenbank mit folgendem Befehl:
create database squid;
Query OK, 1 row affected (0.00 sec)

Nun müssen Sie noch einen MySQL Benutzer mit SELECT-Rechten auf der Datenbank squid erstellen:
grant select on squid.* to squid_dat@localhost identified by '4b42';
Query OK, 0 rows affected (0.00 sec)

Wechseln Sie nun die Datenbank mit:
use squid;
Database changed

Erstellen Sie in der Datenbank squid eine neue Tabelle für die Benutzer:
CREATE TABLE `users` (
`user` varchar(32) NOT NULL default '',
`password` varchar(35) NOT NULL default '',
`enabled` tinyint(1) NOT NULL default '0',
`fullname` varchar(60) default NULL,
`comment` varchar(60) default NULL,
PRIMARY KEY (`user`)
);
Query OK, 0 rows affected (0.00 sec)

Zum Schluss erstellen Sie noch einen Benutzer:
insert into users values('4b42','www.4b42.com',1,'Kevin Bühl','');
Query OK, 1 row affected (0.00 sec)

Nun können Sie die Konsole wieder verlassen
quit
Bye

Prüfen Sie ob Sie sich nun ob Sie sich mit dem MySQL Benutzer (4b42) anmelden können:
/usr/lib/squid3/basic_db_auth --user squid_dat --password 4b42 --table users --plaintext --persist
4b42 www.4b42.com
OK


Squid


Erstellen Sie falls erwünscht eine Konfigurationssicherung:
cp /etc/squid3/squid.conf /etc/squid3/squid.conf.backup

Entfernen Sie nun die Kommentarzeilen mit folgendem Befehl:
sed -i '/^#/d;/^$/d' /etc/squid3/squid.conf


Öffnen Sie nun die Konfigurationsdatei mit einem Editor und passen Sie die Konfiguration wie folgt an:
nano /etc/squid3/squid.conf
auth_param basic program /usr/lib/squid3/basic_db_auth --user squid_dat --password 4b42 --table users --plaintext --persist
auth_param basic children 5
auth_param basic realm 4b42 Proxy Germany
auth_param basic credentialsttl 1 hour
auth_param basic casesensitive off

acl db-auth proxy_auth REQUIRED
acl SSL_ports port 443
# fix very slow performance
dns_v4_first on

http_access allow db-auth
http_access allow localhost
http_access deny !SSL_ports
http_access deny all
http_port 3128

# logging
access_log /var/log/squid3/access.log
cache_log /var/log/squid3/cache.log
logfile_rotate 5

# anonymous
request_header_access via deny all
request_header_access x-forwarded-for deny all

visible_hostname de.px.4b42.net


Starten Sie nun den Proxy-Dienst neu:
/etc/init.d/squid3 restart
[ ok ] Restarting squid3 (via systemctl): squid3.service.

Deinstallieren


apt-get remove --purge squid3

apt-get autoremove