<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 https://www.facebook.com/tr?id=1127487224079104&amp;ev=PageView&amp;noscript=1 ">

Sonatype und HackerOne machen gemeinsam Open Source sicherer Pressemitteilung

Tyro Payments mit Nexus Repo und Lifecycle

Das Banking der neuen Generation mit Nexus.
tyro - Logo Round-1.png

Tyro Payments

In den ersten zehn Jahren seines Bestehens war Tyro Payments in Australien ein EFTPOS-Service für kleine und mittlere Unternehmen. Im Jahr 2013 beschlossen die Verantwortlichen bei Tyro, den nächsten Schritt zu gehen, und machten aus dem Unternehmen eine Universalbank, die zusätzlich zum Kerngeschäft, das die Abwicklung von Kartentransaktionen umfasste, auch Darlehen vergeben und Einzahlungen entgegennehmen sollte.

Heute sind im Unternehmen mehr als 140 Entwickler beschäftigt, die sich auf 18 Engineering-Teams verteilen. Um mit dem schnellen Wachstum mithalten zu können, musste Tyro Prozesse zur Verwaltung der Komponentennutzung, zur Überwachung der Anwendungsentwicklung und zur Behebung von Lizenzproblemen implementieren. Die Wahl fiel auf Nexus Repository und Nexus Lifecycle, um das Monitoring dieser Prozesse zu automatisieren und die Geschwindigkeit der Entwicklungsteams zu optimieren.

edwin_kwanpng
„Vor Lifecycle hatten wir keine Möglichkeit, Verstöße gegen Richtlinien oder Lizenzierungsrisiken im Blick zu behalten. Mit Lifecycle können wir das priorisieren, was wirklich behoben werden muss.“

Edwin Kwan, Teamleiter für Application and Software Security bei Tyro Payments

Die Herausforderung

Eine der Herausforderungen bei diesem nächsten Schritt war die Sicherheitssituation. Tyro Payments musste eine Möglichkeit finden, diesen Aspekt zu verbessern. Zuerst wurden verschiedene Lösungen untersucht, die mehrere Aufgaben erfüllen sollten: sie mussten in der Lage sein, einen umfassenden Katalog aus Komponenten für die Anwendungen zusammenzustellen, gefährdete Komponenten zu erkennen und die Risikostufe von entdeckten Schwachstellen zu prüfen.

Es war wichtig, dass die Lösung die agilen Prozesse bei Tyro nicht einschränkt oder Barrieren zur Folge hat, durch die Entwickler, die Anwendungen erstellen und aktualisieren, nur mit entsprechender Genehmigung weiterarbeiten können. Man wollte einzelnen Mitarbeitern die Möglichkeit geben, schnell Microservices zu entwickeln und zu verwalten, und die manuellen Hindernisse auf ein Minimum beschränken. Die Lösung sollte die Entwickler darüber in Kenntnis setzen, ob sie eine Komponente mit einer bekannten Schwachstelle auswählen, ihnen entsprechende Infos bereitstellen, warum die Komponente nicht sicher ist, und ihnen die Möglichkeit bieten, Schwachstellen und Sicherheitslücken sofort zu beheben.

Die Lösung

Als Tyro begann, verschiedene Tools für die Risikoprüfung und das Monitoring unter die Lupe zu nehmen, gab es viele Lösungen, die Fehlalarme meldeten. „Wenn man die Sicherheitsinformationen, die einem Team bereitgestellt werden, verbessern möchte, und man ständig Falschmeldungen erhält, wird das Thema Sicherheit für die Benutzer zu einer Frustrationsquelle“, erklärt Edwin Kwan, Teamleiter Application and Software Security bei Tyro.

„Wir konzentrieren uns vorrangig auf die Entwicklung, da wir fest an Innovation und Wachstum glauben. Unser Team verwendet Nexus Lifecycle, damit sichergestellt ist, dass wir keine Sicherheitslücken haben, keine Lizenzprobleme auftreten und wir die Nutzung veralteter oder völlig offener Open-Source-Projekte auf ein Minimum reduzieren. Wir haben etwa 5 GB Traffic, den wir jeden Tag an den Nexus Lifecycle-Server schicken. Vor Nexus Lifecycle hatten wir keine Möglichkeit, Verstöße gegen Richtlinien oder Lizenzierungsrisiken im Blick zu behalten. Es gab keinen Mechanismus für die Durchführung dieser Prüfungen.“

„Nach der Implementierung von Nexus Lifecycle konnten wir uns sofort einen Überblick darüber verschaffen, wo sich die Schwachstellen und Sicherheitslücken befinden. So konnten wir wirklich das priorisieren, was behoben werden muss“, führt Kwan weiter aus.

