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.

How to check and read your file permissions

Check your permission
For seeing what permissions the file contains, type to the terminal:

    $ ls -l the_file
    $ -rw-r--r-- 1 Iiro GroupName  123234 Nov 3 13:56 the_file

From here we see that owner of ”the_file” is Iiro,
the user has read and write permissions (-rw-r--r--),
”the_file” is owned by group ”GroupName”,
the group has read permission (-rw-r--r--),
Other users can read the file (-rw-r--r--).

Jatka lukemista ”How to check and read your file permissions”

How to return to desktop from full screen console (tty)


This can happen time to time for newbie linux user: the screen goes black and you are left alone with only a terminal to work with. It happens if yout press the combination of ctrl+alt+(F1-F12). This opens other tty other known as terminal / console. Usually your desktop GUI is running in tty7. F7 is the default for desktop GUI in ubuntu based distros.

To return to your comfortable desktop interface simply use:
ctrl-alt-F7

This works in ubuntu based linux distros.

If you have logged in to console you can log out by simply with $ exit command.

You can read more about the linux shortcuts from:
http://linux.about.com/od/linux101/l/blnewbie5_1.htm

Hope this helps!

MID Android-laite toimimaan

Taistelin jonkin aikaa, että saisin kiinalaisen MID laitteen toimimaan linuxissani. Käytin Xubuntu-13.04 käyttöjärjestelmää. Tehtävä vaatii android sdk:n asennettuna tietokoneelle.
Katso tarkemmat ohjeet täältä.

Liittäminen

1. Laitteessa pitää olla aktivoituna usb debugging. Asetukset -> Usb debugging.
2. Liitä android tietokoneeseesi.

Usb Vendor ID

Jotta linux tunnistaa laitteesi on sinun saatava tietää sen usb id.

3. Avaa terminaali ja komento $lsusb
Terminaali-ikkuna näyttää kutakuinkin tältä:

$lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 18d1:0003 Google Inc.

Löydä laitteesi, minulla kiinanihme näytti olevan Google Incin.
Kopioi ID:n alkuosa (ennen kaksoispistettä).

4. Mene kansioon /etc/udev/rules.d
Luo sinne superuserina tiedosto 51-android.rules ja kirjoita sinne:

SUBSYSTEM==”usb”, ATTR{idVendor}==”18d1″, MODE=”0666″, GROUP=”plugdev”

Id vendorin kohdalle kirjoitat oman laitteesi id:n. Pitäisi löytyä komennolla lsusb (kohta 1).

Tee komento:
$chmod a+r /etc/udev/rules.d/51-android.rules

Ota laite irti tietokoneesta ja laita se uudelleen kiinni.

5. Tämän jälkeen pitäisi laite olla tunnistettu.
$cd android-sdk/platform-tools
$./adb devices

Jos laite ei näy adb devices komennon jälkeen kannattaa yrittää vielä sama rumba uudelleen. Minun täytyi jostain syystä kokeilla muutamaan otteeseen kaikki uudelleen.

Tämän jälkeen voit vaikka käynnistää eclipsestä ohjelmasi omalle laitteellesi.

Lähteet
http://www.hipatic.com/2012/08/chinese-android-debugging-how-to-use.html
http://developer.android.com/tools/device.html

Mobiilituotekehitys

Seuraavaksi bloggaan mobiilituotekehitys-kurssin ihmeellisestä maailmasta. Luultavasti kaikki tulevat postaukset tulevat liittymään tähän kurssiin, eli etätehtäväpalautuksia ja muita kuulumisia tulossa! Mobiilituotekehityksessä aiomme kehittää oman android sovelluksen. Sovellus pystytään myös tekemään muille alustoille, mutta luultavasti aloitan androidista. Teemme sovelluksen Html:llä ja javascriptillä.

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

Python: Milloin kuolet? -laskuri

Tehtävään käytetyn tietokoneen tiedot löytyvät täältä.

Laskurin teko

Taustaa:

Googletin suomalaisen naisen ja miehen elinajanodotteen ja laskin keskiarvon (n.80v)

Aloitin luomalla tiedoston puuton.py kansioon koodit.

Python -ohjelmani yksinkertaisuudessaan miinustaa elinajanodotteesta(80v) sinun ikäsi. Lopullinen koodi näyttää tältä:

#!/usr/bin/python

name=raw_input(”Name:”)
age=int(raw_input(”Age:”))

