Analysis of linux os security tools for packet filtering and processing
Abstract
Open-source software and its components are widely used in various products, solutions, and applications, even in closed-source. Majority of them are made on Linux or Unix based systems. Netfilter framework is one of the examples. It is used for packet filtering, load-balancing, and many other manipulations with network traffic. Netfilter based packet filter iptables has been most common firewall tool for Linux systems for more than two decades. Successor of iptables – nftables was introduced in 2014. It was designed to overcome various iptables limitations. However, it hasn’t received wide popularity and transition is still ongoing. In recent years researchers and developers around the world are searching for solution to increase performance of packet processing tools. For that purpose, many of them trying to utilize eBPF (Extended Berkeley Packet Filter) with XDP (Express Data Path) data path. This paper focused on analyzing Linux OS packet filters and comparing their performances in different scenarios. Atvirojo kodo priemonės plačiau naudojamos skirtinguose produktuose ir programose. Dauguma iš jų yra padaryta panaudojant Linux arba Unix sistemas. Netfiler tvarkyklė yra vienas iš pavyzdžių. Ji naudojama paketams filtruoti, apkrovai paskirstyti ir kitoms manipuliacijoms su paketais atlikti. Netfilter paketų filtras ipatables jau du dešimtmečius yra populiariausia Linux ugniasienė. Nauja ugniasienė nftables buvo pristatyta 2014 metais ir turėjo įveikti iptables trūkumus. Tačiau nftables taip ir negavo visuotinio pripažinimo, daug sistemų taip ir nebuvo perkeltos į iptables. Todėl pastaruosius metus mokslininkai ir programinės įrangos kūrėjai ieško naujo sprendimo padidinti paketų apdorojimo našumą. Tam jie bando išnaudoti tokias technologijas kaip eBPF ir XDP. Šio straipsnio tikslas padaryti Linux OS paketų filtro analizę ir palyginti jų našumą skirtinguose scenarijuose.