GithubHelp home page GithubHelp logo

secured-fp7 / secured-psa-waf Goto Github PK

View Code? Open in Web Editor NEW
0.0 4.0 1.0 187 KB

Web Application Firewall PSA

License: Apache License 2.0

Python 72.89% Shell 27.11%
squid-proxy squid traffic rules nfv vnf iptables-rules iptables-configurations

secured-psa-waf's Introduction

1. End-user

1.1 Description / general readme

Today, thanks to the Internet we can easily and quickly, and usually without any restriction, access to information of any topic. This means even the youngest in the family can get into any website anytime and this can be a problem when the child is in front of the computer all day.

For this reason, this PSA offers the parents the possibility to manage the times and websites which are allowed or blocked.

Parental Control PSA schema for End User

1.2 Features / Capabilities

The list of capabilities are (extracted from manifest):

  • Filtering_L7: Allows to filter the traffic
  • Timing: Allows to set the time interval the rule is operative.

The internal used technologies are:

  • Squid
  • iptables
  • ebtables
  • jq

1.3 Security policy examples

"father;no_authorise_access;Internet_traffic;(type_Content,gambling);"

  • This rule forbids the traffic to the contents like gambling

"father;no_authorise_access;Internet_traffic;(specific_URL,www.upc.edu)"

  • This rule forbids the traffic to an specific url. In this case to www.upc.edu

1.4 Support, troubleshooting / known issues

If you find any issue please contact us.

2. Developer / admin

Description / general readme

The Parental Control PSA pretends to offer the possibility to block all the traffic the user wants to block. The most clear example is the father who wants to manage the websites his child can access to. This PSA allows to manage the time interval in the day a concret website (or more than one) is available also.

The PSA acts like a transparent proxy managed by Squid.

Parental Control PSA schema

Components and Requirements

VM technology allows creating a full system for the PSA. The components used in this PSA are:

  • Operative System: Debian 7 "wheezy"
  • iptables
  • ebtables
  • brigde-utils
  • squid3
  • jq

There are no extra requirements apart from the correct user configuration passed to the PSA.

Detailed architecture

There are several components in the internal architecture:

  • Inspect and route traffic. ebtables is used to set up rules to inspect Ethernet frames between eth0 and eth1 and force the traffic to be routed instead of being just bridged. By this, the traffic will be routed through the Squid proxy.

  • Filter the traffic. Squid check all the traffic, blocking it if the user configuration indicates it must be blocked.

Rules

There are no rules

Certificates

There are no needed certificates

Virtual machine image creation

The procedure to create a valid PSA image from scratch start with the prerequisite instructions defined in PSA Developer guide to obtain a valid base image for PSA.

Install the software Squid:

sudo apt-get install squid3

Copy the necessary files of this project in the folder:

$HOME/phytonScript/

Mobility Support

This PSA supports the mobility scenario.

Support, troubleshooting / known issues

If you find any issue please contact us.

Files required

No extra files required.

PSA application image

PSA is based on a Virtual machine image in KVM- kernel module format ".qcow2". A sample image has been included in the project.

Manifest

  • XML

The PSA manifest in format XML is available at Manifest. This file must be stored in the PSAR. And reflects the capabilities described below.

  • JSON The PSA manifest is available at Manifest.

HSPL

The HSPL format is defined as follows:

  • D4.1 format:

father;no_authorise_access;Internet_traffic;(type_Content,gambling); father;no_authorise_access;Internet_traffic;(specific_URL,www.upc.edu)

  • More friendly:

Father does not authorise access to this type the type of content gambling

Father does not authorise access to the url www.upc.edu

MSPL

The MSPL can be found here

M2L Plug-in

The M2l plug-in is available at M2LPlugin

This plugin do not need additional external information in this version that must be store in the PSAR.

Features/Capabilities

The list of capabilities are (extracted from manifest):

  • Filtering_L7: Allows to filter the traffic
  • Timing: Allows to set the time interval the rule is operative.

Testing

Testing scripts are available at test folder

3. License

Please refer to project LICENSE file.

This software incorporates Squid and it is open source software licensed under the GNU GPL.

Additional Information

Partners involved

  • Application: UPC
  • MSPL: POLITO,UPC
  • M2L Plugin: UPC

Status (OK/No/Partial) -OK-

TODO:

  • Tests

secured-psa-waf's People

Contributors

fulviovalenza avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

cloudxtreme

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.