SlideShare a Scribd company logo
Better iptables Management
Greetings!

I wish to take on the development of a library to help manage iptable rules in an easier and more
efficient manner, as a part of Google`s Summer of Code initiative. The project will result in the
development of:-

1. A library which provides functions for the parsing of iptable rules using appropriate data structures,
which can then be used to figure out if a packet with certain attributes can be transmitted or received.

2. Python bindings for the C library.

3. A CLI-based tool which helps in modifying a rule in the iptables rules set, to allow/deny packets with
certain attributes.

Benefits to the Fedora community

1. Improves user experience. Applications using the library, can deduce if a packet with certain attributes
is allowed to be transmittedreceived. In this manner programs can notify the user of the iptable rule
which blocks the attempted connection, thus helping the administrator tackle the problem in an easier
manner.

2. Python bindings for the library. Python provides many modules like scapy, which can be used along
this API to create powerful applications.

3. Easy modification of iptable rules. Using the tool created, administrators can easily modify the iptable
rules in order to allow a packet with certain attributes to be easily allowed/discarded. Currently, there is
no such application which can take in the attributes of a packet and then modify the rules, in order to
allow/discard them as per user requirements.

Deliverables

    1. A C library which provides functions for reading from, writing to, parsing and modifying of
       iptable rules.
    2. A Python binding for the C library.
    3. A CLI-based tool which uses the Python API and scapy to determine if a packet with certain
       attributes can be sent or received.
Project Details

A library providing the following functions will be created :-

    1. read() - read the iptable rules.
    2. create() - create a tree from the rules read from the file.
    3. modify() - modify the tree according to given user input.
    4. commit() - convert the tree back into iptable rules.
    5. isAllowed() - check if a packet of a given configuration will be accepted, according to the iptable
       rules set.
    6. isDropped() - check if a packet of a given configuration will be dropped, according to the iptable
       rules set.
    7. viewCurrentState() - displays the current state of the iptable rules.
    8. viewSavedRules() - calls create() and viewCurrentState()

Once the library is made, work on a python bindings for the same should be done, so that python
programmers can use the same API for their applications.

After this, a tool which uses the above python API along with scapy providing the following
functionalities should be developed:-

    1. It should be a command line tool which allows the easy modifications of iptable rules.
    2. It should have the provision to revert the last 5 changes made to the iptables rules set using this
       tool.
    3. It should have provisions for viewing the current state of the iptable rules format in a tubular
       and arranged manner.
    4. The tool could be used along with scapy for creating packets on-the-fly and testing if
       transmission of a packet with certain attributes is possible or not. (OPTIONAL)

Project Schedule

The project is planned to be split across 6 major Phases:

1. Analysis (April 27 - April 31): This phase involves communicating with the mentor and discussing the
data structures which could be used along with API improvement.

2. Development Part I (May 1 - May 31): Work on the C library.

3. Development Part II (June 1 - June 18): Writing python bindings for the same starts.

4. Development Part III (June 19 - June 30): Design and discuss API for the CLI-based tool and implement.

5. Packaging (July 1 – July 20): Package the library and the tool in order to make it suitable for inclusion
in the next release of Fedora.
6. Testing and Wrap-Up (July 21 – August 5): The library and the tool are tested extensively for bugs, no
more feature additions at this point.

Bio

I am a third-year undergraduate at the Amrita School Of Engineering, Amritapuri where I am pursuing
my B. Tech in Information Technology. I have been passionate about computers since my childhood and
have been a free software advocate and a python programmer for around 3 years now with an over-all
programming experience of around 5 years.

I have been a developer in several open source projects like Transifex, Cobbler, Sahana-Py and Python.
Recent contributions to open-source include writing a Geo-locator module for Sahana-Py and
integration of the keyring into Disutils2.

I will have no problem merging in and working with the Fedora team, given my experience in the open-
source arena. Although most of my open source endeavors have been in python, I am very comfortable
using C and C++. I don`t feel that you`ll find me lacking in any of the technical skills required for this
project.

I have been using Fedora for over a year now, and have experience working with VPN while participating
in various nation-wide CTF`s; also I am an administrator for India`s first nation-wide CTF which will be
held this year. Helping with network administration at my college has given me an administrators point
of view of what tools could be made to make an administrators life easier. I am also familiar with the
basics of using of iptables, however, I also look at this as an opportunity to learn about their usage in
depth.

Lastly, I would like to express my deep commitment to this project, Fedora, and the free software ideals
in general. You can find more details about me and the current projects I am involved in, at my website.
Please contact me if I am unclear at any point.

Thank you for considering this proposal, and for your time.

My Website: http://www.zubin71.wordpress.com

More Related Content

Viewers also liked

Mark Hopper Product And Marketing Exec 2010
Mark Hopper Product And Marketing Exec 2010Mark Hopper Product And Marketing Exec 2010
Mark Hopper Product And Marketing Exec 2010
Mark Hopper
 
2016 bd2k bgood_wikidata
2016 bd2k bgood_wikidata2016 bd2k bgood_wikidata
2016 bd2k bgood_wikidata
Benjamin Good
 
(Bio)Hackathons
(Bio)Hackathons(Bio)Hackathons
(Bio)Hackathons
Benjamin Good
 
Human Guided Forests (HGF)
Human Guided Forests (HGF)Human Guided Forests (HGF)
Human Guided Forests (HGF)
Benjamin Good
 
EISHI CO. main eps machine catalogue
EISHI CO. main eps machine catalogueEISHI CO. main eps machine catalogue
EISHI CO. main eps machine catalogue
eishimachinery
 
Computing on the shoulders of giants
Computing on the shoulders of giantsComputing on the shoulders of giants
Computing on the shoulders of giants
Benjamin Good
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoy
Cominvent AS
 
Eishi Company Profile 修改好的
Eishi Company Profile 修改好的Eishi Company Profile 修改好的
Eishi Company Profile 修改好的
eishimachinery
 
Gene Wiki and Mark2Cure update for BD2K
Gene Wiki and Mark2Cure update for BD2KGene Wiki and Mark2Cure update for BD2K
Gene Wiki and Mark2Cure update for BD2K
Benjamin Good
 
Microtask crowdsourcing for disease mention annotation in PubMed abstracts
Microtask crowdsourcing for disease mention annotation in PubMed abstractsMicrotask crowdsourcing for disease mention annotation in PubMed abstracts
Microtask crowdsourcing for disease mention annotation in PubMed abstracts
Benjamin Good
 
The National Society For The Protection Of Hmmm
The National Society For The Protection Of HmmmThe National Society For The Protection Of Hmmm
The National Society For The Protection Of Hmmm
guest0233e9d0
 
2015 6 bd2k_biobranch_knowbio
2015 6 bd2k_biobranch_knowbio2015 6 bd2k_biobranch_knowbio
2015 6 bd2k_biobranch_knowbio
Benjamin Good
 
Welcome to Ukraine - SunCity Travel LLC
Welcome to Ukraine - SunCity Travel LLCWelcome to Ukraine - SunCity Travel LLC
Welcome to Ukraine - SunCity Travel LLC
Alex Faynin
 
Light steel villa catalogue log
Light steel villa catalogue logLight steel villa catalogue log
Light steel villa catalogue log
eishimachinery
 
Buyer Remorse
Buyer RemorseBuyer Remorse
Buyer Remorse
smfox
 
Dagens Næringslivs overgang til Lucene/Solr søk
Dagens Næringslivs overgang til Lucene/Solr søkDagens Næringslivs overgang til Lucene/Solr søk
Dagens Næringslivs overgang til Lucene/Solr søk
Cominvent AS
 
Short update on The Cure game first week
Short update on The Cure game first weekShort update on The Cure game first week
Short update on The Cure game first week
Benjamin Good
 
Oslo Solr MeetUp March 2012 - Solr4 alpha
Oslo Solr MeetUp March 2012 - Solr4 alphaOslo Solr MeetUp March 2012 - Solr4 alpha
Oslo Solr MeetUp March 2012 - Solr4 alpha
Cominvent AS
 
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
Benjamin Good
 
2016 mem good
2016 mem good2016 mem good
2016 mem good
Benjamin Good
 

Viewers also liked (20)

Mark Hopper Product And Marketing Exec 2010
Mark Hopper Product And Marketing Exec 2010Mark Hopper Product And Marketing Exec 2010
Mark Hopper Product And Marketing Exec 2010
 
2016 bd2k bgood_wikidata
2016 bd2k bgood_wikidata2016 bd2k bgood_wikidata
2016 bd2k bgood_wikidata
 
(Bio)Hackathons
(Bio)Hackathons(Bio)Hackathons
(Bio)Hackathons
 
Human Guided Forests (HGF)
Human Guided Forests (HGF)Human Guided Forests (HGF)
Human Guided Forests (HGF)
 
EISHI CO. main eps machine catalogue
EISHI CO. main eps machine catalogueEISHI CO. main eps machine catalogue
EISHI CO. main eps machine catalogue
 
Computing on the shoulders of giants
Computing on the shoulders of giantsComputing on the shoulders of giants
Computing on the shoulders of giants
 
First oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoyFirst oslo solr community meetup lightning talk janhoy
First oslo solr community meetup lightning talk janhoy
 
Eishi Company Profile 修改好的
Eishi Company Profile 修改好的Eishi Company Profile 修改好的
Eishi Company Profile 修改好的
 
Gene Wiki and Mark2Cure update for BD2K
Gene Wiki and Mark2Cure update for BD2KGene Wiki and Mark2Cure update for BD2K
Gene Wiki and Mark2Cure update for BD2K
 
Microtask crowdsourcing for disease mention annotation in PubMed abstracts
Microtask crowdsourcing for disease mention annotation in PubMed abstractsMicrotask crowdsourcing for disease mention annotation in PubMed abstracts
Microtask crowdsourcing for disease mention annotation in PubMed abstracts
 
The National Society For The Protection Of Hmmm
The National Society For The Protection Of HmmmThe National Society For The Protection Of Hmmm
The National Society For The Protection Of Hmmm
 
2015 6 bd2k_biobranch_knowbio
2015 6 bd2k_biobranch_knowbio2015 6 bd2k_biobranch_knowbio
2015 6 bd2k_biobranch_knowbio
 
Welcome to Ukraine - SunCity Travel LLC
Welcome to Ukraine - SunCity Travel LLCWelcome to Ukraine - SunCity Travel LLC
Welcome to Ukraine - SunCity Travel LLC
 
Light steel villa catalogue log
Light steel villa catalogue logLight steel villa catalogue log
Light steel villa catalogue log
 
Buyer Remorse
Buyer RemorseBuyer Remorse
Buyer Remorse
 
Dagens Næringslivs overgang til Lucene/Solr søk
Dagens Næringslivs overgang til Lucene/Solr søkDagens Næringslivs overgang til Lucene/Solr søk
Dagens Næringslivs overgang til Lucene/Solr søk
 
Short update on The Cure game first week
Short update on The Cure game first weekShort update on The Cure game first week
Short update on The Cure game first week
 
Oslo Solr MeetUp March 2012 - Solr4 alpha
Oslo Solr MeetUp March 2012 - Solr4 alphaOslo Solr MeetUp March 2012 - Solr4 alpha
Oslo Solr MeetUp March 2012 - Solr4 alpha
 
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
The Cure: A Game with the Purpose of Gene Selection for Breast Cancer Surviva...
 
2016 mem good
2016 mem good2016 mem good
2016 mem good
 

Similar to Fedora Iptables

Python Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtPython Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txt
Inexture Solutions
 
workshop_8_c__.pdf
workshop_8_c__.pdfworkshop_8_c__.pdf
workshop_8_c__.pdf
AtulAvhad2
 
speach
speachspeach
CHX PYTHON INTRO
CHX PYTHON INTROCHX PYTHON INTRO
CHX PYTHON INTRO
Kai Liu
 
Python
Python Python
Python
Edureka!
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and Jython
M H
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
Michael Choi
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
Tulipp. Eu
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
drupalindia
 
Python Course In Chandigarh
Python Course In ChandigarhPython Course In Chandigarh
Python Course In Chandigarh
Excellence Academy
 
Gsoc proposal 2021 polaris
Gsoc proposal 2021 polarisGsoc proposal 2021 polaris
Gsoc proposal 2021 polaris
AyushBansal122
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Luciano Resende
 
IRJET - Automation in Python using Speech Recognition
IRJET -  	  Automation in Python using Speech RecognitionIRJET -  	  Automation in Python using Speech Recognition
IRJET - Automation in Python using Speech Recognition
IRJET Journal
 
Robot framework
Robot frameworkRobot framework
Robot framework
Rochak Bhalla
 
substrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchainssubstrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchains
servicesNitor
 
{py}gradle
{py}gradle{py}gradle
{py}gradle
Stephen Holsapple
 
Python standard library & list of important libraries
Python standard library & list of important librariesPython standard library & list of important libraries
Python standard library & list of important libraries
grinu
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)
alloy020
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
Luciano Resende
 
Gsoc proposal
Gsoc proposalGsoc proposal
Gsoc proposal
AyushBansal122
 

Similar to Fedora Iptables (20)

Python Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtPython Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txt
 
workshop_8_c__.pdf
workshop_8_c__.pdfworkshop_8_c__.pdf
workshop_8_c__.pdf
 
speach
speachspeach
speach
 
CHX PYTHON INTRO
CHX PYTHON INTROCHX PYTHON INTRO
CHX PYTHON INTRO
 
Python
Python Python
Python
 
CSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and JythonCSP as a Domain-Specific Language Embedded in Python and Jython
CSP as a Domain-Specific Language Embedded in Python and Jython
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
 
Python Course In Chandigarh
Python Course In ChandigarhPython Course In Chandigarh
Python Course In Chandigarh
 
Gsoc proposal 2021 polaris
Gsoc proposal 2021 polarisGsoc proposal 2021 polaris
Gsoc proposal 2021 polaris
 
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
Elyra - a set of AI-centric extensions to JupyterLab Notebooks.
 
IRJET - Automation in Python using Speech Recognition
IRJET -  	  Automation in Python using Speech RecognitionIRJET -  	  Automation in Python using Speech Recognition
IRJET - Automation in Python using Speech Recognition
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
substrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchainssubstrate: A framework to efficiently build blockchains
substrate: A framework to efficiently build blockchains
 
{py}gradle
{py}gradle{py}gradle
{py}gradle
 
Python standard library & list of important libraries
Python standard library & list of important librariesPython standard library & list of important libraries
Python standard library & list of important libraries
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)
 
Using Elyra for COVID-19 Analytics
Using Elyra for COVID-19 AnalyticsUsing Elyra for COVID-19 Analytics
Using Elyra for COVID-19 Analytics
 
Gsoc proposal
Gsoc proposalGsoc proposal
Gsoc proposal
 

Recently uploaded

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 

Recently uploaded (20)

How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 

Fedora Iptables

  • 1. Better iptables Management Greetings! I wish to take on the development of a library to help manage iptable rules in an easier and more efficient manner, as a part of Google`s Summer of Code initiative. The project will result in the development of:- 1. A library which provides functions for the parsing of iptable rules using appropriate data structures, which can then be used to figure out if a packet with certain attributes can be transmitted or received. 2. Python bindings for the C library. 3. A CLI-based tool which helps in modifying a rule in the iptables rules set, to allow/deny packets with certain attributes. Benefits to the Fedora community 1. Improves user experience. Applications using the library, can deduce if a packet with certain attributes is allowed to be transmittedreceived. In this manner programs can notify the user of the iptable rule which blocks the attempted connection, thus helping the administrator tackle the problem in an easier manner. 2. Python bindings for the library. Python provides many modules like scapy, which can be used along this API to create powerful applications. 3. Easy modification of iptable rules. Using the tool created, administrators can easily modify the iptable rules in order to allow a packet with certain attributes to be easily allowed/discarded. Currently, there is no such application which can take in the attributes of a packet and then modify the rules, in order to allow/discard them as per user requirements. Deliverables 1. A C library which provides functions for reading from, writing to, parsing and modifying of iptable rules. 2. A Python binding for the C library. 3. A CLI-based tool which uses the Python API and scapy to determine if a packet with certain attributes can be sent or received.
  • 2. Project Details A library providing the following functions will be created :- 1. read() - read the iptable rules. 2. create() - create a tree from the rules read from the file. 3. modify() - modify the tree according to given user input. 4. commit() - convert the tree back into iptable rules. 5. isAllowed() - check if a packet of a given configuration will be accepted, according to the iptable rules set. 6. isDropped() - check if a packet of a given configuration will be dropped, according to the iptable rules set. 7. viewCurrentState() - displays the current state of the iptable rules. 8. viewSavedRules() - calls create() and viewCurrentState() Once the library is made, work on a python bindings for the same should be done, so that python programmers can use the same API for their applications. After this, a tool which uses the above python API along with scapy providing the following functionalities should be developed:- 1. It should be a command line tool which allows the easy modifications of iptable rules. 2. It should have the provision to revert the last 5 changes made to the iptables rules set using this tool. 3. It should have provisions for viewing the current state of the iptable rules format in a tubular and arranged manner. 4. The tool could be used along with scapy for creating packets on-the-fly and testing if transmission of a packet with certain attributes is possible or not. (OPTIONAL) Project Schedule The project is planned to be split across 6 major Phases: 1. Analysis (April 27 - April 31): This phase involves communicating with the mentor and discussing the data structures which could be used along with API improvement. 2. Development Part I (May 1 - May 31): Work on the C library. 3. Development Part II (June 1 - June 18): Writing python bindings for the same starts. 4. Development Part III (June 19 - June 30): Design and discuss API for the CLI-based tool and implement. 5. Packaging (July 1 – July 20): Package the library and the tool in order to make it suitable for inclusion in the next release of Fedora.
  • 3. 6. Testing and Wrap-Up (July 21 – August 5): The library and the tool are tested extensively for bugs, no more feature additions at this point. Bio I am a third-year undergraduate at the Amrita School Of Engineering, Amritapuri where I am pursuing my B. Tech in Information Technology. I have been passionate about computers since my childhood and have been a free software advocate and a python programmer for around 3 years now with an over-all programming experience of around 5 years. I have been a developer in several open source projects like Transifex, Cobbler, Sahana-Py and Python. Recent contributions to open-source include writing a Geo-locator module for Sahana-Py and integration of the keyring into Disutils2. I will have no problem merging in and working with the Fedora team, given my experience in the open- source arena. Although most of my open source endeavors have been in python, I am very comfortable using C and C++. I don`t feel that you`ll find me lacking in any of the technical skills required for this project. I have been using Fedora for over a year now, and have experience working with VPN while participating in various nation-wide CTF`s; also I am an administrator for India`s first nation-wide CTF which will be held this year. Helping with network administration at my college has given me an administrators point of view of what tools could be made to make an administrators life easier. I am also familiar with the basics of using of iptables, however, I also look at this as an opportunity to learn about their usage in depth. Lastly, I would like to express my deep commitment to this project, Fedora, and the free software ideals in general. You can find more details about me and the current projects I am involved in, at my website. Please contact me if I am unclear at any point. Thank you for considering this proposal, and for your time. My Website: http://www.zubin71.wordpress.com