IP-based ACLs in OpenAFS
Wiedermal hat mich Jakob auf die richtige Idee gebracht. ACLs innerhalb einer AFS-Zelle können auch IP-basiert genutzt werden.
Was bedeutet das nun:
Hier wird nicht der User bzw. Kerberos-Prinzipal mit ACLs versehen, sondern die Quell-IP des anfragenden Systems.
Anstatt
pts createuser JohnDoe
pts adduser JohnDoe Marketing
fs setacl $foo $bar $baz
wird für eine einzelne IP (z.B. einen dedizierten Server für einen Dienst, der sich nicht wirklich kerberisieren lässt)
pts creategroup HardToKerberize
pts createuser 172.23.42.666
pts adduser 172.23.42.666 HardToKerberize
fs setacl $foo $bar $baz
Um die Übersicht zu behalten bietet es sich an, neben exzessiver Dokumentation der eigenen Zelle (ja, das war ein Zaunpfahl), für IPs Gruppen zu erstellen, allein schon weil OpenAFS nicht mit der CIDR-Notation klar kommt.
Und bevor nun jemand ganze IP-Ranges von Hand eintippt:
1 2 3 4 5 6 7 8 9 10 11 12 | #!/usr/bin/env python # encoding: utf-8 def main(): print "pts creategroup LAN-172.31" for i in range(0, 256): for j in range(0, 256): print "pts createuser 172.31." + str(i) + "." + str(j) print "pts adduser 172.31." + str(i) + "." + str(j) + " LAN-172.31" if __name__ == '__main__': main() |
Natürlich – wie immer – erst denken, dann anpassen, dann abtippen, dann ausführen.





