admin
Prozess (Pid) auflisten der auf das device zugreift:
$ fuser -u /home/tom/directory
/home/thomas/directory: 2435828(thomas)
$ ps -p 2435828
PID TTY TIME CMD
2435828 ? 00:00:01 nautilus
oder
$ lsof -l -w /home/thomas/directory
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nautilus 2435828 1000 27r DIR 0,95 4096 2 /home/thomas/directory (192.168.178.110:/LVM/directory)
Prozess killen der auf die device zugreift
fuser -km /home/thomas/directory
- -k : Kill processes accessing the file.
- -m : Name specifies a file on a mounted file system or a block device that is mounted.
Der Unterschied zwischen role_based_access_control
und azure_active_directory_role_based_access_control
liegt in der Art, wie die Zugriffssteuerung (RBAC) und die Integration von Azure Active Directory (AAD) im Azure Kubernetes Service (AKS) implementiert wird.
1. role_based_access_control
- Dies aktiviert das native Kubernetes RBAC (Role-Based Access Control) innerhalb des AKS-Clusters.
- Die
azure_active_directory
-Sektion innerhalb vonrole_based_access_control
ermöglicht die Integration von Azure AD in das Kubernetes RBAC-System. - Zugriff wird durch Kubernetes-Rollen und RoleBindings/ClusterRoleBindings gesteuert.
- Hier nutzt du Kubernetes-RBAC in Kombination mit Azure AD für die Authentifizierung.
- Beispiel:
role_based_access_control {
enabled = true
azure_active_directory {
managed = true
admin_group_object_ids = ["<aad-admin-group-object-id>"]
}
}
- Wann verwenden?
- Wenn du Kubernetes-native RBAC mit Azure AD verwenden möchtest.
- Für feingranulare Kontrolle auf Kubernetes-Ebene.
2. azure_active_directory_role_based_access_control
- Dies aktiviert Azure RBAC für das AKS-Cluster.
- Azure RBAC nutzt die Azure-Rollen (
Contributor
,Reader
,Owner
) und benutzerdefinierte Azure-Rollen, um Zugriffsrechte direkt in Azure zu steuern, ohne auf Kubernetes-RBAC angewiesen zu sein. - In Kombination mit
azure_rbac_enabled = true
wird Azure RBAC die einzige Methode zur Steuerung des Zugriffs. - Beispiel:
azure_active_directory_role_based_access_control {
admin_group_object_ids = var.aks_admin_group_object_ids
azure_rbac_enabled = true
}
- Wann verwenden?
- Wenn du Zugriffskontrolle auf Azure-Ebene möchtest, ohne dich mit Kubernetes-RBAC beschäftigen zu müssen.
- Für einfachere und zentralisierte Verwaltung durch Azure-Rollen.
Hauptunterschiede:
Feature | role_based_access_control | azure_active_directory_role_based_access_control |
---|---|---|
Typ der Zugriffssteuerung | Kubernetes RBAC mit Azure AD-Integration | Azure RBAC (Azure-Rollen und -Berechtigungen) |
Granularität | Sehr fein granular (z. B. Zugriff auf einzelne Namespaces) | Grob granular, basierend auf Azure-Rollen |
Konfigurationsebene | Innerhalb des Kubernetes-Clusters | Innerhalb von Azure |
Komplexität der Verwaltung | Erfordert Kubernetes-spezifische Kenntnisse | Einfacher, da Azure RBAC in der Azure-Umgebung bleibt |
Integration mit bestehenden Systemen | Ideal, wenn du bereits Kubernetes-RBAC verwendest | Ideal, wenn du vorhandene Azure-Rollen und Zugriffssteuerungen nutzt |
Wann solltest du was verwenden?
- Verwende
role_based_access_control
, wenn:- Du Kubernetes-native Zugriffssteuerung benötigst.
- Du eine detaillierte, anwendungs- oder namespace-spezifische Steuerung wünschst.
- Verwende
azure_active_directory_role_based_access_control
, wenn:- Du eine zentralisierte, einfache Zugriffssteuerung auf Azure-Ebene bevorzugst.
- Du bereits Azure-Rollen und RBAC in deiner Organisation etabliert hast.
Kombination:
Du kannst nicht beide Methoden gleichzeitig aktivieren. Wähle die Methode, die am besten zu deinen Anforderungen passt.
4o
kubectl get secret postgres-credentials -o jsonpath="{.data}" | jq 'to_entries | .[] | "\(.key): \(.value | @base64d)"'
lsof -l -w /mnt
3 apt install build-essential nasm make
6 apt install libass-dev
11 apt install libfdk-aac-dev
14 apt install libmp3lame-dev
17 apt install libopus-dev
19 apt install libvorbis-dev
21 apt install libvpx-dev
23 apt install libx264-dev
25 apt install libopenssl-dev
27 apt install libssh-dev
./configure --disable-shared --enable-static --enable-pthreads --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-filters --enable-openssl --enable-runtime-cpudetect
tcpdump -i tun0 -nnv icmp
Das DF und none bei den Flags zeigt das keine Pakete fragmentiert wurden
tcpdump -i tun0 -nnv icmp
tcpdump: listening on tun0, link-type RAW (Raw IP), snapshot length 262144 bytes
22:14:05.758520 IP (tos 0x0, ttl 64, id 18144, offset 0, flags [DF], proto ICMP (1), length 1400)
192.168.255.6 > 8.8.8.8: ICMP echo request, id 13003, seq 0, length 1380
22:14:05.793387 IP (tos 0x0, ttl 55, id 0, offset 0, flags [none], proto ICMP (1), length 1400)
8.8.8.8 > 192.168.255.6: ICMP echo reply, id 13003, seq 0, length 1380
22:14:06.759979 IP (tos 0x0, ttl 64, id 18196, offset 0, flags [DF], proto ICMP (1), length 1400)
192.168.255.6 > 8.8.8.8: ICMP echo request, id 13003, seq 1, length 1380
22:14:06.797614 IP (tos 0x0, ttl 55, id 0, offset 0, flags [none], proto ICMP (1), length 1400)
8.8.8.8 > 192.168.255.6: ICMP echo reply, id 13003, seq 1, length 1380
Das + bei den Flags zeigt das Pakete fragmentiert wurden
tcpdump -i tun0 -nnv icmp
tcpdump: listening on tun0, link-type RAW (Raw IP), snapshot length 262144 bytes
22:14:59.515817 IP (tos 0x0, ttl 64, id 20153, offset 0, flags [+], proto ICMP (1), length 1396)
192.168.255.6 > 8.8.8.8: ICMP echo request, id 13101, seq 0, length 1376
22:14:59.515855 IP (tos 0x0, ttl 64, id 20153, offset 1376, flags [none], proto ICMP (1), length 25)
192.168.255.6 > 8.8.8.8: ip-proto-1
tcpdump -i any 'ip[6:2] & 0x1fff != 0'
OpenVPN-Konfiguration initialisieren
dnf install iptables iptables-services
echo "tun" | sudo tee /etc/modules-load.d/tun.conf
modprobe tun
lsmod | grep tun
OVPN_DATA="ovpn-data"
docker volume create --name $OVPN_DATA
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://DEINE_VPN_SERVER_IP
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
OpenVPN-Server starten
docker run -v $OVPN_DATA:/etc/openvpn -d -p 443:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
Client-Zertifikate erstellen
docker run --name openvpn -v $OVPN_DATA:/etc/openvpn \
-v /lib/modules/:/lib/modules \
-d -p 443:1194/udp \
--cap-add=NET_ADMIN \
--device /dev/net/tun \
--privileged \
--restart unless-stopped kylemanna/openvpn
Client-Zertifikate erstellen
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENT_NAME nopass
Client-Konfigurationsdatei erstellen (ovpn)
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENT_NAME > CLIENT_NAME.ovpn
ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.8.1
/etc/init.d/openvpn enable