Access control matrix and list

Simple exam question in information security could be writing a access control matrix.
Access control matrix is the most simplest Access control representation model. It is useful abstraction, but not very useful beyond that.

Very common exam question could be demonstrating file/folder permissions of users and groups in a access control matrix.

Example output of an ls -l command in terminal:

-rw-r----- pekka guard 123123 10 Jan 20:23 inmates.txt
-rw----r-- teppo inmate 1213 11 Dec 20:23 diary.txt
-rw-rw-r-- jukka guard 20328 09 Feb 11:00 announcements.txt

With this kind of a terminal output the Access control matrix would look like:

pekka teppo jukka
inmates.txt read, write read
diary.txt read read, write read
announcements.txt read, write read read, write

Access control list (ACL)

The same matrix representation of permissions could be turned into a access control list. Simply put, access control list contains list of object access rights.

By using the same terminal data as above lets make a access control list. The access control lists can be displayed in various format, as long as it is displayed as a list.

  • inmates.txt:
    • pekka: read, write
    • teppo: –
    • jukka: read
  • diary.txt:
    • pekka: read
    • teppo: read, write
    • jukka: read
  • announcements.txt:
    • pekka: read, write
    • teppo: read
    • jukka: read, write

These posts are done in a purpose of being my personal notes for Information Security course exam. Might contain some inaccurate information.

Java appletit

Jdk-kit asennus

Java kitin asennus tapahtuu linuxin terminaalista seuraavasti:
Ennen pakettien lataamista, päivitä pakettilista komennolla:
$ sudo apt-get update

Asenna javakit:

$ sudo apt-get install openjdk-7-jdk

Koska minulla oli jo javakit asennettuna asensin Eclipsen (joka asentaa jdk-kitin toimiakseen), jolla on
mukavaa väsäillä javan parissa:

$sudo apt-get install eclipse

Eclipse on helpompi valinta, jos haluaa tehdä javalla appletteja, sillä
toisin kuin esimerkiksi netbeansissa, voit ajaa appletit suoraan run as
java applet.

Hei maailma appletilla:

Eclipsellä on helppo kokeilla appletteja. Ensin luodaan uusi javaprojekti, johon tehdään uusi java luokka (new java project -> new Class).
Seuraava koodi eclipseen:


import java.applet.Applet;
import java.awt.Graphics;

public class Apletti extends Applet {
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25); // draws "String" to x - y coordinates
}
}

Sitten vain yläpalkista run as applet (shift+alt+X A)

Appletti aukeaa ruudun yläkulmaan:

applet

Päädyin lopulta tekemään henkilötunnuksen tarkistajan. Appletti kysyy käyttäjän henkilötunnusta ja tarkistaa onko se normaalimuodossa. Tarkistus tapahtuu regular expressionin avulla. Jos käyttäjä on syöttänyt henkilötunnuksen oikein, ohjelma toteaa sen olevan kelvollinen tunnus:


import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class HenkiloTunnus extends Applet implements ActionListener {
Button nappi;
TextField laatikko;
Label teksti1, teksti2;

public void init() {
setSize(400,250);
teksti1 = new Label("Kirjoita henkilötunnuksesi: ");
teksti2 = new Label("Tarkastuksen tulos:");
add(teksti1);
add(laatikko = new TextField(24));
add(nappi = new Button("Tarkista"));
add(teksti2);
nappi.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
String hetu = laatikko.getText();

if (hetu.matches("\\d{6}[A+-]\\d{3}[A-Z0-9]") == true) {
teksti2.setText("Annoit kelpaavan henkilötunnuksen");
}else{
teksti2.setText("Annoit kelpaamattoman henkliötunnuksen");
}
}

}

Hyviä java linkkejä:

http://docs.oracle.com/
Kasapäin documentaatiota ja manuaalia!
Oraclen nettisivuilta ladattavissa myös viralliset javaversiot.

http://javatester.org/version.html
Testaa onko selaimessasi java käytössä. Kertoo myös javan version.

C++ toimimaan terminaalissa

Asennus

Terminaalissa c++ toimimiseen tarvitaan Linux/Unix ympäristössä GCC-kääntäjää. Asennus terminaalista:

$ sudo apt-get install g++

Testaus
Asennuksen jälkeen voidaan valittuun hakemistoon luoda ohjelma. C++ tiedoston pääte on cpp. Seuraavaksi luodaan ”Hei Maailma”-ohjelma. Tiedoston voi luoda haluamallaan tekstieditorilla. Itse käytin nanoa:

$ nano heimaailma.cpp

Tekstieditoriin kirjoitetaan:

#include
using namespace std;
int main()
{
cout << "Hei Maailma!" ;
}

Tekstieditori tallennetaan ja suljetaan (ctrl + x). Seuraavaksi tiedostosta tehdään ohjelma:

$ g++ heimaailma.cpp

Tämä luo kansioon tiedoston nimeltä a.out. Tiedosto on sinun luomasi c++ -ohjelman ja se voidaan ajaa:

$ ./a.out

Jos kaikki meni oikein terminaali tulostaa: Hei Maailma!.
Tiedosto kannattaa kuitenkin nimetä omalla nimellä. Suosittelen tätä tehtävän kun cpp-tiedosto on luotu tekstieditorilla:

$ g++ heimaailma.cpp -o omanimi

Tiedoston voi ajaa samalla lailla:

$ ./omanimi

Thats it!

Xampp ympäristön asennus

XAMPP ympäristön asennus.

Käyttämäni järjestelmä xubuntu 12.04 32-bit versio.

XAMPP ohjelmisto löytyy osoitteesta sourceforge.net/projects/xampp/ , josta voi ohjelmiston ladata painamalla download painiketta. Download painikkeesta sivusto lataa automaattisesti sinulle uusimman toimivan version. Tämänhetkinen versio on xampp-1.8.1 (linux).

XAMPP asennus aloitetaan purkamalla pakattu tiedosto opt kansioon. Puran sen terminaalin kautta, sillä näin voin käyttää super-user oikeuksia. Purku on tehtävä käyttäjän ollessa samassa kansiossa tiedoston kanssa. Pakettini sijaitsee Downloads kansiossa (cd /home/username/Downloads/).

Paketin purku:


$sudo tar xvfz xampp-linux-1.8.1.tar.gz -C /opt

Avaan ohjelman komennolla:

$sudo /opt/lampp/lampp start

Sulkeminen:

$sudo /opt/lampp/lampp stop

Kun xampp on käynnissä voit tarkistaa sen toiminnan localhostista:

http://localhost

Jos ympäristö toimii oikein, tulisi localhostilla selaimessa xamppin aloitusruutu.

Heti xamppia käyttäessä kannattaa muuttaa salasanat ympäristölle. Tämä tapahtuu terminaalista komennolla:

$sudo /opt/lampp/lampp security