Linux Palvelimet – tehtävä 6

Tämä on Linux palvelimet -kurssin viimeinen harjoitus. Tehtävänä on kirjoittaa ja suorittaa “Hei Maailma” kolmella eri kielellä.

Valitsin eri kieliksi PHP:n, Javan ja Pythonin. Aloitin PHP:llä

Ensin päivitin paketit komennolla $ sudo apt-get update, jonka jälkeen asensin php:lle ympäristön komennolla $ sudo apt-get install php7.0-cli tarkistin vielä asentamani version $ php -v ja totesin, että kaikki on kunnossaphp

Avasin nano editoriin heimaailma.php komennolla $ nano heimaailma.php ja kirjoitin sinne php scriptin ja tallensin sen Ctrl X +Y + Enter

phpscript

Tämän jälkeen ajoin ohjelman komennolla $ php heimaailma.php ja ohjelman ajo onnistui hyvin!

phphei

 

Toisena kielenä siis Java. Asensin Javalle tarvittavan alustan komennolla $ sudo apt-get -y install default-jdk

Kun ympäristö oli valmis, loin java-ohjelman heimaailma.java komennolla $ nano Heimaailma.java

Näin sain auki editorin, jonne kirjoitin seuraavan ohjelman

java

Ctrl X  + Y + Enter ja ohjelma oli tallennettu.  Sen jälkeen käänsin ohjelman komennolla $ javac Heimaailma.java

Kun ohjelma oli käännetty onnistuneesti, ajoin ohjelman komennolla $ java Heimaailma

Ohjelma toimi moitteetta

heimaailmaJava

 

PHP:n ja Javan jälkeen oli vielä vuorossa Python.

Aloitin tarkistamalla onko Python asennettuna komennolla $ python -V, minulla näytti olevan Python 2.7.12. Päätin toteuttaa ohjelman tällä versiolla.

Loin ohjelman komennolla $ nano heimaailma.py ja kirjoitin editoriin

python

Tämän jälkeen oli enää ohjelman ajo jäljellä, ajoin ohjelman komennolla $python heimaailma.py

pythonReady

Lähteet:

Tero Karvinen http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

Running a Java Program from Command Prompt http://www.skylit.com/javamethods/faqs/javaindos.html

 

 

Advertisements

Linux Palvelimet – tehtävä 5

Tehtävänanto

Messuraportti. Kirjoita arvioiva kuvaus kolmesta tuotteesta tai esityksestä. Muista myös arvioida ja vertailla – ei pelkästään toistaa mainoslauseita. Käytä arvioidessa kaikkia aiempia, esimerkiksi töissä ja kursseilla oppimiasi tietoja. Tässä muutama kysymys, joista voi olla apua kirjoittessa (mutta joihin vastaaminen ei vielä riitä vastaukseksi). Minkä ongelman tuote ratkaisee Mitä tuote maksaa (esim. halvin aloitus vs tyypillinen käyttötapaus, ensimmäisen vuoden hinta)? Millä tekniikoilla tuote on toteutettu (tietokannat, ohjelmointikielet, käyttöjärjestelmät, palvelimet, protokollat…)? Tärkeimmät kilpailijat? Kilpaileeko jokin vapaa ohjelmisto tämän kanssa (vai onko tämä jo valmiiksi vapaa ohjelma)? Mitä ajatuksia tuote tai palvelu herättää? Millainen yritys on tuotteen taustalla? Ota blogiisi myös artikkeliasi tukevia kuvia.

Ratkaisu:

Tehtävänä oli sii vierailla Cyber Security messuilla ja tutustua kolmeen eri tuotteeseen. Messuilla oli samaan aikaan seitsemän eri osastoa, Kiinteistö, FinnSec, AVITA Audiovisual Expo, Cyber Security Nordic, Ahlsell Expo, ViherTek-teema-alue ja Väri ja Pinta -teema-alue. Me keskityimme näistä Cyber Security alueeseen. Vierailin messuilla tiistina 26.9.2017. Saavuin messuille noin kelo 15.45. Ajankohta ei ollut mikään paras mahdollinen, sillä messut sulkeutuivat siltä päivää jo klo 17. Tämän takia osa osastoista oli jo sulkeutunut ja muutenkin näytti siltä, että messut olivat sulkeutumassa. Valitsin kuitenkin kolme osastoa, joihin tutustuin tarkemmin. Nämä olivat Granite, F-secure ja Fujitsu.

