Docs added on authentication and nginx for development

This commit is contained in:
Christoph Haas 2017-04-22 18:24:53 +02:00
parent 280b95e3fd
commit ea2e2cdee8
6 changed files with 110 additions and 173 deletions

View file

@ -27,7 +27,7 @@ nav.top-bar
a href="/about" About
// Add link if user has uploaded screenshots
- if @current_users_screenshots and @current_users_screenshots.any?
li class=('active' if controller_name=='packages' and action_name=='my_uploads')
li class=('active' if controller_name=='my' and action_name=='uploads')
= link_to my_uploads_path
' My uploads
span.badge.secondary

View file

@ -15,8 +15,6 @@ _(If you get "command not found" then run "hash -r" or "rehash" in your
shell and try again.)_
# Installing debshots the manual way
## Prepare PostgreSQL database server and user (ident-based authentication)
@ -382,3 +380,70 @@ Parse Nginx access logs to count the number of visits of each package:
As a cron job:
41 9 * * * cd $HOME/debshots ; RAILS_ENV=production /home/debshots/.rbenv/shims/bundle exec rake debshots:accesslog2visits[/var/log/nginx/cache-access.log.1]
# Authentication
This web application tries to avoid to create yet another directory
of user accounts. So it leverages other common web sites like StackExchange,
Debian SSO (using browser/client certificates) or GitHub as single-sign-on
services. It is still possible to create local user accounts for administrators
but registration is disabled.
Anonymous uploads are possible but they have to be moderated by an administrator.
# Authorization
A user can have one of these access levels.
## Anonymous
Without authentication all user actions are moderated. Such users can upload
screenshots or report existing/published screenshots as inappropriate. However
a user with level 'admin' will have to approve that action.
## Authenticated by single-sign-login (SSO)
Users can use different authentication services to login - like Github or
StackExchange. Such users internally get an account with a random password
created but they will keep logging in via SSO.
The first upload will have to be moderated. Subsequent uploads will be
approved automatically.
## Authenticated by Debian signle-sign-login (SSO)
If a user authenticates using a Debian SSO client certificate they will be
able to upload screenshots without moderation.
(Anohter idea was to restrict them to uploading only screenshots for the
packages they maintain. But that may be reliable and is not implemented at
this time.)
## Administrator
Such a user has an internal user account. The database record has the
'admin' field set to 1. Admins can freely upload, moderate and delete
screenshots. They can also read the log files.
# Nginx during development
During development it is advised to run Nginx to proxy ports 3000 (HTTP)
and 3001 (HTTPS) to the rails application.
cd nginx
nginx -c `pwd`/nginx.conf
The SSL certitificate is just a self-signed certificate with the
common name "localhost". It was generated using:
openssl req -x509 -newkey 4096 -nodes -keyout localhost.key -out localhost.crt -days 3650
Run "rails s" in another window. That will use the built-in Ruby 'Puma'
application server that can also be used in production. It requires less
configuration than Phusion Passenger but may be slower in regard to
performance and multi-threading / multi-core support.
If you get "400 Bad Request / The SSL certificate error" in the browser then
please check the error log (/tmp/error*). Once cause is that the CRL of
the Debian SSO has expired and needs to be updated.

View file

@ -1,7 +1,7 @@
-----BEGIN X509 CRL-----
MIINXzCCDEcwDQYJKoZIhvcNAQELBQAwRDEaMBgGA1UEAxMRU1NPIENBIDIwMTUt
MIINnjCCDIYwDQYJKoZIhvcNAQELBQAwRDEaMBgGA1UEAxMRU1NPIENBIDIwMTUt
MDgtMjExJjAkBgNVBAoTHURlYmlhbiBTU08gY2xpZW50IGNlcnRpZmljYXRlFw0x
NzA0MTcxMjAwMDFaFw0xNzA0MjAxMjAwMDFaMIIL0DATAgIQABcNMTUwODIxMjEy
NzA0MjIxNDU1MDJaFw0xNzA0MjUxNDU1MDJaMIIMDzATAgIQABcNMTUwODIxMjEy
NTI4WjATAgIQARcNMTUwODIxMjA1MDUxWjATAgIQAhcNMTUwODIxMjEwNjQ3WjAT
AgIQAxcNMTUwODIxMjEwNjQ5WjATAgIQBBcNMTUwODI0MTMwMjQyWjATAgIQBRcN
MTUwODIxMjEyNTMzWjATAgIQERcNMTYwMzE0MTQxMTAzWjATAgIQEhcNMTUwODI2
@ -38,37 +38,38 @@ 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
dZJOfdUZhmtxop0YahWKyDsdYw==
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
-----END X509 CRL-----