expectancy=80-age

if expectancy <= 0:
print(”God DAMN %s, DIE ALREADY!”)% (name)

else:
print(”Hello %s! You are %s-years old. You will die approximately in %s-years from now.”) % (name, age, expectancy)

Kohta name=raw_input(”Name:”)
age=int(raw_input(”Age:”)) ottaa käyttäjältä tiedot (nimi ja ikä.

Kohta expectancy=80-age laskee oman elinajanodotteesi käyttämällä age kohdassa ottamiaan arvoja

Jos käyttäjän ikä on sama tai yli 80, ohjelma ystävällisesti muistuttaa käyttäjäänsä vaipumaan mullan alle: if expectancy <= 0:
print(”God DAMN %s, DIE ALREADY!”)% (name)

Jos käyttäjä on alle 80 -vuotias, laskee ohjelma else kohdassa käyttäjän eliniänodotteen verrattaessa suomalaisen keski-ikään.

Lähteet:

http://python.about.com/od/gettingstarted/u/Basic-Python.htm

http://anh.cs.luc.edu/python/hands-on/3.1/handsonHtml/ifstatements.html

Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.htmla

”Hei maailma!” -kolmella eri ohjelmointikielellä

Tehtävään käytetyn tietokoneen tiedot löytyvät täältä.

Ennen pakettien lataamista, päivitin pakettilistan komennolla:
$ sudo apt-get update

Java
Päätin tehdä ensimmäiseksi hei maailman javalla:
sudo apt-get install openjdk-7-jdk

Tein kotihakemistooni kansion koodit ja sinne tiedoston HelloWorld.java. Tiedostoon kirjoitin:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hei, maailma!");
    }

}

Käänsin sen komennolla:

$ javac HelloWorld.java

Ajoin:

$ java HelloWorld

Joka tulosti:

Hei, Maailma!

Python

Python löytyi vakiona linuxista.

Loin tiedoston kansioon koodit, nimellä pyyttonhei.py ja kirjoitin tiedostoon:

print(”Hei, maailma!”)

Ajoin ohjelman komennolla python puuttonhei.py ja komentokehote tulosti

Hei, Maailma!

Ruby

Viimeiseksi päädyin ruby nimiseen kieleen. Ansensin ohjelman:

sudo apt-get install ruby

Loin koodit kansioon tiedoston heiW.rb ($ nano heiW.rb)

Kirjoitin tiedostoon:

puts ‘Hello world’

Ajoin tiedoston:

ruby helloruby.rb

Profit:

Hei, Maailma!

Lähteet:

 http://en.wikibooks.org/wiki/Ruby_Programming/Hello_world

http://python.about.com/

http://introcs.cs.princeton.edu/java/11hello/HelloWorld.java.html

Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen

Tätä dokumenttia saa ko pioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Openssh asennus ja yhteys myy palvelimelle

Openssh asennus

Tehtävään käytetyn tietokoneen tiedot löytyvät täältä.

19.30

Päivitän pakettilistan komennolla

sudo apt-get update

Etsin openssh tiedostoja komennolla:

sudo apt-cache search openssh

Listalta löytyy openssh-server, jonka kuvauksena lukee secure access from remote machines .

19.40

Asennan demonin openssh-server:

sudo apt-get install openssh-server

Yhteys myy -palvelimelle

19.50

Tämän jälkeen otan yhteyden myy -palvelimelleni:

ssh käyttäjänimi@myy.haaga-helia.fi

Tämän jälkeen komentokehotteeseen tulee viesti:

The authenticity of host ’myy.haaga-helia.fi (193.166.9.27)’ can’t be established.

RSA key fingerprint is bb:15:70:cd:5f:85:f0:67:25:01:f2:b4:6a:79:41:20.

Are you sure you want to continue connecting (yes/no)?

Tähän vastaan kyllä (yes), sillä luotan haaga-helian myy -palvelimeen. Jonka jälkeen tulee tämä huomautus:

Warning: Permanently added ’myy.haaga-helia.fi,193.166.9.27’ (RSA) to the list of known hosts.

Komentokehote siis kertoo, että luotan kyseiseen palvelimeen.

Tämän jälkeen kirjoitan vain salasanani ja pääsen sisäään myy palvelimelleni.

20.05

Suljen yhteyden komennolla exit.

Lähteet:

Openssh: http://www.openssh.org/

Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

-Iiro Nurmi