DevOps-bootcamp · Les

Hosts provisionen, hardenen en bootstrapppen

Breng nieuwe servers naar een basisconfiguratie.

Les 2 van 413 stappen

Hosts provisionen, hardenen en bootstrapppen is een gratis DevOps-bootcamp-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject DevOps-bootcamp. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Van lege server naar basisconfiguratie

Nieuwe hosts zijn lege omgevingen. De rol common brengt elke server naar één veilige, consistente basis voordat de appcode wordt geplaatst. 🛠️

Werk de pakketcache bij

Begin met het vernieuwen van de pakketten, zodat installaties actuele versies gebruiken. De module apt kan de cache in één idempotente taak bijwerken.

- name: Update apt cache
  ansible.builtin.apt:
    update_cache: true
    cache_valid_time: 3600

Installeer basispakketten

Gebruik een loop om de hulpmiddelen te installeren die elke host nodig heeft, zoals curl, vim en ufw, in één overzichtelijke taak.

- name: Base packages
  ansible.builtin.apt:
    name:
      - curl
      - ufw
      - fail2ban
    state: present

Maak een implementatiegebruiker

Voer werk voor de app nooit uit als root. De module user maakt een speciaal implementatieaccount aan dat voortaan eigenaar van de applicatie is.

- name: Create deploy user
  ansible.builtin.user:
    name: deploy
    groups: sudo
    shell: /bin/bash

Plaats de SSH-sleutel

Gebruik authorized_key om je implementatiegebruiker toegang via een sleutel te geven, zodat toekomstige uitvoeringen zonder wachtwoorden verbinding maken.

- name: Add deploy key
  ansible.posix.authorized_key:
    user: deploy
    key: "{{ deploy_pubkey }}"

Beveilig SSH

Verhard de daemon: schakel inloggen als root en verificatie met wachtwoorden uit. De module lineinfile bewerkt sshd_config veilig en idempotent.

- ansible.builtin.lineinfile:
    path: /etc/ssh/sshd_config
    regexp: "^PermitRootLogin"
    line: "PermitRootLogin no"
  notify: Restart sshd

Open alleen de benodigde poorten

Configureer de firewall met ufw: sta SSH en je apppoorten toe en weiger de rest. Standaard stel je zo weinig mogelijk bloot.

- community.general.ufw:
    rule: allow
    port: "22"
    proto: tcp

Stel de tijdzone en NTP in

Consistente klokken zijn belangrijk voor logboeken en certificaten. Stel de tijdzone in en schakel tijdsynchronisatie in, zodat elke host dezelfde tijd gebruikt.

- community.general.timezone:
    name: UTC

Maak er een handler van

Herstart sshd alleen wanneer de configuratie is gewijzigd door notify samen met een handler te gebruiken, en nooit bij elke uitvoering.

handlers:
  - name: Restart sshd
    ansible.builtin.service:
      name: sshd
      state: restarted

Voer het idempotent uit

Voer de rol common twee keer uit; de tweede keer meldt deze voornamelijk ok en niet changed. Daarmee bewijs je dat je basisconfiguratie echt is geconvergeerd.

Basisconfiguratie vóór de app

Door eerst te verharden, wordt de app uitgerold op een bekende, goed beveiligde host. Bootstrap is het fundament waarop al het andere rust. 🔒

Korte controle

Met één keuze houd je SSH-configuratiebewerkingen overzichtelijk.

Samenvatting

Je hebt een basisconfiguratie ingericht: pakketten, een implementatiegebruiker, SSH-sleutels, een verharde sshd, een firewall en tijdsynchronisatie, allemaal idempotent. ✅

Gratis beginnen

Leer DevOps-bootcamp met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
142
Lessen
568

Veelgestelde vragen

Is de les “Hosts provisionen, hardenen en bootstrapppen” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad DevOps-bootcamp, waaronder “Hosts provisionen, hardenen en bootstrapppen”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus DevOps-bootcamp bevat in totaal 4 lessen.

Wat leer ik in “Hosts provisionen, hardenen en bootstrapppen”?

Breng nieuwe servers naar een basisconfiguratie. Je oefent met DevOps-bootcamp door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met DevOps-bootcamp te beginnen?

Ervaring vooraf is niet nodig. DevOps-bootcamp op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Hosts provisionen, hardenen en bootstrapppen”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over DevOps-bootcamp?

Ja. Elke les over DevOps-bootcamp bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Het project ontwerpen: roles en inventory
  2. Hosts provisionen, hardenen en bootstrapppen
  3. Rolling deployment achter de loadbalancer
  4. Smoke tests, rollback en meldingen
← Terug naar DevOps-bootcamp