PXE-ympäristön luominen ja automatisointi : helposti ylläpidettävä ja päivitettävä PXE-ratkaisu
Bordi, Tuukka (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024060119693
https://urn.fi/URN:NBN:fi:amk-2024060119693
Tiivistelmä
Uusien tietokoneiden käyttöönotto on työläs ja aikaa vievä tehtävä yrityksille. Monessa yrityksessä kuitenkin noudatetaan lähes samaa kaavaa jokaisen tietokoneen käyttöönotossa, joka mahdollistaa automaatiotyökalujen hyödyntämisen käyttöönottoprosessissa. Yksi keino automatisoida tietokoneiden käyttöönotto on käynnistää tietokone PXE-käynnistyksen avulla. PXE-käynnistys mahdollistaa käyttöjärjestelmän lataamisen tietokoneelle verkon välityksellä. PXE-käynnistyksen avulla voi asentaa käyttöjärjestelmiä tietokoneelle, joka voi vähentää tietokoneiden käyttöönotossa kuluvaa aikaa.
Tutkimuksessa tutkittiin sitä, kuinka voidaan luoda automatisointityökaluja käyttämällä ympäristö, joka tukee tietokoneiden PXE-käynnistystä, ja sitä, kuinka ympäristöön voidaan lisätä tietoturvaominaisuuksia. Tutkimus tehtiin kehitystutkimuksena ja laadullisia menetelmiä käyttämällä. Tutkimuksessa noudatettiin kehitystutkimukselle ominaista iteroivaa tutkimusotetta, jossa ratkaisua lähestytään useissa kehityssykleissä. Jokaiselle iteraatiolle määritettiin omat arviointikriteerit tuloksien laadun varmistamiseksi.
PXE-ympäristö koostuu DHCP-, Boot-, HTTP-, PXE-lataimien luontipalveluista. Toteutuksen DHCP- ja Boot-palveluksi valittiin dnsmasq-palvelu, HTTP-palveluksi Apache ja PXE-lataimien luontipalveluksi netboot.xyz-projekti. Automatisointityökaluna päätettiin käyttää Ansiblea. Toteutus testattiin virtuaaliympäristössä. Ratkaisun kehitysympäristöksi valittiin Debian 11 Bullseye-käyttöjärjestelmä.
Tutkimuksen tuloksena syntyi automatisointityökalu, jolla voidaan luoda PXE-ympäristö ja johon on lisätty tietoturvaominaisuuksia, sekä kehitysympäristö, jonka avulla yritykset voivat muokata ratkaisuaan omiin tarpeisiinsa.
Aiempia julkisesti saatavilla olevia ratkaisuja PXE-ympäristön automaattiseen luomiseen ei ole ja suosituimmissa PXE-ympäristöistä puuttuu täysin esto PXE:n luvattomaan käyttöön, joten luotua ratkaisua voidaan pitää julkista tietoutta lisäävänä. Ratkaisua voidaan jatkokehittää tulevissa opinnäytetöissä tutkimalla sitä, kuinka tuotettuun ratkaisuun voi lisätä kustomoitujen käyttöjärjestelmien luontipalvelun sekä tutkimalla sitä, kuinka ratkaisun yleiskäyttöisyyttä voisi parantaa. Preparing computers for use can be a cumbersome task for companies. Yet many companies have only little variance about the preparation process itself, making it a candidate for automation. One way to automate setting up a computer is through PXE-boot. With PXE-boot one can load up an operating system over the network. Operating systems can be installed on the local disk via PXE-boot, which can reduce the time it takes to set up a computer compared to booting via local means.
The aim of the study was to find a way to create an enviroment that supports PXE booting through automation and discover ways to make this environment more secure. Action research was chosen as the research methodology and qualitative methods were used to evaluate the reliability of the results. The research followed an iterative approach which is often used in action research, where the solution is often sought in increments, or development cycles.
PXE environment consists of DHCP, Boot, and HTTP services and a PXE bootloader creating service. For the implementation, dnsmasq was chosen as the DHCP server, Apache as the HTTP server, and netboot.xyz for the creation of PXE bootloaders. Ansible was chosen as an automation tool. The implementation was tested in a virtual environment. Debian 11 Bullseye was chosen as the development environment.
An automation tool for creation of PXE-boot environment was created as a result of the study. The tool adds security mechanisms to PXE environment and implements an automated way to set up an SDK for further development of the solution.
No free and publicly available automated solutions for implementing the creation of PXE environment from start to finish were found, and none of the most popular non-automated solutions implement any security mechanisms to prevent unauthorized use of PXE bootloaders. For this reason the research can be said to add new information to public domain. The solution can be developed further by adding a service that creates customized installation images or by making the solution more widely available by generalizing the solution and enhancing its ease of use.
Tutkimuksessa tutkittiin sitä, kuinka voidaan luoda automatisointityökaluja käyttämällä ympäristö, joka tukee tietokoneiden PXE-käynnistystä, ja sitä, kuinka ympäristöön voidaan lisätä tietoturvaominaisuuksia. Tutkimus tehtiin kehitystutkimuksena ja laadullisia menetelmiä käyttämällä. Tutkimuksessa noudatettiin kehitystutkimukselle ominaista iteroivaa tutkimusotetta, jossa ratkaisua lähestytään useissa kehityssykleissä. Jokaiselle iteraatiolle määritettiin omat arviointikriteerit tuloksien laadun varmistamiseksi.
PXE-ympäristö koostuu DHCP-, Boot-, HTTP-, PXE-lataimien luontipalveluista. Toteutuksen DHCP- ja Boot-palveluksi valittiin dnsmasq-palvelu, HTTP-palveluksi Apache ja PXE-lataimien luontipalveluksi netboot.xyz-projekti. Automatisointityökaluna päätettiin käyttää Ansiblea. Toteutus testattiin virtuaaliympäristössä. Ratkaisun kehitysympäristöksi valittiin Debian 11 Bullseye-käyttöjärjestelmä.
Tutkimuksen tuloksena syntyi automatisointityökalu, jolla voidaan luoda PXE-ympäristö ja johon on lisätty tietoturvaominaisuuksia, sekä kehitysympäristö, jonka avulla yritykset voivat muokata ratkaisuaan omiin tarpeisiinsa.
Aiempia julkisesti saatavilla olevia ratkaisuja PXE-ympäristön automaattiseen luomiseen ei ole ja suosituimmissa PXE-ympäristöistä puuttuu täysin esto PXE:n luvattomaan käyttöön, joten luotua ratkaisua voidaan pitää julkista tietoutta lisäävänä. Ratkaisua voidaan jatkokehittää tulevissa opinnäytetöissä tutkimalla sitä, kuinka tuotettuun ratkaisuun voi lisätä kustomoitujen käyttöjärjestelmien luontipalvelun sekä tutkimalla sitä, kuinka ratkaisun yleiskäyttöisyyttä voisi parantaa.
The aim of the study was to find a way to create an enviroment that supports PXE booting through automation and discover ways to make this environment more secure. Action research was chosen as the research methodology and qualitative methods were used to evaluate the reliability of the results. The research followed an iterative approach which is often used in action research, where the solution is often sought in increments, or development cycles.
PXE environment consists of DHCP, Boot, and HTTP services and a PXE bootloader creating service. For the implementation, dnsmasq was chosen as the DHCP server, Apache as the HTTP server, and netboot.xyz for the creation of PXE bootloaders. Ansible was chosen as an automation tool. The implementation was tested in a virtual environment. Debian 11 Bullseye was chosen as the development environment.
An automation tool for creation of PXE-boot environment was created as a result of the study. The tool adds security mechanisms to PXE environment and implements an automated way to set up an SDK for further development of the solution.
No free and publicly available automated solutions for implementing the creation of PXE environment from start to finish were found, and none of the most popular non-automated solutions implement any security mechanisms to prevent unauthorized use of PXE bootloaders. For this reason the research can be said to add new information to public domain. The solution can be developed further by adding a service that creates customized installation images or by making the solution more widely available by generalizing the solution and enhancing its ease of use.