View file

@ -3,24 +3,20 @@ events {
}
pid /tmp/nginx.pid;
error_log /tmp/error;
error_log /tmp/error info;
http {
include mime.types;
default_type application/octet-stream;
ssl_dhparam dhparams.pem;
ssl_dhparam dhparams.pem;
##
# Logging Settings
##
access_log /tmp/access-main;
#passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
#passenger_ruby /home/debshots/.rbenv/versions/2.3.1/bin/ruby;
error_log /tmp/error-main info;
##
# Gzip Settings
@ -30,8 +26,8 @@ http {
server {
listen *:3001 ssl;
ssl_certificate screenshots.debian.net.crt;
ssl_certificate_key screenshots.debian.net.key;
ssl_certificate localhost.crt;
ssl_certificate_key localhost.key;
ssl_client_certificate debsso.crt;
ssl_crl debsso.crl;
ssl_verify_client optional;
@ -41,6 +37,7 @@ http {
root ../public;
server_name _;
access_log /tmp/access-front;
error_log /tmp/error-front info;
# Tell the backend if the protocol used was HTTPS. Otherwise you get an infinite
# redirection loop because the backend assumes that HTTP was spoken behind the

View file

@ -1,98 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFEjCCA/qgAwIBAgIRAL/YYnl8IOX8JwWB+NpqTN4wDQYJKoZIhvcNAQELBQAw
XzELMAkGA1UEBhMCRlIxDjAMBgNVBAgTBVBhcmlzMQ4wDAYDVQQHEwVQYXJpczEO
MAwGA1UEChMFR2FuZGkxIDAeBgNVBAMTF0dhbmRpIFN0YW5kYXJkIFNTTCBDQSAy
MB4XDTE1MDExMzAwMDAwMFoXDTE3MDMxMjIzNTk1OVowYTEhMB8GA1UECxMYRG9t
YWluIENvbnRyb2wgVmFsaWRhdGVkMRswGQYDVQQLExJHYW5kaSBTdGFuZGFyZCBT
U0wxHzAdBgNVBAMTFnNjcmVlbnNob3RzLmRlYmlhbi5uZXQwggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQC0QybbIT5MMZgmDONX2hY/oezY5pz9p3CfcQkc
I4y5GcWRtTKDn46y+gmcQA9wHZTHKMT7tEsGAx7/55KaG2TtNqoZnhmyRYG7MDIg
bztbdYA0/RwlVp/iVmqsc5Wsq7/ZmU/aIB2WDH6V2cWJgJoJ0LQMj/nCBRqS4n3+
YZxSr0fTrmBROHjw6pIp7AouVJ0NVeG8lnkhYXlqBpK+qmCyhj54UpvXVAYeoiS5
Qbld8kpQKZYvUdOnJyY2xUIaeGbIrQFRS6QAkSgi7B+ZkJkt06mGKwB6hLH6M2kL
UlKANIIEYVuMEYk2jYQL+pIdBDRlHpp5r3H6F11ZPctYP+INAgMBAAGjggHFMIIB
wTAfBgNVHSMEGDAWgBSzkKfYya9OzWE8n3ytXX9B/Wkw6jAdBgNVHQ4EFgQUxfoL
wPdHyJb6SwhYF0uesh28NlwwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAw
HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMEsGA1UdIAREMEIwNgYLKwYB
BAGyMQECAhowJzAlBggrBgEFBQcCARYZaHR0cHM6Ly9jcHMudXNlcnRydXN0LmNv
bTAIBgZngQwBAgEwQQYDVR0fBDowODA2oDSgMoYwaHR0cDovL2NybC51c2VydHJ1
c3QuY29tL0dhbmRpU3RhbmRhcmRTU0xDQTIuY3JsMHMGCCsGAQUFBwEBBGcwZTA8
BggrBgEFBQcwAoYwaHR0cDovL2NydC51c2VydHJ1c3QuY29tL0dhbmRpU3RhbmRh
cmRTU0xDQTIuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3Qu
Y29tMD0GA1UdEQQ2MDSCFnNjcmVlbnNob3RzLmRlYmlhbi5uZXSCGnd3dy5zY3Jl
ZW5zaG90cy5kZWJpYW4ubmV0MA0GCSqGSIb3DQEBCwUAA4IBAQAtcPKcIeq6iFap
EaEuVIOpbfPQn1sF3tsKWGb9waHFBZX35BSXoie/IoxJk5m+MIu8UH+PTgcXPIGc
95eNxbLa+59RjTd3GRyLr7Gscfl1JuR1HzpBiW77q4nJUQoh+kNaeOmqHESi8kGv
2Fe6mVINlkyWyK2Gx337kUvQYKuowgqprVsrHNi9YI1H7d8VhaAiWQeD1AyAvi8W
roF9FiMmkOkTtAkoo28D2L1OkBW7PLgAT2J/zSI4Nf26duZmvETNn85NfLicGuTh
z3z+p6RVI6Rl7LitFvbnuaVCe7xysseCuXYg8uZAjQq+mN1LkdrDKbY+5e1/9ghl
yeR6Uwhu
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF6TCCA9GgAwIBAgIQBeTcO5Q4qzuFl8umoZhQ4zANBgkqhkiG9w0BAQwFADCB
iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQw
OTEyMDAwMDAwWhcNMjQwOTExMjM1OTU5WjBfMQswCQYDVQQGEwJGUjEOMAwGA1UE
CBMFUGFyaXMxDjAMBgNVBAcTBVBhcmlzMQ4wDAYDVQQKEwVHYW5kaTEgMB4GA1UE
AxMXR2FuZGkgU3RhbmRhcmQgU1NMIENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCUBC2meZV0/9UAPPWu2JSxKXzAjwsLibmCg5duNyj1ohrP0pIL
m6jTh5RzhBCf3DXLwi2SrCG5yzv8QMHBgyHwv/j2nPqcghDA0I5O5Q1MsJFckLSk
QFEW2uSEEi0FXKEfFxkkUap66uEHG4aNAXLy59SDIzme4OFMH2sio7QQZrDtgpbX
bmq08j+1QvzdirWrui0dOnWbMdw+naxb00ENbLAb9Tr1eeohovj0M1JLJC0epJmx
bUi8uBL+cnB89/sCdfSN3tbawKAyGlLfOGsuRTg/PwSWAP2h9KK71RfWJ3wbWFmV
XooS/ZyrgT5SKEhRhWvzkbKGPym1bgNi7tYFAgMBAAGjggF1MIIBcTAfBgNVHSME
GDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQUs5Cn2MmvTs1hPJ98
rV1/Qf1pMOowDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYD
VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYLKwYBBAGy
MQECAhowCAYGZ4EMAQIBMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl
cnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy
bDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy
dXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ
aHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAWGf9
crJq13xhlhl+2UNG0SZ9yFP6ZrBrLafTqlb3OojQO3LJUP33WbKqaPWMcwO7lWUX
zi8c3ZgTopHJ7qFAbjyY1lzzsiI8Le4bpOHeICQW8owRc5E69vrOJAKHypPstLbI
FhfFcvwnQPYT/pOmnVHvPCvYd1ebjGU6NSU2t7WKY28HJ5OxYI2A25bUeo8tqxyI
yW5+1mUfr13KFj8oRtygNeX56eXVlogMT8a3d2dIhCe2H7Bo26y/d7CQuKLJHDJd
ArolQ4FCR7vY4Y8MDEZf7kYzawMUgtN+zY+vkNaOJH1AQrRqahfGlZfh8jjNp+20
J0CT33KpuMZmYzc4ZCIwojvxuch7yPspOqsactIGEk72gtQjbz7Dk+XYtsDe3CMW
1hMwt6CaDixVBgBwAc/qOR2A24j3pSC4W/0xJmmPLQphgzpHphNULB7j7UTKvGof
KA5R2d4On3XNDgOVyvnFqSot/kGkoUeuDcL5OWYzSlvhhChZbH2UF3bkRYKtcCD9
0m9jqNf6oDP6N8v3smWe2lBvP+Sn845dWDKXcCMu5/3EFZucJ48y7RetWIExKREa
m9T8bJUox04FB6b9HbwZ4ui3uRGKLXASUoWNjDNKD/yZkuBjcNqllEdjB+dYxzFf
BT02Vf6Dsuimrdfp5gJ0iHRc2jTbkNJtUQoj1iM=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFdzCCBF+gAwIBAgIQE+oocFv07O0MNmMJgGFDNjANBgkqhkiG9w0BAQwFADBv
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjAN
BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAgBJlFzYOw9sIs9CsVw127c0n00yt
UINh4qogTQktZAnczomfzD2p7PbPwdzx07HWezcoEStH2jnGvDoZtF+mvX2do2NC
tnbyqTsrkfjib9DsFiCQCT7i6HTJGLSR1GJk23+jBvGIGGqQIjy8/hPwhxR79uQf
jtTkUcYRZ0YIUcuGFFQ/vDP+fmyc/xadGL1RjjWmp2bIcmfbIWax1Jt4A8BQOujM
8Ny8nkz+rwWWNR9XWrf/zvk9tyy29lTdyOcSOk2uTIq3XJq0tyA9yn8iNK5+O2hm
AUTnAU5GU5szYPeUvlM3kHND8zLDU+/bqv50TmnHa4xgk97Exwzf4TKuzJM7UXiV
Z4vuPVb+DNBpDxsP8yUmazNt925H+nND5X4OpWaxKXwyhGNVicQNwZNUMBkTrNN9
N6frXTpsNVzbQdcS2qlJC9/YgIoJk2KOtWbPJYjNhLixP6Q5D9kCnusSTJV882sF
qV4Wg8y4Z+LoE53MW4LTTLPtW//e5XOsIzstAL81VXQJSdhJWBp/kjbmUZIO8yZ9
HE0XvMnsQybQv0FfQKlERPSZ51eHnlAfV1SoPv10Yy+xUGUJ5lhCLkMaTLTwJUdZ
+gQek9QmRkpQgbLevni3/GcV4clXhB4PY9bpYrrWX1Uu6lzGKAgEJTm4Diup8kyX
HAc/DVL17e8vgg8CAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTv
A73gJMtUGjAdBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/
BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1Ud
HwQ9MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4
dGVybmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0
dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAJNl9jeD
lQ9ew4IcH9Z35zyKwKoJ8OkLJvHgwmp1ocd5yblSYMgpEg7wrQPWCcR23+WmgZWn
RtqCV6mVksW2jwMibDN3wXsyF24HzloUQToFJBv2FAY7qCUkDrvMKnXduXBBP3zQ
YzYhBx9G/2CkkeFnvN4ffhkUyWNnkepnB2u0j4vAbkN9w6GAbLIevFOFfdyQoaS8
Le9Gclc1Bb+7RrtubTeZtv8jkpHGbkD4jylW6l/VXxRTrPBPYer3IsynVgviuDQf
Jtl7GQVoP7o81DgGotPmjw7jtHFtQELFhLRAlSv0ZaBIefYdgWOWnU914Ph85I6p
0fKtirOMxyHNwu8=
-----END CERTIFICATE-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC0QybbIT5MMZgm
DONX2hY/oezY5pz9p3CfcQkcI4y5GcWRtTKDn46y+gmcQA9wHZTHKMT7tEsGAx7/
55KaG2TtNqoZnhmyRYG7MDIgbztbdYA0/RwlVp/iVmqsc5Wsq7/ZmU/aIB2WDH6V
2cWJgJoJ0LQMj/nCBRqS4n3+YZxSr0fTrmBROHjw6pIp7AouVJ0NVeG8lnkhYXlq
BpK+qmCyhj54UpvXVAYeoiS5Qbld8kpQKZYvUdOnJyY2xUIaeGbIrQFRS6QAkSgi
7B+ZkJkt06mGKwB6hLH6M2kLUlKANIIEYVuMEYk2jYQL+pIdBDRlHpp5r3H6F11Z
PctYP+INAgMBAAECggEAdU+GR/EYc8mKtKiKgy/AbuTYGEfsPv7qwjhzr0ZLXGKz
OqHrH9GEsmEaQ/9EjLgTjJCxsQSiFmWNlQiFVZkiU2XRyR4kpumpBcLVvFnnDRwo
tVNLL9lx74BBp70I2PhkwB2P4+omlvHGp4qzjUqN9HlH0y0XYvajVpfjWtr3Oq8S
8WlIE25fi0l8NGeMZg/pvX9I42+Os46kH/Cpmw+wZY2wptTosMe2IUFwTkMUyEuT
I3oJnz3VQ24d7Q01rQdllkRpg68HBtv99k7fIPs2pSwhiBXpM39jneeFfdY7GdKB
spyAipfmOkw8COuhXNbaewl+GBAkugNT9Bbgc+XmwQKBgQDnj5GNEJv9RgXQasYY
5opNCZhlPsfOVlyhqYc/niatnMRK6L6PRgDswbfNixa3bbymMCkjgTip7U0XsbWc
8ueq+b3CnutrM5p8R9LceStDdU4oB+Tt4egqH1VkezwqD9s9OgbPYnCRTjJ1JDXH
HtjY87XhSDABSoue3R+XVAb+WQKBgQDHSZLJTuf5htltbShc1TEP11ER01Bjlid6
bIs5XdnDsShl8DsPqrAnaiWrnHJegp3YYAcXi3fRIsO1Nbow/uk6fu9wNBt3fWPu
3T4Vf2MLUDtrsQJGQYB7JW79dbzo02Cz1tA4+b1LZil9JkRjmwub33G4Ww5+zWOi
+TzlW2wS1QKBgQDThDkX+gwDFmtJLb82D6BVLmaeVPJ+cDS9FvYMDpKWE5TaOC+Z
AADoQyt5/YsKkpq301ZAsFDqJ3E8K4ARlXA4pVfI5xF0IvcCfzkFW0lBnW1+83cS
NEC1+VkvJ8KVSVaiXtbJqMnacOt2RVU6Rdsekb+ZwS7Yfxd6TdIFkSOyQQKBgANc
MTZltzGU3Xuj2IdgLNiYh8xmJLfZI0dEJ0DLXU2YYhb96vEDrr6rYoE3PRJs315z
mAsElfuXu3cFteL3mVUcKMtahZAJNDMl1dMk97WMH8RcEq6+kf0Bj5KEdq/ySHIf
0Bj11QQ9b7uldoe7aIGzTcaO+nqW2fQ4gZdYaEUVAoGBAK5SPXvZPTPeloTrTT6T
ialF4hH8+8oibHqIac91tKFjHvP2eyJKreJ5DnLa/qGki8WCcc5BWvZtGwlc+2JV
0o9rqurSIsztr+nbXye1rdwG82pTdud50m0YM0VtXOEJ16l+d+hd9muB0ZaHp3t/
L3FxwwYVzwm+5QfHADevnvMN
-----END PRIVATE KEY-----