Privates MODX und LINUX BLOG, User Registrierung ist deaktiviert! Fragen oder Tipps? Bitte per Matrix: @jolichter:tchncs.de
sudo pacman -S intel-media-driver
sudo pacman -S intel-gpu-tools
sudo intel_gpu_top
sudo fstrim -v /run/media/jo/extSSD-Jo/
einer externe SSD erscheint: Verwerfungsvorgang wird nicht unterstützt oder the discard operation is not supportedlsblk --discard /run/media/jo/SSD970PRO/
lsusb
Ergebnis in meinem Fall:Bus 004 Device 006: ID 142d:0542 JMicron Technology Corp. / JMicron USA Technology Corp. JMS583Gen 2 to PCIe Gen3x2 Bridge
Die VendorID ist der erste Teil und der zweite Teil ist die ProductID von "142d:0542".sudo nano /etc/udev/rules.d/50-usb-ssd-trim.rules
Und tragen diese Regel ein:ACTION=="add|change", ATTRS{idVendor}=="142d", ATTRS{idProduct}=="0542", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"
Achtet darauf, dass die VendorID und ProductID richtig ist! Speichern und den Editor beenden (STRG & X).sudo fstrim -v /run/media/jo/SSD970PRO/
jo@jo-z690 ~]$ lsblk --discard /dev/sda
NAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
sda 0 4K 4G 0
└─sda1 0 4K 4G 0
└─luks-d7ae2f19-8f04-4a53-d1cd-9c70c8af6b42 0 0B 0B 0
[jo@jo-z690 ~]$ sudo cryptsetup --allow-discards --persistent refresh luks-d7ae2f19-8f04-4a53-d1cd-9c70c8af6b42
[sudo] Passwort für jo:
Geben Sie die Passphrase für »/dev/sda1« ein:
Diese Operation wird nur für LUKS2-Geräte unterstützt.
Gerät aktiviert, aber die Schalter können nicht dauerhaft gespeichert werden.
[jo@jo-z690 ~]$ sudo fstrim -v /run/media/jo/SSD970PRO/
/run/media/jo/SSD970PRO/: 643,9 GiB (691382263808 Bytes) getrimmt
sudo rm -R /etc/udev/rules.d/50-usb-ssd-trim.rules
sudo fwupdmgr get-devices
sudo fwupdmgr refresh
Wir können auch die Option "--force" verwenden, um erneut zu aktualisieren:sudo fwupdmgr refresh --force
sudo fwupdmgr get-updates
sudo fwupdmgr update
pamac search --files libpangox-1.0.so.0
yay -S pangox-compat
kate /etc/NetworkManager/conf.d/20-connectivity.conf
Zitat[connectivity]
.set.enabled=false
ZitatDer DNS-Traffic besteht aus zwei Teilen, der erste ist zwischen dem Client (Gerät) und DNS-Resolver, der zweite ist zwischen DNS-Resolver und autoritativen Nameservern (Root-Servern, verantwortlich für bestimmte DNS-Zonen). Da die DNS Anfragen im Klartext per UDP erfolgt, selbst wenn die Website HTTPS verwendet, kann der DNS-Traffic mitgelesen oder sogar verändert werden. Immerhin wurden DNS-Protokoll-Erweiterungen wie z.B. DNSSEC, DoT und DoH eingeführt, jedoch kann DoT/DoH nur im ersten Teil genutzt werden (siehe Wiki: Sicherheitserweiterungen). Darum können externe DNS-Resolver den Transport nur zwischen dem Client und dem öffentlichen Resolver per DNS-Verschlüsselung schützen und prüfen die Daten von den autoritativen Nameservern per DNSSEC auf ihre Korrektheit (DNS Antworten werden signiert). Nur euer Internetprovider (ISP) sieht die DNS Anfragen nicht.
Seltsam, warum gibt es keine echte DNS Ende-zu-Ende-Verschlüsselung?
Eine mögliche Erklärung ist, dass DNS ursprünglich als offenes, leichtgewichtiges und schnelles Protokoll konzipiert wurde, das auf UDP basiert. Die Einführung von Ende-zu-Ende-Verschlüsselung könnte die Komplexität und die Latenz erhöhen, was die Leistungsfähigkeit des DNS-Systems beeinträchtigen könnte.
Ein weiterer Grund ist, dass autoritative DNS-Server häufig öffentlich zugänglich sind und von vielen Clients weltweit genutzt werden. Diese öffentliche Natur macht es schwierig, eine Ende-zu-Ende-Verschlüsselung zu implementieren, ohne die Skalierbarkeit, Effizienz und Offenheit des DNS-Systems zu beeinträchtigen.
curl -sSL https://install.pi-hole.net | bash
danach Unbound installieren:sudo apt install unbound lm-sensors
wie Dennis Schröder hier gut beschreibt.sudoedit /etc/systemd/timesyncd.conf
ZitatNTP=192.168.178.1(oder den Domainnamen: NTP=fritz.box)
sudoedit /etc/fstab
ZitatPARTUUID=xxxxxxxx-xx /boot vfat defaults,flush 0 2
PARTUUID=xxxxxxxx-xx / ext4 defaults,noatime,commit=60 0 1
# dynamic RAMDisk Pi-4GB
tmpfs /tmp tmpfs defaults,noatime,nosuid,size=1000M,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,nosuid,size=500M,mode=0777 0 0
sudoedit /etc/pihole/pihole-FTL.conf
ZitatDBINTERVAL=60.0(wenn gewünscht kann die Abfrageprotokollierung mit "PRIVACYLEVEL=3" deaktiviert werden)
MAXDBDAYS=90
PRIVACYLEVEL=0
sudo apt update && sudo apt upgrade && sudo apt full-upgrade && pihole -up
sudo apt clean && sudo apt autoclean && sudo apt-get -f install && sudo apt clean && sudo apt autoremove --purge
sudo reboot
ls -l /var/lib/unbound/root.hints
Zitat-rw-r--r-- 1 root root 3314 18. Mär 13:48 /var/lib/unbound/root.hints
wget https://www.internic.net/domain/named.root -qO- | sudo tee /var/lib/unbound/root.hints
sudo crontab -e
0 0 */14 * * wget -qO /tmp/root.hints https://www.internic.net/domain/named.root && cp /var/lib/unbound/root.hints /var/lib/unbound/root.hints.bak && mv /tmp/root.hints /var/lib/unbound/root.hints && unbound-control reload >/dev/null 2>&1
sudo unbound-control reload
fehlschlagen, einfach testen, als Ausgabe sollte ein "OK" erscheinen.dig +dnssec +cd dnssec.works
"+dnssec" fordert DNSSEC zur Authentifizierung von DNS-Daten an. "+cd" deaktiviert die DNSSEC-Validierung und gibt jede Antwort zurück, auch wenn sie nicht authentifiziert ist. Das Ergebnis sollte die DNS-Antwort für die Domain "dnssec.works" anzeigen, das diese erfolgreich mit DNSSEC signiert wurde (flags: ad):Zitat...
;; flags: qr rd ra ad cd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
...
dig fail01.dnssec.works @127.0.0.1 -p 5335
dig dnssec.works @127.0.0.1 -p 5335
sudo nano /etc/unbound/unbound.conf.d/pi-hole.conf
server:
verbosity: 0
interface: 127.0.0.1
port: 5335
do-ip4: yes
do-udp: yes
do-tcp: yes
do-ip6: yes
prefer-ip6: yes
root-hints: "/var/lib/unbound/root.hints"
harden-glue: yes
harden-dnssec-stripped: yes
use-caps-for-id: no
edns-buffer-size: 1232
prefetch: yes
num-threads: 1
so-rcvbuf: 1m
private-address: 192.178.0.0/16
private-address: 169.254.0.0/16
private-address: 172.16.0.0/12
private-address: 10.0.0.0/8
private-address: fd00::/8
private-address: fe80::/10
# ADD
# maximum number of simultaneous DNS requests (default: 150)
num-queries-per-thread: 300
#
# "forward-zone" directs specific domain queries to designated upstream DNS servers
# Adjust your IP addresses!
forward-zone:
name: "fritz.box"
forward-addr: 192.168.178.1@53
sudo nano /etc/dnsmasq.d/custom-dnsmasq.conf
Dadurch wird sichergestellt, dass deine Änderungen nicht durch zukünftige Pi-hole-Updates in der Datei "01-pihole.conf" überschrieben werden. Füge die folgende Einstellung in die neu erstellte Datei ein:Zitatdns-forward-max=300Diese Einstellung erhöht die maximale Anzahl gleichzeitiger Anfragen auf 300.
ip -6 addr show dev eth0 | grep inet6 | awk '{print $2}'
ip addr show dev eth0 | grep inet | awk '{print $2}'
# Example static IP configuration:
interface eth0
static ip_address=192.178.0.42/24
static ip6_address=fd00::2ae4:1fdf:ff25:114e/64
static routers=192.178.0.1
static domain_name_servers=192.178.0.1
ping 192.178.0.42
ping -6 fe80::2120:efbd:2138:b314%eth0
ping -6 fd00::2ae4:1fdf:ff25:114e
Bei der lokalen IPv6-Adresse muss das VLAN (Virtual LAN) mit angegeben werden.pihole -r
#!/usr/bin/env python
# pwCard V 2022-05-14
#
# Quelle: https://www.youtube.com/watch?v=jMu5olgIuOE (Florian Dalwigk)
#
# benötigt library fpdf2: pip install fpdf2
# fpdf2 info: https://pypi.org/project/fpdf2/
#
# Konsolenaufruf z.B.: python pwCard.py 1
#
import secrets
import sys
import time
from fpdf import FPDF, HTMLMixin
class HTML2PDF(FPDF, HTMLMixin):
pass
html = HTML2PDF()
html.add_page()
# Core Fonts: courier, times, helvetica
html.set_font('helvetica', size=12)
pdfName = 'pwKarte.pdf'
alphabet = ''
try:
intArg = int(sys.argv[1])
if intArg == 1:
# mit Sonderzeichen (1 = krass | 2 oder höher = normal)
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%§$@#~.,_+-:*\|/<>?!()={[]}'
else:
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,+-!?'
except:
# default (Buchstaben und Zahlen)
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
head = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQR', 'STU', 'VWX', 'YZ1', '...']
def random_string():
return secrets.choice(alphabet) + secrets.choice(alphabet) + secrets.choice(alphabet)
def generate_password_card():
pc = []
for row in range(10):
row = []
for col in range(10):
row.append(random_string())
pc.append(row)
return pc
def start_pc_table(pc):
table = ''
pclen = len(pc)
for row in range(pclen):
for col in range(pclen):
table += pc[row][col]
if row != pclen - 1:
table += '\n'
# print(table)
return table
def write_pdf():
timestr = time.strftime("%Y-%m-%d %H:%M:%S")
table = start_pc_table(generate_password_card())
pc = []
for line in table.splitlines():
# line = line.strip()
pc.append([line[0 + i:3 + i] for i in range(0, len(line), 3)])
# print(pc)
pclen = len(pc)
width = int(100 / (float(len(head)) + 1.0))
html_table = '<p><font size="8">Generiert: ' + timestr + '</font></p>\n'
html_table += '<h2>PASSWORTKARTE</h2>\n<table border="1"><thead>\n<tr>\n'
html_table += '<th width="' + str(width) + '%"> Reihe </th>\n'
for th in head:
html_table += '<th width="' + str(width) + '%">' + th + '</th>\n'
html_table += '</tr>\n</thead><tbody>'
i = 1
for row in range(pclen):
if i % 2:
html_table += '<tr bgcolor="#FFFFFF">'
else:
html_table += '<tr bgcolor="#DCDCDC">'
html_table += '<td><b><font color="#123">' + str(i) + '</td></font></b>\n'
i += 1
for col in range(pclen):
html_table += '<td><font color="#123">' + pc[row][col] + '</td></font>\n'
html_table += '</tr>'
html_table += '</tbody></table>'
# print(html_table)
html.write_html(html_table)
html.output(pdfName)
write_pdf()
print(f'{pdfName} mit "{alphabet}" erstellt :-)')
yay -S f3
f3write /run/media/jo/USB-DISK/
f3read /run/media/jo/USB-DISK/
Ersetzt "/run/media/jo/USB-DISK/" durch euren entsprechenden Pfad!sudo fdisk -l
Sicherstellen das dieses USB-Gerät ausgehängt ist:sudo umount /dev/sda1
dann:sudo f3probe --destructive --time-ops /dev/sda
Dem USB-Gerät nicht die Partitionsnummer z.B. "/dev/sda1" angeben, sondern "/dev/sda" (also ohne Zahl).sudo f3fix --last-sec=15974400 /dev/sda
sudo umount /dev/sda1
sudo mkfs.ntfs -f -L "USB-NTFS-8GB" /dev/sda1
(-f = Schnellformatierung | -L = Bezeichnung)sudo mkfs.vfat -F 32 -n "USB-8GB" /dev/sda1
(-n = Bezeichnung, max 8 Zeichen)sudo mkfs.exfat -n "USB-EXFAT-8GB" /dev/sda1
(-n = Bezeichnung)sudo fsck /dev/sda
(wird beim Prüfen eingehangen)sudo pacman -S keepassxc yubikey-manager-qt yubioath-desktop
mkdir ~/.config/firejail/
dann mit einem Editor öffnen:kate ~/.config/firejail/firefox.local
und diese Zeilen eintragen:# Allow KeePassXC addon
# NOTE: start KeePassXC before Firefox and keep it open to allow communication between them.
noblacklist ${RUNUSER}/app
whitelist ${RUNUSER}/kpxc_server
whitelist ${RUNUSER}/org.keepassxc.KeePassXC.BrowserServer
#
# FIDO2 devices will work in a browser that supports WebAuthn
# I have set ignore nou2f, this allows U2F devices to be used in the browser
# Testpage: https://demo.yubico.com/webauthn-technical/registration
ignore nou2f
Quellen: github.com/netblue30/firejail/issues/3952 und github.com/netblue30/firejail/discussions/5444