Impostazione Raspberry per interfacciarsi con Zeroshell

Nel post
Raspberry - bridge wifi - ethernet

la configurazione della rete mi aveva portato a definire il file interfaces nella seguente maniera:

allow-hotplug eth0
iface eth0
inet static address 10.0.0.1
netmask 255.255.255.0
network 10.0.0.0
broadcast 10.0.0.255
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp

Tale configurazione non permette la possibilità di connettersi in ssh o con l'interfaccia web con Zeroshell in quanto esso risponde all'indirizzo 192.168.0.75.

Quindi ho modificato:

address 192.168.0.1

network 192.0.0.0
broadcast 192.0.0.255

Quindi ho modificato il file dnsmasq nella seguente maniera:

nano /etc/dnsmasq.conf

interface=eth0 # Use interface eth0
listen-address=192.168.0.1 # Specify the address to listen on
bind-interfaces # Bind to the interface
server=208.67.222.222 # Use OpenDNS
domain-needed # Don't forward short names
bogus-priv # Drop the non-routed address spaces.
dhcp-range=192.168.0.10,192.168.0.50,12h # IP range and lease time

tutto il resto della configurazione rimane invariata.

Quindi collego il raspberry nel quale ho installato Zeroshell.

E dal browser del raspberry o da un qualunque host collegato alla rete il cui server è il raspberry stesso posso digitare sul browser:

https://192.168.0.75 e comparirà la seguente schermata:

login admin

password zeroshell

Per poter accedere ad internet bisogna impostare il default gateway:

……..

Posted in Senza categoria | Leave a comment

Raspberry - Zeroshell

