From 596578d2869369c5cf62c615e4dc16eaf1595714 Mon Sep 17 00:00:00 2001 From: Saku Laesvuori Date: Wed, 1 Nov 2023 20:34:10 +0200 Subject: [PATCH] Update README --- README.md | 60 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index b432925..0b69886 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,33 @@ # Datarekisteri – Datat RY:n jäsenrekisteri -Datayhdistyksen jäsenrekisterin lähdekoodi. Tavoitteena on saada mahdollisimman -paljon toiminnallisuudesta abstraktoitua ja siirrettyä -[`rekisteri`](https://hub.sr.ht/~slaesvuo/rekisteri):iin. +Datayhdistyksen jäsenrekisterin lähdekoodi. Pitkällä aikavälillä tavoitteena on +saada mahdollisimman paljon toiminnallisuudesta abstraktoitua ja siirrettyä +[`rekisteri`](https://hub.sr.ht/~slaesvuo/rekisteri):iin, mutta tällä hetkellä +se ei ole mahdollista. + +## Kehitykseen osallistuminen + +Toimivan kehitysympäristön saat helposti ajamalla komennon [`guix +shell`](https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-shell) +tämän hakemiston sisällä. Mikäli Guix ei saa luotua ympäristöä, aja sama +komento toimivaksi tiedettyssä Guix-versiossa +((`guix time-machine -C channels.scm -- shell`)[https://guix.gnu.org/manual/devel/en/guix.html#Invoking-guix-time_002dmachine]) + +Vikoja ja kehitysehdotuksia voi lähettää sähköpostilla () tai +[kirjata giteaan](https://git.datat.fi/ry/datarekisteri/issues). Samoin +muutoksia voi [lähettää gitean +kautta](https://git.datat.fi/ry/datarekisteri/pulls) tai sähköpostilla +käyttämällä komentoa [`git send-email`](https://git-send-email.io/). + +Tähän tietovarantoon kirjoitusoikeudellisten henkilöiden pitää varmistaa, että +he puskevat vain GPG-allekirjoitettua koodia ja että allekirjoittamiseen +käytettyn avaimen julkinen osa on lisätty `keyring`-kehityshaaraan ja avaimen +sormenjälki on lisätty `.guix-authorizations`-tiedostoon. Muuten datarekisterin +Guix-kanavan lataaminen ei toimi ja julkaistua datarekisteriä ei voida +päivittää ennen kuin allekirjoittamattomat muutokset on poistettu +git-historiasta. + +## Asentaminen Datarekisterin voit asentaa helposti lisäämällä alla olevan pätkän guix:in [kanavalistaan](https://guix.gnu.org/manual/en/guix.html#Specifying-Additional-Channels). @@ -19,35 +44,24 @@ Datarekisterin voit asentaa helposti lisäämällä alla olevan pätkän guix:in "A0C9 1947 734F 076F 5F08 E9FF 257D 284A 2A1D 3A32")))) ``` -## Käänteisen välityspalvelimen asetukset +### Käänteisen välityspalvelimen asetukset Käänteisen välityspalvelimen pitäisi määritellä CSP estämään kaikkien skriptien ajaminen, koska datarekisterin ei tarvitse ajaa koodia käyttäjän laitteella. -Content-Type-Options estää selaimia tulkitsemasta tiedostoja virheellisesti -skripteiksi tai tyylitiedostoiksi. +Datarekisterin ei pitäisi myöskään lähettää koodia ajettavaksi, mutta on +parempi varmistaa. Content-Type-Options estää selaimia tulkitsemasta tiedostoja +virheellisesti skripteiksi tai tyylitiedostoiksi. ``` Content-Security-Policy: default-src 'self'; scrip-src 'none'; object-src 'none' X-Content-Type-Options: nosniff ``` -Käänteisen välityspalvelimen pitää myös pakottaa kaikki liikenne kulkemaan -https:n yli uudelleenohjaamalla kaikki http-kyselyt ja asettamalla -Strict-Transport-Security otsikon. - -## Palvelunestohyökkäyksiltä suojautuminen - -Datarekisteri ei vielä tee itse mitään palvelunestohyökkäysten varalta. Määritä -vähintään jokin nopeusrajoitus kyselyille. Alla oleva esimerkki rajoittaa -tcp-yhteyksien avaamisnopeutta. Kannattaa lisätä jokin oikoreitti palvelimelle -itselleen, esim. `$ iptables -A INPUT -s 127.0.0.1 -j ACCEPT` ennen -nopeusrajoitusta. - -``` -$ iptables -A INPUT -p tcp -m tcp --syn -m hashlimit \ - --hashlimit-upto 10/sec --hashlimit-burst 10 --hashlimit-mode srcip,dstport \ - --hashlimit-name conn-srcip-dport-rate-limit -j ACCEPT -``` +**Käänteisen välityspalvelimen pitää myös pakottaa kaikki liikenne kulkemaan +HTTPS:n yli uudelleenohjaamalla kaikki HTTP-kyselyt**. Lisäksi voi asettaa +Strict-Transport-Security otsikon. Kaikki käyttäjätiedot, salasanat +mukaanlukien, ovat käytännössä julkisia, jos salaamattomat HTTP-kyselyt +sallitaan. ## Kopiointi