PH – h7

Harjoitus 7 – Oma moduli

Harjoituksessa pitää tehdä oma moduli. En saanut valitettavasti tehtyä mitään kummoista modulia, koska aika ja osaaminen loppuivat kesken.

Ideana olisi ollut luoda sellainen moduli, jossa pääsisi internettin kautta vain yhteen nettiosoitteeseen (tässä tapauksessa yhden omista virtuaalikoneistani), jossa pystyisi jakamaan tiedostoja. Käyttäjällä olisi oma kansio, joka olisi yhteydessä tähän nettisivuun. Tämä jäi kuitenkin puoleen väliin.

Tekemääni moduulia en pystynyt myöskään testaamaan orjillani, koska ne eivät jostakin syystä olleet päällä. Yritin niitä käynnistää ja uudelleenkäynnistää paikallisesti, mutten onnistunut. Jouduin siis vain testaamaan moduulia masterilla.

Aloitin rajoittamalla pääsyä internetiin. Kokeilin erilaisia tapoja: mene /etc/hosts, jonne kirjoita 127.0.0.1 *.*.*.*. Ei onnistunut. Tee sama /etc/hosts.deny. Ei onnistunut. Kokeile /etc/hosts.deny ALL: *.*.*.*. Ei onnistunut. (*.*.*.* olisi pitänyt tarkoittaa kaikkia ip-osoitteita)

Kokeilin kirjoittaa /etc/hosts tiedostoon 127.0.0.1 hs.fi. Testasin curl hs.fi ja se antoi localhostin sivun. Eli tällä tavalla toimii yhden nettisivun estäminen, mutta halusin saada kaikki estettyä.

Löysin tältä sivulta hyviä iptables-komentoja:

  • 1) iptables -I OUTPUT -p tcp -m tcp –dport 80 -j REJECT –reject-with icmp-port-unreachable
  • 2) iptables -I OUTPUT -p tcp -m tcp –dport 443 -j REJECT –reject-with icmp-port-unreachable
  • 3) iptables -I OUTPUT -p tcp -m tcp -d 142.93.174.232/32 –dport 80 -j ACCEPT
  • 4) iptables -I OUTPUT -p tcp -m tcp -d 142.93.174.232/32 –dport 443 -j ACCEPT

1) ja 2) estävät kaiken liikenteen porteista 80 (http) ja 443 (https) ulos. 3) ja 4) taas sallivat kaiken liikenteen ip-osoitteeseen 142.93.174.232, joka on minun oma virtuaalikoneeni.

Testaan curl hs.fi ja saan: curl: (7) Failed to connect to hs.fi port 80: Connection refused. Eli se onnistui.

Kun kokeilen curl 142.93.174.232 saan sen lyhyen tekstin mikä siellä on.

Seuraavaksi yritin tehdä iptables modulia saltilla, mutten onnistunut sitä saamaan liikennetteä estettyä. Se kyllä lisäsi ne uudet säännöt sinne iptablesiin, mutta ei varmaan oikeasti tehtynä. Minulla ei nyt ole tässä niistä kuvia tai kopioita, kun en tajunnut ottaa. Teen ne sitten cmd.run modulina. Helpoimman kautta siis.

Seuraavaksi tein init.sls tilaan seuraavat:

  • luo ryhmä exchangefiles
  • luo käyttäjä, joka lisätään ryhmään exchnagefiles
  • luo hakemisto /var/www/GroupFolder, johon lisätään testuser ja ryhmä exchangefiles. Anna sille myös pääsyoikeudeksi 5 eli read ja execute
  • luo hakemisto /var/www/GroupFolder/files, johon lisätään testuser ja ryhmä exchangefiles. Anna sille myös pääsyoikeudeksi 7 eli read, write ja execute
  • asenna Firefox
  • laite ne neljä iptables-komentoa cmd.run:ina

Siitä tuli tällainen:

exchangefiles:
  group.present:
– system: True

testuser:
  user.present:
– fullname: Test User
– groups:
   – exchangefiles
– home: /home/testuser

/var/www/GroupFolder:
  file.directory:
– makedirs: True
– user: testuser
– group: exchangefiles
– dir_mode: 5

/var/www/GroupFolder/files:
  file.directory:
– makedirs: True
– user: testuser
– group: exchangefiles
– dir_mode: 7

firefox:
  pkg.installed

’iptables -I OUTPUT -p tcp -m tcp –dport 80 -j REJECT –reject-with icmp-port-unreachable’:
  cmd.run

’iptables -I OUTPUT -p tcp -m tcp –dport 443 -j REJECT –reject-with icmp-port-unreachable’:
  cmd.run

’iptables -I OUTPUT -p tcp -m tcp -d 142.93.174.232/32 –dport 80 -j ACCEPT’:
  cmd.run

’iptables -I OUTPUT -p tcp -m tcp -d 142.93.174.232/32 –dport 443 -j ACCEPT’:
  cmd.run

Käytin apuna näitä sivuja:

Ajoin sen onnistuneesti paikallisesti komennolla $ sudo salt-call –local state.apply netti

Curl:

Files-hakemisto ja sen oikeudet:

Jätä kommentti

Design a site like this with WordPress.com
Aloitus