/* */ Linux – Blog Gebert iT – Home

Squid Proxy SSL bump

Raspberry Pi 4 – Squid 4.6 mit SSL installieren

Um SSL in Squid 4.x nutzen zu können, müssen wir ein Debian Paket mit dem
Quelltext erstellen. Und das geht so:

Wir logen uns mit sudo -i als root ein und sparen dabei das Wort beim installieren.

Zuerst aktivieren wir die Source Quellen
von Debian 10 und machen ein Update.

sed -i 's/^#deb-src/deb-src/' /etc/apt/sources.list
apt update

Wir installieren die erforderlichen Pakete um ein deb Paket erstellen zu können.

apt install devscripts build-essential fakeroot libssl1.0-dev debhelper
apt install squid-cgi calamaris squid-langpack libdbi-perl ssl-cert \
 libecap3-dev cdbs libcppunit-dev libcap2-dev libdb-dev libkrb5-dev \
 comerr-dev libldap2-dev libnetfilter-conntrack-dev libpam0g-dev libsasl2-dev

Wir laden den Quellcode von squid herunter und erstellen eine deb Datei.

mkdir /tmp/squid
cd /tmp/squid
apt source squid

Die SSL Funktion von Squid schalten wir frei.

vi squid-4.6/debian/rules
nach DEB_CONFIGURE_EXTRA_FLAGS –mandir=/usr/share/man \ suchen und folgendes eintragen:

--mandir=/usr/share/man \
--with-openssl \
--enable-ssl \
--enable-ssl-crtd \

Das Debian Paket wird erstellt mit folgenden Befehl:

cd /tmp/squid/squid-4.6
dpkg-buildpackage -rfakeroot -b -uc -us

Die erstellten Packete installieren wir
und schützen sie vor einem ungewollten
Update mit apt-mark.

dpkg --install squid-common_4.6*.deb
dpkg --install squid_4.6*.deb
dpkg --install squidclient_4.6*.deb
apt-mark hold squid squid-common squidclient

Wir erstellen unser eigenes SSL Certificate.

cd /etc/squid
mkdir ssl_cert
chown proxy:proxy /etc/squid/ssl_cert
chmod 700 /etc/squid/ssl_cert
cd ssl_cert

openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout myCA.pem -out myCA.pem
openssl x509 -in myCA.pem -outform DER -out myCA.der

myCA.pem in das System von Androiden unter
Sicherheit installieren. Unter Windows wird das Zertifikat in dem Browser installiert. Danach googeln wie das geht. ?

Wir editieren die squid.conf mit vi und suchen nach 3128 und ab da wird folgendes ergänzt:

vi /etc/squid/squid.conf

http_port 3128 ssl-bump \
  cert=/etc/squid/ssl_cert/myCA.pem \
  generate-host-certificates=on 

sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 4MB

acl step1 at_step SslBump1

ssl_bump peek step1
ssl_bump bump all

Die SSL Datenbank erstellen und Rechte setzen mit start von Squid.

/usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db -M 4MB
chown proxy:proxy /var/lib/ssl_db
chown proxy:proxy /var/log/squid/
systemctl restart squid

Mögliche Fehler:
dynamic_cert_mem_cache_size=4MB

Trägt man das ein, startet Squid nicht. Es ist sowieso ein default Wert.

Das wars. Viel Spaß mit Squid.

Dockerfile (Image) von github auf Linux/Mac installieren

Folgende Programme werden benötigt:

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker Username
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python python-pip
sudo apt-get remove python-configparser
sudo pip install docker-compose

Beim Mac wird nur folgendes installiert:
https://hub.docker.com/editions/community/docker-ce-desktop-mac
Direkt Link:
https://download.docker.com/mac/stable/Docker.dmg
https://download.docker.com/kitematic/Kitematic-Mac.zip

Mit sudo docker run hello-world kann man testen ob der Dienst docker läuft.

Mit diesem Befehl holen wir die Dateien von github:
git clone https://github.com/iprobedroid/swgoh-arena-tracker.git

In das Verzeichnis wechseln:
cd swgoh-arena-tracker

# In diesem Beispiel muss vorher das Dockerfile wie folgt angepasst werden:


# vi Dockerfile
# Neuer Inhalt:
FROM iprobedroid/swgoh-arena-tracker:beta-9
ENV DISCORD_WEB_HOOK=”https://discordapp.com/api/webhooks/6511/aFDxkd-jp”
ENV ARENA_TYPE=FLEET
ENV ALLY_CODES=”123456789, 987654321, 111222333
# Ende Inhalt Dockerfile

Mit diesem Befehl wird das Image erstellt:
docker build -t="foo" .
foo ist frei wählbar. Unter Linux/Mac sollten Leerzeichen und Sonderzeichen nicht benutzt werden.

Das Programm wird mit diesem Befehl gestartet:
docker run -i -t foo
Im Hintergrund ausführen:
docker run -d foo
oder so:
dockerd

Zum testen:
sudo service docker status

Mit diesem Befehl kann man das Image wieder löschen:
docker images
IMAGE ID suchen und so löschen:
docker image rm 60dd3f34bc78 = (IMAGE ID)

Grub 2 defekt. Was nun?

Sollte der Bootloader Grub seinen Geist aufgegeben haben, belebt ihr den folgendermaßen wieder:

  • Mit einer Linux CD booten – fast jede Distribution hat ein Rescue System auf der CD
  • Als erstes mounten wir die HDD
mount /dev/sda(1-4) /mnt
  • Wir brauchen ein beschreibbares temporäres System
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t proc /proc /mnt/proc

 

  • Wir Wechseln in das temporäre System
chroot /mnt /bin/bash
  • Jetzt haben wir ein “normales” System um den Grub Bootloader neu zu installiern
grub-install /dev/sda
  • Wenn keine Fehler kam, könnt ihr mit exit und reboot euer repariertes System starten.

Anmerkung:          

Eure HDD kann auch sdb, sdc oder dergleichen heissen. Es kommt auf euer System an.
/dev/sda(1-4) sollte nur verdeutlichen, dass euer root System auf einer anderen Partition
liegen kann. /dev/sda1, /dev/sda2
Probiert es aus und macht danach ein ls /mnt. Wenn ihr das ganze System seht, habt ihr
die richtige Partition gefunden.

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO