Palomuurit ja palomuurisääntöjen testimigraatio Ansiblella
Tanskanen, Joonas (2025)
Tanskanen, Joonas
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025121034465
https://urn.fi/URN:NBN:fi:amk-2025121034465
Tiivistelmä
Erilaiset migraatiot yrityksien infrastruktuureissa ovat tärkeitä ja ne pitää valmistella hyvin. Varsinkin IT- alan tapauksissa huonot migraatiot voivat aiheuttaa yrityksille tappioita ja katkoja. Tärkeää onkin ennen migraatiota tehdä jonkinlainen testi. Esimerkiksi vanhemmista laitteista uusille laitteille. Tässä tapauksessa on hyvä tehdä ensin testiratkaisu, jolla voidaan testata migraatiota ennen kuin se tehdään varsinaiseen tuotantoinfrastruktuuriin.
Opinnäytetyö tehtiin CSC- Tieteen tietotekniikan keskukselle toimeksiantotyönä. CSC- Tieteen tietotekniikan keskus Oy tukee suomalaista tutkimustyötä ja sen omistaa Suomen valtio ja Suomen korkeakoulut. Työn taustana oli palomuurien päivitys uudempiin uuden laitevalmistajan laitteisiin. Opinnäytetyön teoria osassa käytiin ensin läpi erilaisia palomuurityyppejä ja Ansible-konfiguraatiotyökalua. Toisessa osassa esitettiin käytännön työn osuus, jossa käsiteltiin palomuurisääntöjen testimigraation tekemistä.
Opinnäytetyön tavoitteena oli saada toimiva ratkaisu palomuurisääntöjen siirtämiseen uusille palomuureille. Ratkaisu tehtiin testiympäristössä käyttämällä Palo Alton palomuurienhallintatyökalua Panoramaa ja Ansiblea. Laajojen palomuurisääntöjen ja IP-osoitelistojen muokkaamisessa käytettiin python-skriptejä, jotta säännöt ja osoitelistat saataisiin sopivaan muotoon Jinja2-malleille. Jinja2-malleja käytettiin palomuurisääntöjen, porttiobjektien, osoiteobjektien ja osoitelistojen konfiguraation tekemiseen käyttämällä XML-ohjelmointikieltä. Konfiguraatiot malleille löytyi Panoraman API-osoitteesta. Viimeiseksi säännöt ja objektit siirrettiin Panoramaan Ansible-pelikirjan avulla.
Lopputulokseksi saatiin testattua toimivaa tapaa, jolla voitiin siirtää palomuurisääntöjä ja objekteja Panoramaan ja kohdistettua palomuurisäännöt oikeaan virtuaali-instanssiin palomuureille. Tulevaisuudessa tätä voidaan käyttää yhtenä ratkaisuna palomuurisääntöjen migraatiossa. Different types of migrations in a company’s infrastructure are important and must be prepared carefully. Especially in the IT field, poorly executed migrations can cause financial losses and service interruptions for companies. Therefore, it is essential to carry out some form of testing before the actual migration, for example, when moving from older devices to newer ones. In such cases, it is advisable to first build a test solution that allows migration to be tested before it is carried out in the production environment.
This thesis was commissioned by CSC – IT Center for Science. CSC – IT Center for Science Ltd supports Finnish scientific research and is owned by the Finnish government and Finnish higher education institutions. The background of the work was the upgrade of firewalls to a newer model from a new device vendor. The theoretical part of the thesis first reviews different types of firewalls and the Ansible configuration tool. The second part covers the practical work, which focuses on performing a test migration of firewall rules.
The goal of the thesis was to create a functional solution for transferring firewall rules to the new firewalls. The solution was built in a test environment using Panorama, the firewall management tool for Palo Alto firewalls, together with Ansible. Python scripts were used to modify the extensive firewall rules and IP address lists so that they would fit the Jinja2 templates. Jinja2 templates were used to generate the configurations for firewall rules, port objects, address objects, and address lists using XML. The configuration structures for the templates were obtained from Panorama’s API. Finally, the rules and objects were transferred to Panorama using an Ansible playbook.
As a result, a working method for transferring firewall rules and objects to Panorama and assigning the firewall rules to the correct virtual instance on the firewalls was developed and tested. In the future, this method can be used as one possible solution for firewall rule migrations.
Opinnäytetyö tehtiin CSC- Tieteen tietotekniikan keskukselle toimeksiantotyönä. CSC- Tieteen tietotekniikan keskus Oy tukee suomalaista tutkimustyötä ja sen omistaa Suomen valtio ja Suomen korkeakoulut. Työn taustana oli palomuurien päivitys uudempiin uuden laitevalmistajan laitteisiin. Opinnäytetyön teoria osassa käytiin ensin läpi erilaisia palomuurityyppejä ja Ansible-konfiguraatiotyökalua. Toisessa osassa esitettiin käytännön työn osuus, jossa käsiteltiin palomuurisääntöjen testimigraation tekemistä.
Opinnäytetyön tavoitteena oli saada toimiva ratkaisu palomuurisääntöjen siirtämiseen uusille palomuureille. Ratkaisu tehtiin testiympäristössä käyttämällä Palo Alton palomuurienhallintatyökalua Panoramaa ja Ansiblea. Laajojen palomuurisääntöjen ja IP-osoitelistojen muokkaamisessa käytettiin python-skriptejä, jotta säännöt ja osoitelistat saataisiin sopivaan muotoon Jinja2-malleille. Jinja2-malleja käytettiin palomuurisääntöjen, porttiobjektien, osoiteobjektien ja osoitelistojen konfiguraation tekemiseen käyttämällä XML-ohjelmointikieltä. Konfiguraatiot malleille löytyi Panoraman API-osoitteesta. Viimeiseksi säännöt ja objektit siirrettiin Panoramaan Ansible-pelikirjan avulla.
Lopputulokseksi saatiin testattua toimivaa tapaa, jolla voitiin siirtää palomuurisääntöjä ja objekteja Panoramaan ja kohdistettua palomuurisäännöt oikeaan virtuaali-instanssiin palomuureille. Tulevaisuudessa tätä voidaan käyttää yhtenä ratkaisuna palomuurisääntöjen migraatiossa.
This thesis was commissioned by CSC – IT Center for Science. CSC – IT Center for Science Ltd supports Finnish scientific research and is owned by the Finnish government and Finnish higher education institutions. The background of the work was the upgrade of firewalls to a newer model from a new device vendor. The theoretical part of the thesis first reviews different types of firewalls and the Ansible configuration tool. The second part covers the practical work, which focuses on performing a test migration of firewall rules.
The goal of the thesis was to create a functional solution for transferring firewall rules to the new firewalls. The solution was built in a test environment using Panorama, the firewall management tool for Palo Alto firewalls, together with Ansible. Python scripts were used to modify the extensive firewall rules and IP address lists so that they would fit the Jinja2 templates. Jinja2 templates were used to generate the configurations for firewall rules, port objects, address objects, and address lists using XML. The configuration structures for the templates were obtained from Panorama’s API. Finally, the rules and objects were transferred to Panorama using an Ansible playbook.
As a result, a working method for transferring firewall rules and objects to Panorama and assigning the firewall rules to the correct virtual instance on the firewalls was developed and tested. In the future, this method can be used as one possible solution for firewall rule migrations.