Granite mainostaa, että he vie riskienhallinnan käytännön teoksi. He panostavat riskienhhallintaan, kyberturvallisuuteen ja tietosuojan hallintaan sekä työturvallisuuteen. Granite tarjoaa kokonaisvaltaista riskienhallintaa hintaan alkaen 48€/kk. Kokonnaisvaltaisella riskienhallinnalla he tarkoittavat riskien tunnistamista, arviointia ja hallintatoimenpiteiden seurantaa. Heillä on käytössä yksinkertainen käyttöliittymä, joka mahdollistaa muun muassa valmiit kuvaukset riskialueista. Muita palvelun ominaisuuksia on:

  • pilvipalvelu
  • automaattinen riskirekisteri, joka ohjaa vastuutusta ja helpottaa seurantaa
  • räätälöitävä riskimalli yrityksen oman ilmeen mukaan
  • tietoturvallinen alusta ja jatkuva tuotekehitys
  • suoraviiivainen ja käytännönläheinen käyttöliittymä
  • responsiivinen palvelualusta, joka mahdollistaa hallintatoimet sujuvasti

F-secure puolestaan mainostaa olevansa kyberturvallisuuden kärki nimi, he sanovat ettei kukaan tunne kyberturvallisuutta yhtä hyvin kuin he. F-secure suojaa päätelaitteet ja tunnistaa tietoturvauhat vankalla kokemuksella jo kolmenkymmenen vuoden takaa. F-securen edistynyt teknologia yhdistää tietoturvalaboratorion asiantuntemuksen ja koneoppimisen yhdeksi kokonaisuudeksi, Live Security.

Fujitsulla oli mielestäni mielenkiintoista asiaa, nimittäin tekoäly eli Al (Artificial Intelligence). Heidän mukaan tekoäly näkyy myös kyberturvallisuuden osaalueilla. Tekoälyä käytetään muun muossa luottokorttihuijausten selvittelemisessä ja turvallisuuden valvonnassa esimerkiksi valvontakameroiden dataa hyödyntämällä. Tekoäly on nyt kehittymässä kovaa vauhtia, sen avulla pyritään täydentämään ihmisten havainnointikykyä. Samalla kun esimerkiksi epäilyttävä käyttäytyminen erilaisissa tietojärjestelmissä tunnistetaan, nousee myös turvataso esimerkiksi vahvan tunnistautumisen tai tehostetun valvonnan avulla.  Tekoälyllä on kuitenkin huonokin puoli, sillä siinä missä sitä voidaan hyödyntää kyberturvallisuudessa, sitä voidaan yhtä lailla käyttää hyväksi hyökkäyksissä. Toisin sanoen tekoäly vastaan tekoäly. Tekoäly ei siis poista kyberrikollisuutta, väärinkäyttöä, teollisuusvakoilua taikka kybersodankäyntiä. Tekoälyalgoritmit ovat Fujitsun mukaan uutta kultaa.  Kuinka luotettavaa tekoäly sitten on, joudutaan miettimään kuinka sokeasti tekoälyn tekemiin päätöksiin voidaan luotta. Itse ei voida tarkastaa suuria datamääriä, tietyillä aloilla datan luotettavuus voi jopa olla elintärkeää, esimerkiksi hoitoaloilla. Fujitsu on kehittänyt Deep Tensor Al:n ja graafisen esitysmuodon yhdistävän ratkaisun, jonka avulla voi asiantuntijat päästä näkemään mihin tekoälyn tekemät ratkaisut ja päätökset perustuvat.

Kokonaisuudessaan messut olivat minulle vähän pettymys, sillä en saanut sieltä kovin paljoa irti. Tämä johtui osittain varmasti siitä, että vierailu-ajankohtani ei ollut kaikkein paras, mutta en päässyt lähtemään töistä aiemmin. Tämän vuoksi jouduin tätä raporttia kirjoittaessa turvautumaan yritysten verkkosivuihin, tutustuakseni paremmin heidän tuotteisiinsa.

 

Lähteet:

Granite https://www.granite.fi/

F-secure https://www.f-secure.com/fi_FI/web/landing/f-secure

Fujitsu http://www.fujitsu.com/fi/services/security/

Cyper Security 2017 http://cybersecuritynordic.messukeskus.com/

Linux Palvelimet -tehtävä 4

Tehtävänanto:

r) Kokeile julkista virtuaalipalvelinta (VPS). Voit vuokrata palvelimen esimerkiksi Linodelta, Amazonilta, DigitalOceanilta, OVH:lta tai monista muista paikoista. Edullisinta on käyttää GitHub Education -paketista DigitalOceanin palveluita.

