Update README

This commit is contained in:
Saku Laesvuori 2023-11-01 20:34:10 +02:00
parent 4a78b6f7bf
commit 596578d286
Signed by: slaesvuo
GPG Key ID: 257D284A2A1D3A32
1 changed files with 37 additions and 23 deletions

View File

@ -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 (<admin@datat.fi>) 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