2010-07-26 9 views
10

Die meisten Sicherheitsliteratur befassen sich mit der Bedeutung der Definition einer Sicherheitspolitik, bevor mit der Ausarbeitung der Mechanismen und der Implementierung begonnen wird. Während dies logisch erscheint, ist es ziemlich unklar, was Definition einer Sicherheitspolitik wirklich bedeutet.Definieren einer Sicherheitsrichtlinie für ein System

Hat jemand hier keine Erfahrung hatte eine Sicherheitspolitik zu definieren, und wenn ja:

1) Was ist das Ergebnis einer solchen Definition? Ist die Form einer solchen Richtlinie, z. B. verteiltes System, ein Dokument, das eine Reihe von Aussagen über die Sicherheitsanforderungen (was ist erlaubt und was nicht) des Systems enthält?

2) Kann die Richtlinie eine maschinenlesbare Form annehmen (wenn das sinnvoll ist) und wenn ja, wie kann sie verwendet werden?

3) Wie wird eine solche Richtlinie beibehalten? Wird die Richtlinie als Dokumentation (wie bei allen anderen Dokumenten) auf dem System geführt?

4) Ist es erforderlich, im Code auf das Policy-Dokument Bezug zu nehmen?

Brian

+0

Dies scheint nicht über die Programmierung zu sein. Da es sich anscheinend um die Sicherheit auf Unternehmensebene handelt, wählen Sie die Option zum Migrieren zu Serverfehler. –

+2

@David: Ich stimme überhaupt nicht zu. Bei der Entwicklung eines Systems mit Sicherheitsimplikationen müssen die implementierten Mechanismen die Bandbreite möglicher Richtlinien unterstützen. – Novelocrat

+0

@Novelocrat: Sicher, und die Programmierung der Mechanismen ist hier voll zum Thema. Es geht jedoch darum, eine Art von Regeln aufzustellen, die auf verschiedene Arten implementiert werden, von denen einige wahrscheinlich die Programmierung betreffen und bei denen es nicht um SO-Themen geht. –

Antwort

-1

Wenn Sie eine Sicherheitspolitik zu entwerfen haben, denken, warum nicht über Benutzer und Berechtigungen?

Also, sagen wir, Sie haben eine API zu etwas. Betrachten Sie eine Anordnung von Benutzern, die sie in das teilen, was sie tun wollen und welche Mindestberechtigungen sie dafür benötigen. Wenn also jemand nur Dokumente aus einer Datenbank lesen muss, lässt die API selbst nichts anderes tun.

Stellen Sie sich vor, dies ist eine Web-JSON-API. Der Benutzer klickt auf eine Schaltfläche und JS verarbeitet eine Anforderung und sendet sie. Normalerweise funktioniert es gut, aber wenn jemand die Anfrage manipuliert, gibt der Server einfach einen Fehlercode zurück, weil er nur ein paar Aktionen auf die Whitelist setzt.

Also ich denke, es läuft alles auf Benutzer und Berechtigungen.

+0

Dies ist sehr eng auf eine Art von Sicherheitsumgebung konzentriert. Andere Umgebungen haben sehr unterschiedliche Einstellungen. Betrachten Sie zum Beispiel eine Anforderung gegen die Offenlegung statistischer Informationen. Oder ein System, dessen erlaubte Aktionen von den aktuellen Daten und Bedingungen abhängig sind. – Novelocrat

+0

Es ist absichtlich vereinfacht, was ich denke, um die häufigste Situation zu sein, in der Sie eine Politik entwickeln müssen.IMHO die meisten Sicherheitsrichtlinien sind über Endbenutzer, die bestimmte Daten zugreifen sollten oder sollten. Außerdem ist die Frage sehr schwer vollständig zu beantworten (ich möchte, dass du es versuchst, weil du wahrscheinlich ein besseres Verständnis hast als ich). –

+0

'" Oder ein System, dessen erlaubte Aktionen von den aktuellen Daten und Bedingungen abhängen "- es scheint die Art von Dingen zu sein, bei denen ein" Benutzer und Whitelists "-Ansatz funktionieren würde. –

1

Sie sollten eine der Standard-Sicherheitsrichtlinien und arbeiten von dort aus arbeiten. Am häufigsten ist die PCI-Compliance (Payment Card Industry). Es ist sehr gut durchdacht und abgesehen von ein paar weichen Flecken, im Allgemeinen gut. Ich habe noch nie von einer maschinenlesbaren Richtlinie gehört, abgesehen von einer Microsoft Active Directory-Definition oder einer Reihe von Linux-Iptables-Regeln.

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