Vaihtoehto: jos et jostain syystä halua vuokrata virtuaalipalvelinta, voit kokeilla tehdä testipalvelimen vagrantilla, mutta tämä ei ole yhtä jännittävää.

x) Laita julkinen domain-nimi osoittamaan koneeseesi. NameCheap ja Gandi ovat tunnettuja nimien vuokraajia. GitHub Education -paketista saa NameCheapilta .me domainin ilmaiseksi vuodeksi.

s) Laita julkiselle palvelimellesi käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna.

y) Etsi julkisen palvelimesi lokeista esimerkkejä murtautumisyrityksistä. Voit etsiä lisätietoa IP-osoitteista ottamatta niihin yhteyttä esimerkiksi komennoilla geoiplookup tai whois.

Vapaaehtoisia lisätehtäviä:

v) Laita monta DNS-nimeä samaan IP-osoitteeseen. Apache Name Based Virtual Hosting.t) Asenna WordPress. Se on maailman suosituin sisällönhallintajärjestelmä (CMS). Samalla opit asentamaan kolmannen osapuolen valmiita PHP-ohjelmia. WordPress kannattaa asentaa wordpress.org:sta löytyvästä tervapallosta (.tar.gz).

u) Kokeile WordPressia kirjoittamalla esimerkkisisältöä.

WordPress vapaaehtoisia:

c) Ota järkevät URLit (permalinks) käyttöön
d) Vaihda teema
e) Varmuuskopioi sisältö
f) Palauta varmuuskopioitu sisältö puhtaaseen WordPress-asennukseen
g) Tee WordPressiin oma teema
h) Asenna WordPressiin plugin (esim Dofollow)
i) Tee WordPressiin oma plugin
j) Lisää kuvia WordPressiin (ja laita tämä toimimaan)
k) Laita WordPress nimipohjaiseen virtuaalipalvelimeen (http://thello.foo tms)

Muita vapaaehtoisia:

l) Asenna Drupal ja kokeile sitä
m) Asenna Joomla ja kokeile sitä
n) Hanki virallinen, selainten hyväksymä TLS-sertifikaatti Let’s Encryptistä
o) Vaikea: Tee esimerkkisivu Python Flaskilla
p) Vaikea: Tee esimerkkisivu Ruby on Rails (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)
q) Vaikea: Tee esimerkkisivu Python Django:lla (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)

 

Ratkaisut:

r) Virtual palvelimen vuokraus

Valitsin virtual palvelimen vuokrauksen Digital oceanilta. Se oli luonnollinen ratkaisu, sillä omistin jo valmiiksi GitHub tilin, joten minun täytyi vain aktivoida Student developer pack ja sain vuokrattua ilmaiseksi palvelimen.

Sitten asiaan! Aloitin kirjautumalla root tunnuksilla palvelimelleni.

$ ssh root@ip-osoite

Kirjauduin ensin sähköpostiin saamallani salasanalla, jonka jälkeen loin itselleni uuden vahvan salasanan.

Sen jälkeen sallin SSH -yhteydet ja käynnistin palomuurin

$ sudo ufw allow 22/tcp
$ sudo ufw enable

Sitten loin uuden käyttäjän ja lisäsin sen kolmeen ryhmään:

$ sudo adduser mp
$ sudo adduser mp sudo
$ sudo adduser mp adm
$ sudo adduser mp admin

Otin yhteyden luomallani käyttäjätunnusella, jonka jälkeen suljin root tilin

$ sudo usermod –lock root

ja estin ssh:n avaamisen

$ sudoedit /etc/ssh/sshd_config

# …
PermitRootLogin no
# …

Jonka jälkeen käynnistin SSH:n uudelleen

$ sudo service ssh restart

Tämän jälkeen päivitin paketit

$ sudo apt-get update
$ sudo apt-get upgrade

Pakettien päivitysten jälkeen tein vielä aukon palomuuriin $ sudo ufw allow 80/tcp, jonka jälkeen virtuaali palvelin oli valmis käytettäväksi.

IMG_20170926_225835.jpg

s) Apachen oletussivu

Ensin asensin apachen $ sudo apt-get -y install apache2

tämän jälkeen kokeilin toimiiko ja siellähän se apachen aloitussivu näkyi.

Sitten loin uuden hostin sivulle

$ sudoedit /etc/apache2/sites-available/mp.conf

<VirtualHost *:80>
DocumentRoot /home/mp/public_html/

<Directory /home/mp/public_html/>
Require all granted
</Directory>
</VirtualHost>

Ja otin uuden virtual hostin käyttöön  $ sudo a2ensite mp.conf

