Initialize with private Repo
This commit is contained in:
255
README.md
Normal file
255
README.md
Normal file
@@ -0,0 +1,255 @@
|
||||
# [Einleitung]
|
||||
|
||||
In diesem Repo befindet sich ein Ansible Playbook zum ausrollen von Standartsoftware und Einstellungen zum Initialem einrichten eines Clients.
|
||||
|
||||
# [Ansible]
|
||||
|
||||
Ansible besteht aus 2 Teilen: einem Management und dem Client. Der Manager berechnet Skripte die dann über eine Shell-Session auf dem Client ausgeführt werden. Dieses Projekt ist darauf ausgelegt einzelne Tags manuell auf den Client zu pushen.
|
||||
Dabei werden die Hostgruppen und Rollen in der Site nacheinander abgearbeitet.
|
||||
Im Inventory befinden sich die Site-abhänigen Parameter des Deployments.
|
||||
|
||||
Ansible braucht einen Linux oder Mac als Management-Server. Daher ist hier ein Docker-Compose Projekt unter ./ansible_editor hinterlegt dass einen Container mit allem startet was man braucht. Dieser stellt Visual als Weboberffläche bereit um das Playbook von Git zu klonen, an die Site anzupassen und auszuführen.
|
||||
|
||||
## [Win11-Deployment]
|
||||
|
||||
Am einfachsten ist unter Windows11 eine PS-Remote session einzurichten, diese muss Anfangs eingerichtet werden.
|
||||
Da das cmd-let dafür relativ viel macht hab ich ein PS-Skript hinterlegt dass das wieder rückgänig macht wenn man es nicht mehr braucht.
|
||||
|
||||
|
||||
|
||||
|
||||
# [Deploy Management]
|
||||
Prerequesites: Docker compose
|
||||
|
||||
cd ansible_editor
|
||||
docker compose up -d
|
||||
|
||||
Aufrufen:
|
||||
http://localhost:8080/root
|
||||
|
||||
|
||||
|
||||
# [Inventory Vorbereiten]
|
||||
|
||||
1. Hosts in Gruppe eintragen (Adresse zu Hosts-Liste zufügen)
|
||||
2. "ansible_port" eintragen ( auf client: winrm quickconfig -transport:https)
|
||||
3. Benutzerdaten in Vault eintragen und gegebenenfalls Variablen für Benutzer im Inventory ersetzen
|
||||
|
||||
|
||||
## [Verschlüsselte Zugangsdaten anlegen/ändern]
|
||||
export EDITOR=nano
|
||||
|
||||
Standartpasswort für vault_pass.yml : 2changeme
|
||||
(Dieses wird beim Ausführen des Playbooks abgefragt)
|
||||
|
||||
Standart im Ansible-Vault (./ansible_deployment/group_vars/all/vault_pass.yml):
|
||||
|
||||
---
|
||||
vault_default_domain: .
|
||||
vault_default_username: user
|
||||
vault_default_userpass: user123
|
||||
|
||||
-> Diese Variablen werden im Inventory aufgerufen und zugeordnet
|
||||
|
||||
### [ids]
|
||||
|
||||
Es gibt mehrere Vaults für mehrere Dinge. Der Hauptvault liegt unter /group_vars/all, die anderen in den Rollen die sie benötigen. Dort können z.b. WG-Peers eingepflegt werden. Die secrets für die vaults werden in ./pass in eine textdatei <ID>.pass eingetragen
|
||||
|
||||
- Standart-Vault-ID: main (Standart: 2changeme)
|
||||
- Wireguard-Credentials: wg (Standart: 2changemesecret)
|
||||
|
||||
|
||||
### [Ansible-Vault Befehle]
|
||||
|
||||
Neuen Vault anlegen:
|
||||
|
||||
ansible-vault create ./group_vars/all/vault_pass.yml
|
||||
|
||||
Vault entschlüsseln:
|
||||
|
||||
ansible-vault view ./group_vars/all/vault_pass.yml --ask-vault-pass
|
||||
|
||||
Vault bearbeiten:
|
||||
|
||||
ansible-vault edit ./group_vars/all/vault_pass.yml --ask-vault-pass
|
||||
|
||||
Passwort von File ändern:
|
||||
|
||||
ansible-vault rekey ./group_vars/all/vault_pass.yml --ask-vault-pass
|
||||
|
||||
|
||||
|
||||
|
||||
# [Management Terminal]
|
||||
|
||||
git config --global user.name "Name"
|
||||
git config --global user.email "email
|
||||
-> oder änderm im Dockerfile für VS-Studio
|
||||
|
||||
|
||||
|
||||
cd ansible_deployment
|
||||
export LANG=C.UTF-8
|
||||
ansible-playbook -v site.yml
|
||||
|
||||
|
||||
## Tags nutzen:
|
||||
|
||||
ansible-playbook --tags tools
|
||||
|
||||
|
||||
### Verfügbare Tags für Rollen-Packete:
|
||||
- system (Systemeinstellungen)
|
||||
- tools (Standartprogramme installieren)
|
||||
- office_tools (optional, free office-tools)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# [Win11 Client]
|
||||
|
||||
Als Admin die Poweshell öffnen!!!
|
||||
|
||||
Netzwerk darf nicht Public sein!
|
||||
|
||||
Get-NetConnectionProfile
|
||||
|
||||
Set-NetConnectionProfile -InterfaceAlias "*Ethernet*" -NetworkCategory Private
|
||||
oder Set-NetConnectionProfile -Name "*Ethernet*" -NetworkCategory Private
|
||||
|
||||
|
||||
## Anschalten Powershell-Remotesitzungen:
|
||||
|
||||
Enable-PSRemoting
|
||||
|
||||
|
||||
Einstellungen anzeigen(Port rausfinden):
|
||||
winrm quickconfig -transport:https
|
||||
|
||||
|
||||
|
||||
## Ausschalten von PS-Remotesession
|
||||
|
||||
|
||||
Ausführen als Admin: disable_psremote_script.ps
|
||||
|
||||
|
||||
Prüfen: Get-Service WinRM
|
||||
winrm enumerate winrm/config/listener
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Notizen:
|
||||
|
||||
Disable-PSRemoting
|
||||
Stop-Service WinRM -Force
|
||||
Set-Service WinRM -StartupType Disabled
|
||||
|
||||
|
||||
|
||||
|
||||
Listener löschen:
|
||||
winrm delete winrm/config/Listener?Address=*+Transport=HTTP
|
||||
winrm delete winrm/config/Listener?Address=*+Transport=HTTPS
|
||||
|
||||
Prüfen:
|
||||
winrm enumerate winrm/config/listener
|
||||
|
||||
|
||||
|
||||
|
||||
Disable-NetFirewallRule -DisplayGroup "Windows Remote Management"
|
||||
oder löschen:
|
||||
Get-NetFirewallRule -DisplayGroup "Windows Remote Management" | Remove-NetFirewallRule
|
||||
|
||||
LocalAccountTokenFilterPolicy zurücksetzen
|
||||
|
||||
Das wird von Remoting oft auf 1 gesetzt.
|
||||
|
||||
Set-ItemProperty `
|
||||
-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
|
||||
-Name LocalAccountTokenFilterPolicy `
|
||||
-Value 0
|
||||
|
||||
Oder komplett löschen:
|
||||
|
||||
Remove-ItemProperty `
|
||||
-Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
|
||||
-Name LocalAccountTokenFilterPolicy
|
||||
|
||||
Get-PSSessionConfiguration | Unregister-PSSessionConfiguration
|
||||
|
||||
|
||||
|
||||
time:
|
||||
|
||||
|
||||
detect role:
|
||||
Wert Rolle
|
||||
0 Standalone Workstation
|
||||
1 Domain Workstation
|
||||
2 Standalone Server
|
||||
3 Member Server
|
||||
4 Backup DC
|
||||
5 Primary DC
|
||||
|
||||
|
||||
|
||||
To:-do:
|
||||
S-1-5-32-556
|
||||
reg add HKLM\Software\WireGuard /v LimitedOperatorUI /t REG_DWORD /d 1 /f
|
||||
|
||||
|
||||
|
||||
Enter-PSSession -ComputerName 192.168.99.64 -Credential (Get-Credential)
|
||||
|
||||
|
||||
/etc/krb5.conf
|
||||
|
||||
[libdefaults]
|
||||
default_realm = INT.ANSI.INT
|
||||
dns_lookup_realm = false
|
||||
dns_lookup_kdc = false
|
||||
|
||||
[realms]
|
||||
INT.ANSI.INT = {
|
||||
kdc = 192.168.99.63
|
||||
}
|
||||
|
||||
[domain_realm]
|
||||
.int.ansi.int = INT.ANSI.INT
|
||||
int.ansi.int = INT.ANSI.INT
|
||||
|
||||
|
||||
kinit Administrator@INT.ANSI.INT
|
||||
Reference in New Issue
Block a user