EDIT:

Check out SE Linux Richtlinien auch:

http://en.wikipedia.org/wiki/Security-Enhanced_Linux

1

Die Open Web Application Security Project OWASP ist ein sprachunabhängig Projekt um die Sicherheit zu erziehen und liefern Tools zum Testen und Unterstützen von Software. Obwohl es webzentriert ist, sind viele der Kernideen weitgehend anwendbar. Die Website richtet sich sowohl an Softwareentwickler als auch an das Management.

1

Wenn über "Sicherheitsrichtlinien" gesprochen wird, beziehen sie sich möglicherweise auf zwei verschiedene Arten von Sicherheitsrichtlinien.

Einer von ihnen sind High-Level-diejenigen, in der Regel von Managern definiert. Die primären Leser dieser Sicherheitspolitik sind Menschen. Es ist ein Dokument, das das Ziel, den Kontext, die Erwartungen und die Sicherheitsanforderungen im Management definiert.Sprachen, die innerhalb dieser Richtlinie verwendet werden, könnten vage sein, aber es ist das elementare "Gesetz" der Sicherheit im anwendenden Kontext. Alle Beteiligten sollten diese Politik befolgen.

1) Das Ergebnis einer solchen Politik sind die klar definierten Sicherheitsanforderungen seitens des Managements. Mit dieser Politik können alle Beteiligten die Erwartungen des Managements verstehen und bei Bedarf sicherheitsrelevante Entscheidungen treffen.

2) Da die primären Leser solcher Sicherheitsrichtlinien menschlich sind und die Anweisungen in der Regel sehr allgemein gehalten sind, ist es möglicherweise nicht in maschinenlesbarer Form. Es können jedoch einige Dokumente definiert werden, die auf der Richtlinie basieren, nämlich Sicherheitsrichtlinien, Verfahren und Handbücher. Sie sind in der Reihenfolge der zunehmenden Details darüber, wie Sicherheit tatsächlich umgesetzt werden sollte. Zum Beispiel können die Anforderungen, die in der Sicherheitsrichtlinie definiert sind, in härtenden Handbüchern für verschiedene Betriebssysteme umgesetzt werden, so dass die Administratoren und Ingenieure effizient Härtungsaufgaben durchführen können, ohne zu viel Zeit damit zu verbringen, die Gedanken des Managements zu interpretieren. Die Härtungshandbücher können dann in einen Satz von maschinenlesbaren Konfigurationen umgewandelt werden (z. B. minimale Passwortlänge, maximale Fehleranmeldung, bevor das Konto gesperrt wird usw.), wobei die Härtungsaufgaben automatisiert werden.

3) Das Dokument sollte für alle Beteiligten zugänglich sein und regelmäßig vom Management überprüft werden.

4) In der Praxis könnte es schwierig sein, solche Referenzen zu erstellen. Sicherheitsrichtlinien werden möglicherweise von Zeit zu Zeit aktualisiert, und Sie werden wahrscheinlich Ihr Programm nicht erneut kompilieren wollen, wenn die Richtlinienänderungen nur einige Parameter betreffen. Es ist jedoch nett, die Richtlinie in Entwicklungsdokumenten wie Design-sepc zu referenzieren.

Eine andere Art von "Sicherheitsrichtlinien" könnte sich nur auf diese Parametersätze beziehen, die von Sicherheitsprogrammen ausgehen. Ich fand heraus, dass einige Sicherheitsprogramme das Wort "Politik" wirklich gerne verwenden, um ihre Konfigurationen organisierter und strukturierter zu gestalten. Aber diese "Sicherheitsrichtlinien" sind eigentlich nur Werte und/oder Anweisungen für Sicherheitsprogramme, denen man folgen sollte. Zum Beispiel hat Windows eigene "Sicherheitsrichtlinien", mit denen der Benutzer Audit-Loggings, Benutzerrechte usw. konfigurieren kann. Diese Art von "Sicherheitsrichtlinien" (Parameter für Programme) wird auf der Grundlage der ersten Art von "Sicherheitsrichtlinien" definiert. (Anforderungen vom Management) wie oben erwähnt.

Ich könnte zu viel darüber schreiben. Ich hoffe es hilft.

Verwandte Themen