Poistin myös oletus hostin pois käytöstä
$ sudo a2dissite 000-default.conf

ja sitten viellä käynnistetään apache2 uudelleen $ sudo service apache2 restart

Tämän jälkeen loin vielä public_html kansion ja sinne index.html ja sain sivulle näkyviin oman sivun.

IMG_20170926_232610.jpg

x) Julkinen domain

Päätin ottaa julkisen domainin namecheap.com:sta hintaan 2.45€. Maksu hoitui kortilla ja osoitteen sain käyttööni saman tien.

IMG_20170927_233202.jpg

Linux Palvelimet – tehtävä 3

earth-2254769_1920

Tehtävänanto:

Tässä tehtävässä sai valita kolme vapaavalintaista tehtävää. Tehtävä kokonaisuudessan löytyy täältä.

Itse valitsin seuraavat tehtävät:

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (esim. painoindeksi BMI)

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

Ratkaisut:

a) Apache2 web-palvelimen asennus

Aloitin tehtävän komennolla

$ sudo apt-get install apache2

Pakettien purkamisen ja apache2 palvelimen asennuksen jälkeen ajoin komennon

$ firefox “http://localhost&#8221; joka avasi firefoxin selaimessa localhos -sivun onnistuneesti.

Sen jälkeen käynnistin palvelimen uudelleen komennolla: $ sudo service apache2 restart ja enabloin käyttäjän $ sudo a2enmod userdir

Sitten loin public_html tiedoston komennolla: $ mkdir public_html, tarkistin myös nimeni $ whoami, jonka jälkeen avasin taas selaimen -> $ firefox “http://localhost/~xubuntu/&#8221;

IMG_20170912_221045.jpg

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (esim. painoindeksi BMI)

Asensin loput tarvitsemani paketit komennolla

$ sudo apt-get update && sudo apt-get -y install libapache2-mod-php php-mysql curl

Loin public_htlm kansioon index.html tiedoston ja $ nano inde.html komennolla pääsin muokkaamaan kyseistä tiedostoa.

Index.html tiedostoon laitoin haluamani php-koodin jonka jälkeen vielä ajoin komennon $sudo service apache2 restart. Sitten avasin selaimella $ firefox “http://localhost/~xubuntu/&#8221;. Jonka jälkeen totesin, että ohjelma toimi hyvin.

 

 

 

 

 

 

 

 

 

Linux Palvelimet – tehtävä 2

Tehtävänanto:

a) Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.

b) Vapaaehtoinen kohta, ei ole opetettu vielä: Asenna SSH-demoni. Kokeile omalla ssh-palvelimellasi jotain seuraavista: ssh-copy-id, sshfs, scp tai git. (Helpoin lienee scp: ‘scp foo.txt tero@example.com:’)

c) Tee unelmien apt-get -komento: yksi komentorivi, joka asentaa suosikkiohjelmasi.

d) Asenna komentokehotteen paketinhallinnasta kolme itsellesi uutta komentorivillä toimivaa ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

Ratkaisut:

a)Kaksi eri tapahtumaa konsoliin

Ensimmäiseksi ajoin komennon $ sudo apt install cowsay, joka asentaa cowsay -ohjelman. $ cowsay -f gnu Tecmint is Best piirtää konsoliin lehmän alla olevan kuvan mukaisesti.

xubuntu@xubuntu:~$ cowsay -f gnu Tecmint is Best


IMG_20170904_223847

Toinen tapahtuma jonka aiheutin lokiin, tapahtui komennolla:

$ apt-get install funny-manpages

E: Could not open lock file /var/lib/dpkg/lock – open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Tämän komennon ajo epäonnistui, koska siihen vaaditaan root-oikeudet.

c) Unelmien apt-get -komento:

$ sudo apt-get install libreoffice vlc gimp eclipse

d) Kolme komentorivillä toimivaa ohjelmaa

$ sudo apt-get install xcowsay

IMG_20170904_225054

$ sudo apt install cmatrix

IMG_20170907_143825.jpg

$ telnet towel.blinkenlights.nl

Screenshot_20170906-234448.png

Löysin nämä hauskat ohjelmat täälä

Linux palvelimet

Tämä on ensimmäinen tehtävä Haaga-Helian Linux palvelimet -kurssia, ohjeet ja tiedot kurssin sisällöstä löytyvät täältä.

Tehtävänanto:

a) Tee oma Linux-livetikku. Kokeile sitä jossain muussa kuin koulun koneessa. Tämä kohta ei edellytä asentamista – jos kuitenkin asennat, ota ensin varmuuskopiot.

b) Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’).

c) Asenna kolme itsellesi uutta ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

d) Mitä lisenssiä kukin näistä ohjelmista käyttää? Selitä lyhyesti, mitä oikeuksia ja velvolisuuksia tuosta lisenssistä seuraa.

d) Listaa käyttämäsi ohjelmat (esim. MS Word), kunkin ohjelman käyttötarkoitus (esim. Tekstinkäsittely) ja vastaava vapaa Linux-ohjelma (esim. LibreOffice Writer). Jos johonkin tarkoitukseen ei löydy vapaata Linux-ohjelmaa, listaa sekin.

f) Vapaaehtoinen lisätehtävä: varmuuskopioi tiedostosi (voit käyttää esimerkiksi ulkoista USB-levyä)

Ratkaisu:

Linux-livetikku

Päätin asentaa Linuxin tyhjälle DataTraveler-tikulle. Aloitin työn lauantaina 26.8.2017 klo 17.51. Ensin latasin Xubuntun koneelleni. Päätin käyttää livetikun tekoon ohjelmaa nimeltä Unetboot.

Unetboot ei kuitenkaan suostunut toimimaan halutulla tavalla. Asennus ja livetikun teko sujui hyvin, mutta en kuitenkaan saanut kännistettyä tikkua.

asennus.png

Käynnistysvaiheessa, “Automatic boot in 10 seconds” -lasku meni kymmenestä yhteen aina uudestaan ja uudestaan, eikä mitään tapahtunut.

Unetboot.png

Parin tunnin tappelun jälkeen, luovutin Unetbootin suhteen ja päätin ottaa käyttöön toisen ohjelman. Etsin googlesta eri ohjelmia, jotka soveltuvat livetikun tekoon. Valitsin ohjelman nimeltä Rufus. Sen ladattuani, katsoin vielä hieman ohjelman käyttö-ohjeita Ubuntun Tutorialista. Tämän jälkeen sain livetikun valmiiksi.

rufus.png

Kun tikku oli valmis, kännistin koneen uudelleen ja painoin fn+F12, josta sain valittua kännistyksen tikulta. Valitsin “Try Xubuntu without installing”, jonka jälkeen Xubuntu käynnistyi hyvin. Tässä vaiheessa kello näytti 19.25, yllättävän paljon aikaa kului livetikun tekoon.

xubuntu.png

Koneen rauta

$sudo lshw -short -sanitize

rauta.jpg

Kolmen eri ohjelman asennus

  • Eclipse
  • Gimp
  • VLC

Klo 19.42 aloitin ohjelmien asentamisen. Aloitin Eclipse- ohjelmasta, $ sudo apt-get install gimp. Eclipse on ohjelmointi ympäristö, jota olen monissa koulun projekteissä käyttänyt. Ohjelma asentui hyvin ja aukesi nopeasti, testasin luoda uuden projektin, mutta sen koommin en alkanut ohjelmaa käyttämään. Näyttäisi toimivan hyvin.

Toiseksi ohjelmaksi valitsin kuvanmuokkausohjema Gimpin. Ajoin komennon $ sudo apt-get install gimp. Gimp asentui myös ilman ongelmia, Avasin ohjelman ja ohjelmassa yhden kuvan, jota pääsin muokkaamaan. Ohjelma toimi siis moitteettomasti.

Kolmanneksi ohjelmaksi valitsin multimediasoittimen, VLC:n. Se onnistui komennolla $ sudo apt-get install vlc. VLC aukesi myös ongelmitta ja pääsin kuuntelemaan musiikkia.

Ohjelmien lisenssit

Eclipsen lisenssi on EPL, joka on avoimen lähdekoodin lisenssi (https://eclipse.org/org/documents/epl-v10.php).

GIMP ja VLC käyttävät GPL- lisenssiä eli GNU General Public License (https://www.gnu.org/licenses/gpl-3.0.html).  GPL lisenssi in tarkoitettu vapaasti käytettävien ohjelmien julkaisuun, sallien käyttäjän käyttää ja muokata ohjelmiaan haluamallaan tavalla.

Käyttämäni ohjelmat ja niiden vastaavat Linux-ohjelmat

  • MS Word – LibreOffice Writer
  • MS Excel – LibreOffice Calc
  • MS PowerPoint – LibreOffice Impress
  • SublimeText  – NotepadQQ

 

Laitetiedot:

  • Tietokone: Lenovo Z50-70 15,6″ -kannettava
  • Prosessori: Intel Core i7
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DataTraveler G4 8GB

Lähteet: