/* */ Sicherheit – 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.

.htaccess Verzeichnis Schutz mit dynDNS Zugriff ohne Passwort

Wir haben ein Update von unserem htaccess Generator erstellt.
Die Version htpasswdgen_v2.sh hat folgende Änderung:
– Die Variablen wurden auf Apache 2.4 geändert
– DynDNS hinzugefügt

Wozu dynDNS?
Wenn ihr euren dynDNS eintragt, entfällt der Anmelde Dialog für euch.
Beim starten des Scripts müsst ihr aber ein Benutzer und ein
Passwort eingeben, ansonsten funktioniert der Schutz nicht.

Mit dem folgenden Script könnt ihr einen Ordner mit .htaccess
und .htpasswd schützen. Folgende Schritte sind notwendig: 
1. Ihr loggt euch mit ssh auf eure Domaine ein
2. Ihr ladet das Script mit: wget https://www.gebert.it/htpasswdgen_v2.sh herunter
3. Das Script muss das Recht ausführen bekommen und zwar mit: chmod +x htpasswdgen_v2.sh
4. Das Script mit sh htpasswdgen_v2.sh ausführen
5. Nun fragt das Script nach den Ordner, DynDNS, User und dem Passwort und legt alles an.

Quelltext htpasswdgen_v2.sh

#!/bin/bash
### © Gebert iT Consult ###

# https://httpd.apache.org/docs/2.4/upgrading.html
#
# New rule apache 2.4
# Require all denied
# old
# Order deny,allow
# Deny from all

# New rule apache 2.4
# Require all granted
# old
# Order allow,deny
# Allow from all

# New rule apache 2.4
# Require host example.org
# old
# Order Deny,Allow
# Deny from all
# Allow from example.org

clear
RED=’\033[0;31m’
YEL=’\033[1;33m’
NC=’\033[0m’

echo "Kopiert das Script in euer Root Verzeichnis."
echo "Wollt ihr ein Ordner z.B. privat/geheim schützen"
echo "wird nicht der ganze Pfad /usr/srv/web/user/privat/geheim"
echo "benötigt. Gebt einfach privat/geheim ein"
echo "Wichtig: Ohne / am Ende des Pfades"
echo -e "${RED} Wollt ihr das aktuelle Verzeichnis schützen"
echo -e "${RED} einfach Enter drücken"
echo -e "${YEL}"
echo -e "Bitte geben Sie das Verzeichnis an:"
read ordner

if [ -z "$ordner" ];
then
verzeichnis=$(pwd)
else
verzeichnis=$(pwd)/$ordner
fi

echo "Bitte gebt euren DynDNS ein:"
echo "oder einfach leer lassen"
read dyn

if [ -z "$dyn" ];
then
dns=
else
dns="Require forward-dns $dyn"
fi

cat > $verzeichnis/.htaccess <<EOF
AuthType Basic
AuthName "Bitte User und Passwort eingeben"
AuthUserFile $verzeichnis/.htpasswd
Require valid-user
$dns
EOF

echo -e "${YEL}Bitte geben Sie den User an:"
read user
echo -e "${YEL}Bitte geben Sie das Passwort für diesen User an:"
read pw
htpasswd -cbB $verzeichnis/.htpasswd $user $pw
echo -e "${NC} Das Verzeichnis ist nun geschützt"

Ordner Schutz mit .htaccess per Shell Script

Mit dem folgenden Script könnt ihr einen Ordner mit .htaccess
und .htpasswd schützen. Folgende Schritte sind notwendig: 
1. Ihr loggt euch mit ssh auf eure Domaine ein
2. Ihr ladet das Script mit: wget https://www.gebert.it/htpasswdgen.sh herunter
3. Das Script muss das Recht ausführen bekommen und zwar mit: chmod +x htpasswdgen.sh
4. Das Script mit sh htpasswdgen.sh ausführen
5. Nun fragt das Script nach den Ordner, User und dem Passwort und legt alles an.
Fertig 
Quelltext htpasswdgen.sh

#!/bin/bash

### © Gebert iT Consult ###

clear

RED=’33[0;31m’

YEL=’33[1;33m’

NC=’33[0m’

 

echo “Kopiert das Script in euer Root Verzeichnis.”

echo “Wollt ihr ein Ordner z.B. privat/geheim schützen”

echo “wird nicht der ganze Pfad /usr/srv/web/user/privat/geheim”

echo “benötigt. Gebt einfach privat/geheim ein”

echo “Wichtig: Ohne / am Ende des Pfades”

echo -e “${RED} Wollt ihr das aktuelle Verzeichnis schützen”

echo -e “${RED} einfach Enter drücken”

echo -e “${YEL}”

echo -e “Bitte geben Sie das Verzeichnis an:”

read ordner

 

if [ -z “$ordner” ];

        then

verzeichnis=$(pwd)

        else

verzeichnis=$(pwd)/$ordner

fi

 

cat > $verzeichnis/.htaccess <<EOF

AuthType Basic

AuthName “Zugriff verweigert – Bitte User und Passwort eingeben”

AuthUserFile $verzeichnis/.htpasswd

Require valid-user

EOF

 

echo -e “${YEL}Bitte geben Sie den User an:”

read user

echo -e “${YEL}Bitte geben Sie das Passwort für diesen User an:”

read pw

htpasswd -cbB $verzeichnis/.htpasswd $user $pw

echo -e “${NC} Das Verzeichnis ist nun geschützt”

 

John mit Homebrew auf den Mac installieren

So installiert ihr John auf dem Mac.
Im Terminal werden die folgende Befehle eingegeben:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
brew install john

Beim Start von john kam folgender Fehler:

fopen: /usr/local/share/john/john.ini: No such file or directory

Den Fehler behebt man am besten mit Symbol links:

ln -s /usr/local/opt/john/ /usr/local/share/
ln -s /usr/local/opt/john/libexec/john.ini /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/password.lst /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/ascii.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/digits.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/john /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/lm_ascii.chr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/mailer /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/makechr /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/relbench /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unafs /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unique /usr/local/share/john/
ln -s /usr/local/opt/john/libexec/unshadow /usr/local/share/john/

Ein kleiner Test 🙂

https://openwall.info/wiki/john/custom-builds#Compiled-for-Mac-OS-X

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