Installare Zeroshell in una rete comporta vari benefici:

  • Bilanciamento e Failover di connessioni multiple a Internet;
  • Connessioni UMTS/HSDPA mediante modem 3G;
  • Server RADIUS per fornire autenticazione e gestione automatica delle chiavi di cifratura alle reti Wireless 802.11b, 802.11g e 802.11a supportando il protocollo 802.1x nella forma EAP-TLS, EAP-TTLS e PEAP; sono supportate le modalità WPA con TKIP e WPA2 con CCMP conforme allo standard 802.11i; il server RADIUS può inoltre, in base allo username, il gruppo di appartenenza o MAC Address del supplicant smistare l'accesso su di una VLAN 802.1Q assegnata ad un SSID;
  • Captive Portal per il supporto del web login su reti wireless e wired. Zeroshell agisce da gateway per la rete su cui è attivo il Captive Portal e su cui gli indirizzi IP (di solito appartenenti a classi private) vengono forniti dinamicamente dal DHCP. Un client che accede a questa network privata deve autenticarsi mediante un web browser con username e password Kerberos 5 prima che il firewall di Zeroshell gli permetta di accedere alla LAN pubblica. I gateway Captive Portal sono utilizzati spesso per fornire accesso a Internet negli HotSpot in alternativa all'autenticazione 802.1X troppo complicata da configurare per gli utenti. Zeroshell implementa la funzionalità di Captive Portal in maniera nativa, senza utilizzare altro software specifico come NoCat o Chillispot;
  • Gestione del QoS (Quality of Service) e traffic shaping per il controllo del traffico su reti congestionate. Si possono imporre vincoli sulla banda minima garantita, sulla banda massima e sulla priorità di un pacchetto (utile nelle connessioni realtime come le VoIP). Tali vincoli potranno essere applicati sulle interfacce Ethernet, sulle VPN, sui point to point PPPoE, sui bridge e sui bonding (aggregati) di VPN. La classificazione del traffico può avvenire anche mediante i filtri Layer 7 che permettono il Deep Packet Inspection (DPI) e quindi di regolare la banda e la priorità da assegnare ai flussi di applicazioni come VoIP e P2P;
  • HTTP Proxy con antivirus open source ClamAV in grado di bloccare in maniera centralizzata le pagine web contenenti Virus. Il proxy, realizzato con HAVP, potrà funziona in modalità transparent proxy, intendendo con ciò, che non è necessario configurare i web browser degli utenti per utilizzare il server proxy, ma, le richieste http verranno automaticamente reindirizzate a quest'ultimo. È ovvio, che in questo caso, la macchina che fa da proxy deve essere anche un gateway (router IP o bridge);
  • Supporto per la funzionalità di Wireless Access Point con Multi SSID utilizzando schede di rete WiFi basate sui chipset Atheros. In altre parole, un box Zeroshell con una di tali schede WI-FI può funzionare come Access Point per le reti IEEE 802.11 supportando i protocolli 802.1X, WPA per l'autenticazione e la generazione di chiavi dinamiche. Ovviamente l'autenticazione avviene tramite EAP-TLS o PEAP sfruttando il server RADIUS integrato;
  • VPN host-to-lan con protocollo L2TP/IPsec in cui L2TP (Layer 2 Tunneling Protocol) autenticato con username e password Kerberos v5 viene incapsulato all'interno di IPsec autenticato mediante IKE con certificati X.509;
  • VPN lan-to-lan con incapsulamento delle trame Ethernet in tunnel SSL/TLS, con supporto per VLAN 802.1Q e aggregabili in load balancing (incremento di banda) o fault tollerance (incremento di affidabilità);
  • Router con route statiche e dinamiche (RIPv2 con autenticazione MD5 o plain text e algoritmi Split Horizon e Poisoned Reverse);
  • Bridge 802.1d con protocollo Spanning Tree per evitare loop anche in presenza di percorsi ridondati;
  • Firewall Packet Filter e Stateful Packet Inspection (SPI) con filtri applicabili sia in routing sia in bridging su tutti i tipi di interfaccia di rete comprese le VPN e le VLAN;
  • Controllo mediante Firewall e Classificatore QoS del traffico di tipo File sharing P2P;
  • NAT per utilizzare sulla LAN indirizzi di classi private mascherandoli sulla WAN con indirizzi pubblici;
  • TCP/UDP port forwarding (PAT) per creare Virtual Server, ovvero cluster di server reali visti con un unico indirizzo IP (l'indirizzo del Virtual Server). Le richieste sul server virtuale saranno smistate sui server reali in Round-Robin (ciclicamente) preservando le connessioni e le sessioni già esistenti. Si può così ottenere il load balancing su web farm, cluster SQL e farm di calcolo;
  • Server DNS multizona e con gestione automatica della Reverse Resolution in-addr.arpa;
  • Server DHCP multi subnet con possibilità di assegnare l'indirizzo IP in base al MAC Address del richiedente;
  • Virtual LAN 802.1Q (tagged VLAN) applicabili sulle interfacce Ethernet, sulle VPN lan-to-lan, sui bonding di VPN e sui bridge composti da interfacce Ethernet, VPN e bond di VPN;
  • Client PPPoE per la connessione alla WAN tramite linee ADSL, DSL e cavo (richiede MODEM adeguato);
  • Client DNS dinamico che permette la rintracciabilità su WAN anche quando l'IP è dinamico. Gestione dinamica del record dns MX per l'instradamento SMTP della posta elettronica su mail server con IP variabile;
  • Server e client NTP (Network Time Protocol) per mantenere gli orologi degli host sincronizzati;
  • Server syslog per la ricezione e la catalogazione dei log di sistema prodotti da host remoti quali sistemi Unix, router, switch, access point WI-FI, stampanti di rete e altro compatibile con protocollo syslog;
  • Autenticazione Kerberos 5 mediante un KDC integrato e cross autenticazione tra domini;
  • Autorizzazione LDAP, NIS e RADIUS;
  • Autorità di certificazione X.509 per l'emissione e la gestione di certificati elettronici;
  • Integrazione tra sistemi Unix e domini Windows Active Directory in un unico sistema di autenticazione e autorizzazione mediante LDAP e Kerberos 5 cross realm authentication.

Ho riportato per semplicità le informazioni presenti nel sito http://www.zeroshell.net/

All'interno di esso vi è il link verso i possibili download.

Posted in Senza categoria | Leave a comment

GPOI - Le metriche del software - Fase 4 - complessità di FP

Dato che alcune delle funzionalità possono essere più complesse di altre e quindi richiedono più tempo per essere sviluppate, il metodo di conteggio IFPUG prevede che le occorrenze di queste funzionalità siano pesate da chi effettua il conteggio.

Si utilizzano delle tabelle di riferimento operando in due passi:

un primo giudizio di complessità che può essere basso, medio ed alto

un secondo passo che assegna un punteggio che varia da 3 a 5

Per valutare la complessità si usano i seguenti indicatori:

  • DET Data Element type: un campo non ripetuto, riconoscibile dall'utente
  • RET Record Element type: un sottogruppo di dati riconoscibili dall'utente all'interno di un ILF/EIF
  • FTR File Type referrenced: si tratta di un file logico interno (ILF) letto o mantenuto dalla funzione, oppure un file esterno (EIF) letto dalla funzione (da EI/EQ/EO)

Input Esterni EI External Inputs

Per ogni EI si conta il numero di file FTR che utilizza e il numero di DET che questi file hanno al loro interno da utilizzarsi come coordinate per determinare il valore della complessità.

FTR/DET1-45-1516
0-1BassaBassaMedia
2BassaMediaAlta
3MediaAltaAlta

Il valore ottenuto di complessità (basso, medio o alto) viene convertito in un numero, rispettivamente basso=3, medio=4 e alto=6.

Output Esterni EO - External Outputs

Per ogni EO si conta il numero di file FTR che utilizza il numero di DET che questi file hanno al loro interno da utilizzarsi come coordinate per determinare il valore di complessità della seguente tabella:

FTR/DET1-56-1920
0-1BassaBassaMedia
2-3BassaMediaAlta
4MediaAltaAlta

Il valore ottenuto di complessità (basso, medio o alto) viene convertito in un numero, rispettivamente basso=4, medio=5 e alto=7.

Richieste Esterne EQ External Inquiries

La stessa analisi condotta per gli EI e gli EO può essere condotta per gli EQ ma utilizzando il maggiore degli EI ed EO così come prescritto nel IFPUG counting pratices manual.

File Logici Interni (ILF - Internal Logical Files) e File Esterni di Interfaccia (EIF - External Interface Files)

Per ogni file, sia che si tratti di un file ILF che di un EIF, si conta il numero di file RET che questo definisce e il numero di DET che questi contengono al loro interno da utilizzarsi come coordinate per determinare il valore di complessità della seguente tabella:

FTR/DET1-1920-5051
1BassaMediaAlta
2-5BassaMediaAlta
6BassaMediaAlta

Il valore ottenuto di complessità (basso, medio o alto) viene convertito in un numero utilizzando la seguente tabella:

ComplessitàILFEIF
Bassa75
Media107
Alta1510

Il valore di UFP è dato dalla somma delle 5 componenti funzionali così individuate.

Riprendo l'esempio precedente che riporto per comodità:

1 schermata (cognome, nome, luogo di nascita, data di nascita, CF)

funzioni realizzate: inserimento, modifica, cancella

  • tutti i dati possono essere inseriti, modificati e cancellati dall'utente
  • la ricerca è limitata allo scrolling delle anagrafiche
  • 1 file per la memorizzazione dei dati
  • 1 query per la ricerca degli elementi di una tabella
  • 1 prospetto di stampa su cui sono presenti i dati della schermata e l'età media degli individui censiti nell'anagrafe
Posted in Senza categoria | Leave a comment

TPSIT - VPN

La sicurezza deve seguire le seguenti tre regole:


Confidentiality, Integrity and Availability

Confidenzialità, Integrità e Disponibilità che rappresentano i tre elementi cardine che la sicurezza in ambito IT mira a garantire per quanto concerne i dati.

L’obiettivo dell’utilizzo di una VPN (Virtual Private Network – Rete Private Virtuale) è quello di assicurare, fra le altre cose, almeno due degli elementi della triade: la confidenzialità e l’integrità dei dati in transito.

Quando due entità o due utenti necessitano di dialogare fra loro attraverso una qualsiasi rete, ed in particolar modo su Internet, è possibile stabilire fra di essi un canale virtuale, e fare in modo che all’interno di questo canale “dedicato” i dati transitino in maniera sicura. Pensiamo proprio alla rete Internet e a due persone che devono interloquire fra loro attraverso la rete pubblica: nulla e nessuno potrà garantire che ciò che esse si comunicano non venga intercettato o copiato a loro insaputa, in questo caso vengono in aiuto le VPN. La P di “private” sta ad indicare la privatezza ossia la confidenzialità (e integrità) delle informazioni mentre la V di “virtual” indica il fatto che il canale è solo logicamente instaurato fra i due estremi, senza la necessità di ricorrere a costose linee dedicate. Le VPN, quindi, rispetto alle linee dedicate offrono pertanto due vantaggi essenziali che sono quelli dell’economicità (evitando l’acquisto di linee dedicate appunto) e la scalabilità (n utenti che debbano collegarsi ad uno stesso punto – ad esempio la sede aziendale – sfrutteranno tutti il medesimo canale di accesso, ossia la Internet, ovunque essi si trovino). Le componenti di confidenzialità e integrità offerte dalle VPN si basano essenzialmente sull’utilizzo della crittografia, gli algoritmi crittografici permettono infatti da un lato di rendere intelleggibile ad un eventuale “eavesdropper” il flusso dei dati fra i due capi della VPN e dall’altro garantiscono che quanto viene trasmesso non sia stato in alcun modo manipolato o danneggiato (intenzionalmente o meno).

In maniera molto semplicistica, della parte di confidenzialità si occupano gli algoritmi di cifratura (sia a chiave segreta che a chiave pubblica), mentre per l’aspetto dell’integrità ci si rivolge agli algoritmi di “hashing“.

Protocolli, tecnologie e tipologie di VPN

In questo contributo vorrei concentrarmi essenzialmente su due tipi di VPN:

  • VPN di accesso remoto
  • VPN site-to-site

Esistono poi due differenti tecnologie, ciascuna delle quali opera a differenti livello della pila ISO-OSI:

  • VPN IPsec
  • VPN SSL

A onor del vero questa classificazione è veramente riduttiva seppure – in ottica sicurezza – racchiuda i gruppi e i protocolli fondamentali, in letteratura probabilmente troverete tassonomie molto più estese perché sarebbe possibile parlare di altri tipi ed altre classificazioni delle VPN. Solo per fare un esempio è doveroso accennare alle cosiddette VPN MPLS che in ambito aziendale sono largamente diffuse, ma volendoci concentrare sull’aspetto della sicurezza e considerando il fatto che, di default, le VPN MPLS non forniscono la crittografia dei dati preferisco escluderle dal presente contributo.

Le VPN per l’accesso remoto

Vengono utilizzate nei casi in cui un utente in mobilità, in qualsiasi luogo del globo, debba collegarsi ad una sito remoto (tipicamente una sede aziendale) e desideri farlo in sicurezza, al riparo da intercettazioni. La costruzione del canale virtuale fra l’utente remoto e la sede aziendale, oltre a mettere al sicuro l’utente e l’azienda, permette di estendere la rete aziendale al di fuori dei propri confini geografici rendendo l’utente finale in grado di accedere a risorse interne (file, applicazioni, server, ecc.) altrimenti inaccessibili. Questo tipo di VPN possono basarsi sia sullo standard IPsec che sui protocolli della famiglia SSL (evoluti in TLS).

remote

Le VPN site-to-site

Vengono utilizzate quando sedi o filiali della stessa azienda o di aziende differenti, situate a distanza geografica, hanno necessità di instaurare un canale di comunicazione sicuro (e molto spesso permanente) sfruttando un canale non sicuro come può essere Internet. Tali VPN sfruttano tipicamente lo standard IPsec e vengono realizzate solitamente tramite specifici terminatori delle VPN (router, firewall, server o appliance) a un capo e all’altro del canale. Una volta stabilita la VPN le due entità/organizzazioni entreranno in contatto potendo condividere in maniera sicura i dati che intendono scambiare fra loro (file, flussi, applicazioni, ecc.) senza dover acquistare da un provider una costosa linea dedicata.

vpn2

Non è certo infrequente, nella realtà aziendale di oggi, trovarsi dinanzi a scenari in cui entrambi i tipi di VPN e entrambe le tecnologie (IPsec e SSL) vengono utilizzati allo stesso tempo

vpn3

La crittografia alla base delle VPN

Entrare nei dettagli di come gli algoritmi di cifratura contribuiscano a realizzare le VPN e a renderle sicure va al di là dello scopo di questo articolo, tuttavia, come già accennato, la crittografia (sia simmetrica che asimmetrica) ricopre l’importante ruolo di abilitatore della confidenzialità e integrità dei dati, ma può entrare in gioco anche in un altro importante aspetto delle VPN: l’autenticazione,  qualora quest’ultima faccia uso della crittografia a chiave pubblica, mediante firma digitale RSA.

Ciò che è doveroso specificare è che diversi algoritmi di cifratura (ed in diverse fasi della “vita” di una VPN) entrano in gioco. Gli algoritmi asimmetrici (esempio: RSA e Diffie-Hellman), più onerosi dal punto di vista computazionale, vengono utilizzati per l’autenticazione (RSA) o per lo scambio di chiavi segrete utilizzando un canale insicuro (Diffie-Hellman), mentre gli algoritmi simmetrici (più leggeri e performanti dal punto vista computazionale come 3DES e AES vengono utilizzati per fare il lavoro di cifratura “continua” dei dati una volta che il canale di comunicazione è stabilito.

Un ultimo fondamentale vantaggio delle VPN è il fatto che offrono protezione “anti replay“ ossia rendono impossibile ad un attaccante intercettare i messaggi in transito ed inserire dei messaggi modificati nel flusso dei dati fra sorgente e destinazione, nel caso ciò dovesse avvenire i messaggi modificati verrebbero scartati.

Le soluzioni di mercato

Site-to-site VPN

Per quanto riguarda le VPN site-to-site, la soluzione più diffusa è quella di demandare la realizzazione del tunnel VPN ad apparati di rete capaci di utilizzare lo standard IPsec (che chiameremo terminatori della VPN), che siano essi router o firewall. Occorrerà quindi accordarsi con la controparte (se si tratta di un’azienda esterna) e scegliere i parametri IPsec in modo che il tunnel si attivi con successo, a quel punto i PC o i server attestati ad un capo o all’altro del tunnel potranno “parlarsi” in maniera “trasparente” e sicura allo stesso tempo, lasciando il lavoro di cifratura e decifratura ai terminatori della VPN. I router e firewall più diffusi al mondo, anche non di livello enterprise, supportano lo standard IPSec e ciò rende possibile la protezione dei dati in transito in maniera abbastanza agevole.

VPN di accesso remoto

Per quanto riguarda le VPN per l’accesso remoto, solitamente basate sul protocollo TLS (erede di SSL), sono presenti sul mercato diverse soluzioni. Ciascun vendor potrà proporre la propria implementazione, ma in sostanza si tratta di definire ed installare quello che viene definito “concentratore” delle VPN il quale – esposto su Internet – raccoglierà, dalla rete della sede centrale, le richieste di accesso (tramite il protocollo SSL/TLS) da parte dei client. Le modalità con cui i client potranno realizzare il tunnel VPN sono in sostanza di tre differenti tipi:

  • clientless (basata esclusivamente sul browser del dispositivo)
  • plug-in based (ossia basate su un plug-in del browser che viene installato al momento della prima connessione al concentratore)
  • client-based (quando è prevista l’installazione di un client software ad hoc)

Ciascuna delle soluzioni ha i suoi pro e i suoi contro: certamente la prima, quella clientless, è quella che può essere utilizzata in qualsiasi luogo e su qualsiasi PC che supporti il protocollo SSL. Ciascun vendor poi “colorerà” la propria soluzione in maniera diversa. La scelta di ciascuna azienda, in base alle proprie necessità, ricadrà sulla sfumatura e la soluzione più appropriate.

La prudenza in mobilità e la protezione dei dati aziendali

Un ultimo accenno va certamente fatto ad un altro utilizzo delle VPN che è di grande utilità per chi viaggia spesso, magari anche all’estero, e che fa sovente uso di accessi wi-fi pubblici, erogati da aeroporti o hotel. In questo caso è consigliabile fare ricorso ad un provider di servizi VPN. Esistono infatti sul mercato fornitori di connettività VPN a cifre abbordabili. In maniera molto semplificata, ciò che si ottiene utilizzando questo tipo di servizi ogniqualvolta ci si trovi a doversi collegare ad Internet da luoghi pubblici o “a rischio” è questo: per prima cosa l’utente si collegherà al proprio provider di servizi VPN, da quel momento in poi ogni connessione verso la rete Internet (che sia verso Google, il proprio portale preferito, la propria casella email via web, ecc.) non avverrà in maniera diretta, sarà il server del provider VPN (del quale dobbiamo avere fiducia, s’intende) a fare da tramite fra l’utente e il server di destinazione. Il computer dell’utente e il server VPN comunicheranno attraverso un tunnel interamente cifrato: in tal modo nessun malintenzionato eavesdropper (nella rete dell’albergo o nelle vicinanze se ci sta collegando in wi-fi) potrà interpretare il traffico generato.

Posted in Senza categoria | Leave a comment

Raspberry - RFID


Norman Rockwell

Per verificare le ulteriori grandi possibilità di un Raspberry si può collegare ad esso un lettore e scrivere su un badge con il componente RFID 522.

RFID-RC522 è un modulo di lettura di tag RFID. A bassa tensione, a basso costo, la piccola dimensione del chip della carta contact-less lo rendono la scelta migliore per i sistemi di identificazione radio.

 RC522 usa tecnologie avanzate di modulazione e demodulazione completamente integrate in tutti i tipi di metodi di comunicazione senza contatto passivo a 13,56 MHz.

Compatibile con i trasponder 14443A. La parte digitale consente di gestire i frames ISO14443A e la rilevazione degli errori, supporta inoltre l'algoritmo di cifratura rapida CRYPTO1. MFRC522 è compatibile con la serie MIFARE contact-less ad alta velocità, a due vie, con velocità di trasmissione dati fino a 424kbit/s.

Per prima cosa bisogna collegarlo con il Raspberry con il seguente ordine:

  • SDA connects to Pin 24.
  • SCK connects to Pin 23.
  • MOSI connects to Pin 19.
  • MISO connects to Pin 21.
  • GND connects to Pin 6.
  • RST connects to Pin 22.
  • 3.3v connects to Pin 1.

Adesso bisogna attivare l'interfaccia SPI del Raspberry. Se si vogliono approfondimenti sul tipo di interfaccia consiglio il seguente articolo approfondimenti SPI.

Come root:

raspi-config

Selezionare il punto 5 Interfacing Options e quindi P4 SPI.

Effettuare il reboot del Raspberry.

Quindi come root

apt-get install python2.7-dev python-pip git

successivamente dare il comando

pip install spidev

quindi

pip install mfrc522

creare la libreria in cui inserirò i miei applicativi Python

mkdir ~/pi-rfid

adesso creare il file Write.py

che conterrà:

#!/usr/bin/env python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
        text = raw_input('New data:')
        print("Now place your tag to write")
        reader.write(text)
        print("Written")
finally:
        GPIO.cleanup()

Per eseguire il file è sufficiente digitare:

python Write.py

Per leggere RFID si crea il file Read.py contenente le seguenti righe di codice:

#!/usr/bin/env python

import RPi.GPIO as GPIO
from mfrc522 import SimpleMFRC522

reader = SimpleMFRC522()

try:
        id, text = reader.read()
        print(id)
        print(text)
finally:
        GPIO.cleanup()

e si eseguirà con il comando:

python Read.py

Posted in Senza categoria | Leave a comment

Raspberry - collegamento da remoto - SSH - VNC su Notebook - Android

Per utilizzare un Raspberry è necessario avere una tastiera, un mouse, uno schermo; le periferiche occuperanno più spazio del Raspberry stesso.

I dispostivi esterni sono indispensabili alla prima installazione, tutte le volte successive è sufficiente collegarsi in due maniere:

  • tramite una connessione ssh
  • tramite un server VNC

Connessione SSH: Secure shell

Tale metodo permetterà il controllo solo della console e non la parte grafica

Si deve verificare che sul Raspberry sia attivo il servizio con il comando

service ssh status

se non dovesse essere installato basta dare, come root, il comando:

apt-get install openssh-server

al termine dell'installazione si farà partire il servizio:

service ssh start

Creare un utente con il comando

adduser nomeutente

Per far sì che il servizio ssh si attivi in fase d'avvio usare il comando:

update-rc.d ssh enable

Quindi usare o la PowerShell presente su Windows o sulla shell linux digitare ssh ip del Raspberry.

ssh ipraspeberry -l nomeutente

server VNC Virtual Network Computing

Attraverso tale metodo si avrà il controllo anche grafico del Raspberry ossia come se si operasse direttamente usando un monitor.

Come root dare il comando:


apt-get install realvnc-vnc-server realvnc-vnc-viewer


raspi-config

si aprirà la console di comandi, attraverso al quale, all'interno del menù

Interfacing Options.

si potrà impostare:

VNC > Yes

Sul lato client si dovrà installare:

VNC Viewer

che può essere scaricato on line

Vnc Viewer

Si dovrà impostare l'IP associato al Raspberry e da un qualunque PC, notebook si potrà operare sul Rasperry

Esiste l'app scaricabile da googl play con l nome di

VNC Viewer che permetterà il controllo da Android del Raspberry.

Posted in Senza categoria | 1 Comment

GPOI - Le metriche del software - Fase 4 - Classificazione dei componenti

Il processo elementare è la più piccola unità di attività che è significativa per l'utente, deve essere autonomo e lasciare l'applicazione in uno stato di coerenza funzionale

EI: acquisire, inserire, aggiungere, inviare da parte dell'utente , impostare, importare, popolare, assegnare, pianificare, schedulare, cancellare, eliminare, modificare, aggiornare, alterare, accettare, variare, rivedere, controllare, validare, memorizzare, mantenere;

EO: calcolare, contabilizzare, fornire, stampare, visualizzare, produrre, trasmettere, esportare, inviare da parte del computer, presentare, pubblicare;

EQ: fornire, stampare, visualizzare, produrre, trasmettere, esportare, inviare da parte del computer, presentare, pubblicare, interrogare, ricercare, decodificare, leggere, accedere, listare.

Possibili azioni incluse nel trattamento logicoEIEOEQ
1. Eseguire validazionippp
2. Eseguire formule matematiche e calcolopo*v
3. Convertire valori equivalentippp
4. Filtrare e selezionare dati utilizzando criteri specificippp
5. analizzare condizioni per determinare quali siano applicabilippp
6. aggiornare uno o più ILFo*/ipo*v
7. referenziare uno o più ILF ed EIFppo
8. reperire dati o informazioni di controlloppo
9. creare dati derivatipo*v
10.alterare il comportamento del sistemao*/ipo*v
11. preparare o presentare informazioni all'esterno del confinepo/ipo/ip
12. accettare dati o informazioni di controllo che entrano nel confine dell'applicazioneopp
13. ordinare o riorganizzare i datippp

ip=intento primario

p= possibile

o=obbligatorio

o*= obbligatorio almeno uno

v= vietato

Un dato derivato ad esempio potrebbe essere la definizione di un oggetto che ridefinisce il tipo di dato standard ad esempio

type vettore = v[10]

Si possono individuare i descrittori che ci permettono di individuare l'intenti primari per ogni descrittore.

Ad esempio EO deve:

eseguire calcoli, mantenere uno o più ILF, creare dati derivati, modificare il comportamento del sistema quando esegue l'intento principale di presentare informazioni all'utente.

E' preferibile iniziare dalla raccolta "dei dati sulle transazioni" e da essi ricavare i file necessari affinché esse vengano eseguite in modo da non trascurare nessun EIF o EIF: quindi si procede con al classificazione dei componenti in EI, EO ed EQ.

Esempio:

Si usa il seguente programma che effettua la gestione dei dati anagrafici, così composto:

  1. schermata (Cognome, Nome, Luogo di Nascita, Data di nascita, CF)
  2. funzioni realizzate: inserimento, modifica, cancella: tutti i dati possono essere inseriti, modificati e cancellati dall'utente
  3. 1 file per la memorizzazione dei dati
  4. 1 query per la ricerca degli elementi in una tabella
  5. 1 prospetto di stampa si cui son presenti i dati della schermata e l'età media degli individui censiti nell'anagrafe

Il conteggio dei FP è il seguente:

EI -->3 funzioni elementari di input: inserisci, modifica, cancella

EO-->1 funzione di output: stampa prospetto

EQ-->1 funzione di query: scroll, visulaizza dati anagrafici

ILF--> 1 file interno: dati anagrafici

ELF--> nessun file d'interfaccia esterno

Si utilizza poi un foglio di calcolo per valutare la complessità del progetto:

Per completare il calcolo è necessario effettuare la classificazione dei componenti in base alla loro complessità

Posted in Senza categoria | Leave a comment

GPOI - Le metriche del software - Fase 3 - Transactional Function types

Le tre funzioni riguardano le iterazioni uomo/applicazione e cioè:

EI --> external Inputs: è l'input dei dati effettuato dall'utente, cioè la funzione elementare che acquisisce ed elabora un dato esterno all'applicazione che, oltre alla digitazione, può anche arrivare ad un'altra applicazione

EO --> External Outputs: coincide con l'output di dati esterno all'applicazione, sia mediante la generazine di report, sia mediante la creazione di file

EQ --> External Inquire: processi elementari query composti da un input ed un output finalizzati al reperimento da file.

Posted in Senza categoria | Leave a comment

GPOI - Le metriche del software - Fase 3 - Data Function Types

I due elementi riferiti ai dati sono identificati con la sigla:

ILF --> Internal Logical File

EIF --> External Interface File

Sono gli archivi dell'applicazione dove ILF sono i file che possono essere modificati, EIF sono i file read only.

Esempio:

ILF in un'applicazione gestionale possono chiamarsi Anagrafica Cliente o Anagrafica fornitori

ILF ed ELF non sono singoli archivi, ma aggregati di archivi che servono per l stessa funzionalità.

Gli ELF e ILF sono analizzati dal punto di vista logico e sono composti da un'aggregazione di RET (Record Element Types) dove un RET è un gruppo di dati significativi per l'utente finale dell'applicazione, che in un database relazionale normalizzato corrisponde alla tabella. I RET, al loro volta sono composti da unità elementari chamati DET (Data Element Types) che corrispondono a singoli campi e sono formati da dati semplici (numero, alfabetico, data, etc..)

Quindi prima di procedere con la definizione degli ILF e EIF il database deve essere normalizzato.

Posted in Senza categoria | Leave a comment

GPOI - Le metriche del software - Metodo Standard IFPUG

Tale metodo viene descritto nel manuale Function Points Counting Practices Manual.

Vi è uno schema composto da 7 fasi in ordine cronologico

  • Pianificazione dei conteggi dei Punti Funzione e tipo di conteggio
  • Raccolta della documentazione
  • Inventario delle Funzioni e calcolo FP non pesati
  • classificazione dei componenti
  • Analisi delle 14 caratteristiche Generali del Sistema (GSC) e determinazione del fattore di aggiustamento (VAF).
  • Tabulazione dei risultati
  • Convalida dei risultati

Fase 1 - Pianificazione dei conteggi dei Punti Funzione e tipo di conteggio

Quando si pianifica un progetto deve essere presente un'attività per il calcolo delle FP. Tale calcolo deve essere tenuto aggiornato nell'avanzare del progetto e opportunamente documentato.

Fase 2 - Raccolta della documentazione

Prima dei requisiti per un progetto SI DEVE effettuare il conteggio degli FP attraverso la seguente documentazione:

  • esigenze oggettive percepite dagli utenti
  • del sistema attualmente funzionante o del nuovo progetto
  • della struttura complessiva del sistema da realizzare
  • su ogni obiettivo primario del progetto
  • su ogni altra documentazione del progetto stesso

Fase 3 - Inventario delle operazioni e calcolo FP non pesati

Il calcolo dei FB si basa sulla somma di cinque componenti o "funzioni logiche" che possono essere classificate in:

Funzioni Dati (data Function types)

  • ILF - Internal Logical File
  • EIF - External Interface File

Funzioni transazionali (transactional Function types):

  • EI - External Inputs
  • EO - External Outputs
  • EQ - External Inquiri

FP non pesati vengono anche detti: UPF Unadjusted FP

FP=UPF\cdot VAF

Posted in Senza categoria | Leave a comment