„Es gibt zwei Möglichkeiten, wie Probleme von Nexus Lifecycle erkannt werden. Erstens: Wenn ein Entwickler versucht, eine gefährdete Komponenten zu integrieren. Sobald eine Komponente eine Schwachstelle oder Sicherheitslücke aufweist, sorgt unsere Nexus Lifecycle-Richtlinie dafür, dass die Build fehlschlägt. Sie können nichts einreichen, wenn etwas nicht funktioniert. Im Grunde wird die Pipeline angehalten. Sie können erst weitermachen, nachdem Sie sich um das Problem gekümmert haben.“

We are Tyro.jpg

„Die zweite Methode, eine Schwachstelle zu entdecken, ist über das Monitoring bereits verwendeter Komponenten. Wir haben überall große TV-Bildschirme, die den Status all unserer Builds anzeigen, und wir haben eine E-Mail-Benachrichtigung bei Nexus Lifecycle eingerichtet, um über Richtlinienverstöße informiert zu werden.“

„Sobald dieser Fall eintritt, setzen wir uns alle zusammen und sprechen über die von Nexus Lifecycle erkannten Probleme. Wir führen ein paar Untersuchungen durch, um mehr über die Auswirkungen zu erfahren, und besprechen mögliche Lösungen. Danach erstellen wir eine Confluence-Seite, um das Problem zu mindern oder zu beheben. Diese geben wir dann an alle betroffenen Teams weiter, damit sie das Problem beheben können.“

Neben Nexus Repository und Nexus Lifecycle verwendet Tyro Atlassian JIRA und Confluence für die Verwaltung von Aufgaben und die Teamkommunikation. Jenkins und GoCD werden für kontinuierliche Builds genutzt und Puppet sorgt dafür, dass alle über sämtliche Änderungen an einem Entwicklerbild informiert werden.

Besonders erwähnenswert ist noch eine Sache: Tyro setzt auf eine Architektur aus Microservices mit vielen kleinen Anwendungen, die jeweils eine einzige Aufgabe übernehmen, anstelle einer großen Anwendung mit mehreren Funktionen. Die Microservices kommunizieren über gemeinsam genutzte Bibliotheken miteinander, die im Nexus Repository gespeichert werden. Sobald eine Änderung an einer Abhängigkeitsdatei vorgenommen wird oder eine neue Bibliothek erforderlich ist, wird eine Änderung an der POM-Datei vorgenommen und eine saubere Maven-Installation entwickelt. Für alle nächtlichen Builds wird ein Scan für alle Anwendungen durchgeführt.

Sobald schließlich ein Jenkins CI-Job angestoßen wird, findet ein Nexus Lifecycle-Scan statt, damit sichergestellt ist, dass alle Komponenten entsprechend der automatisierten Richtlinien für die Nutzung genehmigt werden.

Das Ergebnis

Wenn Edwin Kwan darüber spricht, wie Nexus Repository und Nexus Lifecycle die Entwicklungsumgebung verändert haben, wird sofort ersichtlich, dass es einen riesigen Unterschied gemacht hat.

„Wir befinden uns gerade im Übergang zu Continuous Delivery, das heißt, dass jede Änderung direkt in die Produktion geht. So können wir kleinere inkrementelle Änderungen vornehmen, ohne immer eine große Release veröffentlichen zu müssen, was riskanter ist.“

„Vor Nexus Lifecycle hatten wir keine Möglichkeit, Verstöße gegen Richtlinien oder Lizenzierungsrisiken im Blick zu haben. Wir hatten so viele Anwendungen, dass es wirklich schwer war, den Überblick zu behalten. Nach der Implementierung von Nexus Lifecycle konnten wir diese Probleme überwachen und nachverfolgen. Wir konnten den Schweregrad der Probleme einschätzen und so priorisieren, was sofort behoben werden muss. Dann machten wir uns daran, die Probleme zu lösen und kümmerten uns zuerst um die Sicherheitslücken mit der höchsten Priorität.“

„Wir haben unseren vielen Entwicklungsteams die Freiheit gegeben, selbst auszuwählen, was für sie am besten funktioniert – solange es in puncto Sicherheit und Lizenzierung unseren Anforderungen entspricht. Wir müssen einfach nur unsere Richtlinien in Nexus Lifecycle definieren und automatisieren, um festzulegen, was sie nicht verwenden dürfen – und zwar alle Komponenten mit bekannten Schwachstellen und Sicherheitslücken sowie Lizenzrisiken. Mit diesem Ansatz, alles nutzen zu dürfen, solange es unseren Richtlinien entspricht, möchten wir gerne fortfahren. Wenn es passt, kann es gerne verwendet werden.“

„Ich würde Nexus Lifecycle weiterempfehlen. Es ist die einzige Möglichkeit, wirklich Einblick in die verwendeten Komponenten zu erhalten.“

Tyro Payments
Sydney, Australien

Tyro HQ.jpg

  
Erfolgsstorys unserer Kunden