2016-06-19 5 views
1

Ich benutze Ansible, um Container zu verwalten. Ich möchte sichergehen, dass ich bei der Bereitstellung den Best Practices der Nutzer folge. In diesem Sinne:Ansible Best Practices für Berechtigungen und Berechtigungen

  1. Die meisten meiner Playbooks haben die folgenden Aussagen. Dies ist (denke ich) für die meisten Aktivitäten erforderlich, wie das Installieren von Paketen, das Verschieben systemweiter Konfigurationsdateien und das Hinzufügen/Aktualisieren von Benutzern. Wie geht's?
 
    become: yes 
    become:method: sudo 
  1. Sollte ich einen neuen Benutzer auf dem Host zu implementieren haben? Im Zusammenhang mit # 1 könnte ich den sudoers-Zugriff dieses Benutzers ändern, um apt und andere Pakete zuzulassen, aber das ist ziemlich viel Arbeit und kann sich ändern, wenn sich Module ändern. Es würde mir erlauben, den Benutzer vom SSH-Zugang zu isolieren, wenn dieser jemals benötigt würde.

  2. Mir sind keine anderen Praktiken bekannt, die ich in Bezug auf die korrekte Anwendung eines Konfigurationsverwaltungssystems (in Bezug auf die Sicherheit) beachten sollte. Habe ich etwas vergessen?

Antwort

0

Wir verbieten derzeit become zu verwenden, wenn es nicht unbedingt notwendig, und stattdessen unsere Spielbücher als der Benutzer ausführen Zugriff auf den Server (zB user1) mit einer -b Flagge sudo Anwendung zu erzwingen. Diese

hilft, weil:

  1. Der Benutzer ein Textbuch der Anwendung des -b Flag bereitstellen muss (dh: eine Extraschicht „Sicherheit“ - Sie dies mit der Aussage vergleichen „Sie root auf eine sein sollte, Linux-Box, wenn Sie nicht müssen ").
  2. Sie können das Playbook ohne -b für einen Prüfmodus ausführen. Es wird Ihnen sagen, ob etwas auf diesem Server getan werden muss, ohne etwas zu tun.