Home
room is publicly logged: http://chat.jones.dk/logs/
talks@conference.jones.dk
Wednesday, January 26, 2011< ^ >
Room Configuration
[04:44:09] Chatroom is destroyed
[04:44:09] Chatroom is stopped
[09:13:50] Chatroom is created
[09:13:50] Chatroom is started
[09:13:50] jonas joins the room
[09:14:19] jonas leaves the room
[09:14:19] Chatroom is destroyed
[09:14:19] Chatroom is stopped
[09:14:25] Chatroom is created
[09:14:25] Chatroom is started
[09:14:25] Jonas joins the room
[14:57:55] knudriis joins the room
[14:58:05] <knudriis> yeha
[14:58:20] <Jonas> hej
[14:58:35] stoej joins the room
[14:58:41] <knudriis> støj...
[14:58:48] <Jonas> ok - så er vi samlet
[14:58:53] <stoej> yep
[14:59:06] <Jonas> for god ordens skyld: al snak her logges på https://chat.jones.dk/logs/
[14:59:40] <Jonas> stoej: er det en gammel rest, eller henter du nutellamad nu?
[14:59:54] <Jonas> :-)
[15:00:17] <stoej> det var igår , og jeg blev slemt skuffet, havde glemt nutellaen på kontoret
[15:00:34] <Jonas> næh dog - nu med billede :-)
[15:00:45] <Jonas> oh well
[15:00:49] <knudriis> billede .. af nutellamad?
[15:00:51] <Jonas> Postgres
[15:00:55] <knudriis> yes
[15:01:07] <Jonas> knudriis: nej, stoej har nu et billede af sig selv
[15:01:15] <knudriis> :)
[15:01:51] <Jonas> adgangsrettighederne er for slappe nu - enhver med adgang til en konto ved serveren har adgang til alle Postgres databaser
[15:02:13] <Jonas> jeg ved ikke præcist hvad der er brug for, men vil gerne stramme op
[15:02:18] <Jonas> jeg foreslår:
[15:02:21] <knudriis> er det fordi alle kan skrive sudo su postgres?
[15:02:42] <Jonas> Jeg begrænser til at kun knud og www-data har adgang til databasen denali
[15:02:59] <Jonas> nej der er db-adgang _uden_ sudo!
[15:03:09] <Jonas> sudo er kun os 3 der kan gøre
[15:03:23] <knudriis> taler vi db eller Aalborg?
[15:03:42] <Jonas> hvis nogen hacker sig ind på kontoen www-data, elle kontoen "nobody" eller en anden konto, har de adgang til alle postgres data!
[15:04:01] <Jonas> dbold
[15:04:13] <Jonas> den som ikke ligger i Frankrig
[15:04:24] <knudriis> netics
[15:04:27] <stoej> jeg er enig
[15:04:32] <Jonas> den som hed db før den som nu hedder db kon til at hedde det
[15:04:35] <Jonas> :-)
[15:04:57] <Jonas> jeg kalder dem db og dbold
[15:05:04] <Jonas> er det ok med jer?
[15:05:20] <Jonas> det er lidt kortere end Aalborg og Frankrig
[15:05:38] <knudriis> ja det er vist cool .. tomcat kører som www-data?
[15:05:38] <stoej> sålænge reservationssystemet kan og vi er jeg uden indvendinger, eller hvad med villads (Knud)
[15:05:55] <knudriis> Villads sudoer sig adgang, så vidt jeg ved
[15:06:01] <knudriis> og det gør jeg også
[15:06:02] <Jonas> gode spørgsmål
[15:06:11] <Jonas> afslører at jeg ikke ved nok!
[15:06:36] <Jonas> nej, det er vist slet ikke nødvendigt at give www-data agang - men derimod tomcat
[15:06:48] <knudriis> ja, det er nok rigtigt
[15:06:49] <Jonas> mere præcist:
[15:07:02] <Jonas> der skal være adgang fra web
[15:07:18] <Jonas> ...som vist betyder at kontoen tomcat skal have adgang til denali
[15:07:47] <knudriis> tomcat får adgang vis TCP og brugeren denali
[15:07:52] <Jonas> mener I at der - til web-adgang! - er brug for adgang fra andre konti? Eller brug for adgang til andre databaser end denali?
[15:07:55] <knudriis> via*
[15:08:03] <Jonas> åh
[15:08:07] <Jonas> brugeren hedder denali?
[15:08:11] <knudriis> der er ikke andre databaser
[15:08:23] <Jonas> så der er en bruger denali og en database denali
[15:08:26] <knudriis> brugeren hedder denali (det er en postgres bruger)
[15:08:41] <knudriis> ja, databasen denali findes fordi brugreren denali er oprettet
[15:08:47] <knudriis> databasen er tom
[15:08:48] <Jonas> der er et par databaser mere, såvidt jeg kunne se på backup dump
[15:08:56] <knudriis> Den egentlige database hedder stage
[15:08:59] <Jonas> åh
[15:09:09] <Jonas> jeg lærer noget her!
[15:09:13] <knudriis> :)
[15:09:39] <knudriis> der er ikke en posix bruger som hedder denali (så vidt jeg ved)
[15:09:41] <Jonas> så til web-adgang formoder vi at brugeren denali skal have adgang til databasen stage
[15:09:52] <Jonas> heh
[15:10:28] Jonas checker lige...
[15:10:37] <knudriis> ja, det er postgres som håndterer det - når denali logger ind via IP
[15:12:06] <Jonas> der er posix brugere, tomcat brugere, Postgres brugere, og Postgres databaser
[15:12:17] <knudriis> jeps
[15:12:35] <knudriis> Postgres brugere er vist dem der kan logge ind via IP
[15:12:47] <knudriis> i modsætning til dem der logger ind via pipes
[15:12:49] <Jonas> njah, mere end det
[15:13:13] <knudriis> sådan har jeg forstået det ... men jeg er jo ikke serverhaj (for nu at sige det mildt) :)
[15:13:31] <Jonas> har lige checket:
[15:13:53] <Jonas> du har ret - det er via ip at der er slækket på sikkerheden
[15:14:07] <knudriis> ja
[15:14:09] <Jonas> kun via loopback - ikke overalt fra internet
[15:14:30] <knudriis> den eneste som har brug for at kunne logge ind via IP er denali
[15:14:48] <knudriis> alle andre (og det er så kun brugeren postgres) kan logge ind via pipes
[15:14:58] <Jonas> ok
[15:15:50] <Jonas> så postgres brugeren denalis skal kunne nå Postgres databasen stage via loopback ip?
[15:15:55] <Jonas> denali
[15:16:08] <knudriis> ja, og fra serveren db
[15:16:19] <Jonas> det kommer senere
[15:16:23] <knudriis> :)
[15:16:55] <Jonas> er I online nu - så jeg kan stramme ovenstående med det samme og I kan dobbeltchecke at det fortsat virker korrekt?
[15:17:09] <Jonas> det er een linje i en configfile jeg skal rette
[15:17:27] <Jonas> ...og derefter genstarte Postgres
[15:17:54] <Jonas> ?
[15:18:16] <Jonas> ok?
[15:18:17] <knudriis> mmm .... ok
[15:18:40] <knudriis> tomcat'en skal måske også genstartes så
[15:19:01] <stoej> skal jeg tjekke noget ?
[15:19:24] <knudriis> støj ... ja, selvfølgelig skal du det :)
[15:19:34] <knudriis> et eller andet
[15:19:40] <stoej> det virker
[15:19:45] <knudriis> fint
[15:19:48] <Jonas> test nu
[15:19:54] <Jonas> nu har jeg reloaded
[15:20:12] <Jonas> (ikke genstartet, blot genindlæst config - gætter på det er nok)
[15:20:16] <knudriis> skal jeg også se om jeg kan logge ind som postgres?
[15:20:24] <Jonas> nej
[15:20:29] <Jonas> det er næste punkt
[15:20:41] <Jonas> stramme adgang via pipes
[15:20:43] <stoej> jeg har kunnet forlænge en reservation
[15:20:58] <Jonas> nu skal det testes at der fortsat er adgang via tomcat
[15:21:03] <Jonas> fint
[15:21:13] <knudriis> tomcat krøer fint
[15:21:16] <Jonas> hmm
[15:21:23] <stoej> og logget ind og ud på admin delen
[15:21:33] <Jonas> jeg prøver lige at genstarte - for en sikkerheds skyld
[15:21:53] <knudriis> hiv
[15:22:06] <knudriis> ok :) - så døde tomcat
[15:22:14] <knudriis> men det er jo ikke overraskende
[15:22:58] <knudriis> broken pipe .. tomcat'en skal også genstartes
[15:25:30] <knudriis> tomcat har ikke adgang
[15:25:31] <Jonas> jeg kæmper
[15:25:39] <Jonas> fejl i ssl
[15:25:54] <knudriis> "Please shut down the server and check the database, passwords, and JDBC/Hibernate connection related issues"
[15:26:05] <knudriis> jamen fint nok :)
[15:27:49] <Jonas> prøv nu
[15:28:23] <stoej> tomcat kører ikke
[15:28:42] <Jonas> det er helt i ged
[15:28:43] <stoej> eller rettere sagt svarer denali ikke
[15:28:48] <Jonas> jeg genstarter serveren!
[15:29:40] <knudriis> ok
[15:29:40] <Jonas> mens den genstarter kan jeg forklare hvad det var:
[15:30:08] <Jonas> jeg havde forberedt - i weekenden - at give adgang fra internet til postgres på dbold
[15:30:31] <Jonas> ...men kun krypteret, og kun med et kendt ssl-certifikat
[15:30:50] <Jonas> da jeg reloadede
[15:31:08] <Jonas> da jeg reloadede Postgres skete ingen ændring
[15:31:30] <Jonas> ...men da jeg genstartede - som åbenbart var hvad der reelt skulle til - ville den ikke starte igen
[15:31:45] <Jonas> Ikke pga. stramning af loopback access,
[15:31:56] <Jonas> ...men pga. mit forberedte ssl-cert check
[15:32:10] <stoej> tomcat returnerer en fejlbesked
[15:33:10] <stoej> nu kommer denali op men kan ikke connecte til dataabsem
[15:33:57] <Jonas> nu ser det ud til at virke
[15:34:09] <Jonas> jeg skiftede tilbage til usikker opsætning
[15:34:23] <Jonas> prøv at teste om alt fungerer korrekt
[15:34:38] <Jonas> ...så prøver jeg at afkode i logfiler hvorfor stramningen gik galt
[15:35:51] <knudriis> ok
[15:39:08] <Jonas> jeg prøver at stramme til kun denali, men alle databaser
[15:40:17] <Jonas> done
[15:40:39] <Jonas> ser ud til at virke, udefra - test meget gerne!
[15:40:43] <knudriis> bookingsystemet kører
[15:41:12] <Jonas> ok
[15:41:21] <knudriis> ok virker
[15:41:37] <Jonas> det ser ud til at der er brug for adgang til flere/andre databaser end stage!
[15:41:57] <knudriis> måske til denali også?
[15:42:12] <knudriis> jeg ved ikke hvad postgres ellers bruger den database til
[15:42:24] <Jonas> jeg har nu strammet så kun Postgres bruger denali har adgang via loopback ip - men da har adgang til alle databaser
[15:42:38] <knudriis> der er ikke noget i den, og den er ikke nævnt i jdbc connection strengen
[15:45:13] <Jonas> oh well
[15:45:25] <Jonas> det er meget bedre sikkerhed end før
[15:45:30] <Jonas> jeg er roligere nu
[15:45:44] <Jonas> mht. pipe adgang
[15:46:01] <Jonas> hvilke posix konti har brug for adgang?
[15:46:12] <stoej> jeg og villads
[15:46:46] <knudriis> og mig :)
[15:46:53] <Jonas> og nu gør i det via sudo til en anden posix konto, eller-...?
[15:46:58] <knudriis> jeps
[15:47:06] <Jonas> ...til hvilken konto?
[15:47:11] <knudriis> sudo su postgres
[15:47:21] <Jonas> aha
[15:47:34] <Jonas> og det er databasen stage I også skal kunne nå?
[15:48:31] <Jonas> (hmm - jeg ser nu at du har da vist ret, knud: der er da vist kun een database kaldet stage)
[15:48:39] <Jonas> weird
[15:48:51] <Jonas> weird at det fejlede før
[15:49:02] <knudriis> ja pudsigt
[15:50:40] <Jonas> vil det være besværligt for jer at ændre jeres rutiner så I ikke skal bruge sudo su postgres først?
[15:51:08] <Jonas> altså at I i stedet afvikler fra jeres egen posix konto
[15:51:28] <Jonas> ?
[15:52:01] <knudriis> nej det vil da være nice
[15:52:51] <Jonas> ok, så vil jeg prøve at få det etableret
[15:53:10] <knudriis> men skal der ikke ændres i databasen så?
[15:53:12] <Jonas> ...men ikke lige nu - det ser ud til at kræve lidt ekstra pillearbejde
[15:53:23] <knudriis> grantes på alle tabeller osv?
[15:53:38] <Jonas> netop: adgangsrettigheder
[15:53:49] <knudriis> stage er konstrueret så kun postgres og  denali kan gøre noget som helst
[15:54:03] <knudriis> der er en bruger mere: ccs  
[15:54:10] <Jonas> åh
[15:54:11] <knudriis> som har visse rettigheder
[15:54:40] <knudriis> alting er skjult, og så åbnet for denali
[15:55:31] <knudriis> sådan set en udmærket måde at gøre det på, men det betyder at andre brugere skal grantes rettigheder i SQL'en, vil jeg mene
[15:55:50] <Jonas> hvad jeg ville prøve var at opsætte et Postgres "mapname" sådan at POSIX fra jer tre blev mapped til postgres
[15:56:53] <Jonas> dette er fortsat fulstændigt lisså usikkert mht. Postgres (I har "root" adgang til Postgres!), men betyder at I ikke behøver at gå via root adgang til hele maskinen!
[15:56:56] <knudriis> ok - det har du vist bedst styr på :)
[15:57:08] <knudriis> fint
[15:57:40] <Jonas> hvis det lykkes kan vi derefter stramme yderligere til at grante adgang til hvad I reelt har behov for hver især
[15:57:51] <knudriis> måske kan fx Villads få ret til su postgres? - i stedet for sudo su postgres?
[15:58:01] <Jonas> ...medmindre I alle netop har behov for root adgang :-P
[15:58:11] <knudriis> hehe .. nej, helst ikke
[15:58:35] <Jonas> lad os tage det i etaper
[15:59:09] <Jonas> ikke mere på den front lige nu - jeg ved at det er jer tre, og vil prøve at give jer adgang uden sudo eller su
[15:59:34] <Jonas> to punkter endnu vedr. Postgres:
[15:59:43] <Jonas> 1) fjernadgang
[15:59:50] <Jonas> 2) spejling f data
[15:59:57] <Jonas> Vedr. 1):
[16:00:29] <Jonas> jeg havde som sagt forberedt fjernadgang sikret med ssl-certifikater
[16:00:43] <Jonas> men det blev så afsløret nu at det virkede ikke
[16:00:47] <knudriis> ok
[16:01:14] <Jonas> jeg tror jeg ved hvad der skal til (Postgres håndterer sammenkædede certifikater lidt knoldet, ser det ud til)
[16:01:39] <Jonas> så det skal jeg prøve igen - ikke nu
[16:02:03] <knudriis> ok
[16:02:14] <Jonas> Når jeg mener at være klar, hvem skal så have fjernadgang?
[16:02:24] <Jonas> knud fra db, right?
[16:03:28] <knudriis> hmm .... nej, det behøver jeg ikke
[16:03:39] <knudriis> hvis du vi spejle, så er det jo ligemeget
[16:03:51] <Jonas> ok, så lad mig tage 2) først
[16:04:10] <Jonas> det viser sig _ikke_ at være en tovejs-synkronisering!
[16:04:19] <knudriis> ah ok
[16:04:54] <knudriis> det er ikke så godt...
[16:05:00] <Jonas> http://slony.info/documentation/2.0/tutorial.html
[16:05:22] <knudriis> db vil opdatere nogle tabeller, mens dbold opdaterer stort set alle tabeller
[16:05:24] <Jonas> Vi bruger Postgres 8
[16:05:42] <Jonas> Postgres 9 har indbygget envejs-synkronisering
[16:06:20] <Jonas> ...nemmere at sætte op, men ikke videre fleksibelt
[16:06:56] <knudriis> så du vil ikke sætte den op med synkronisering?
[16:07:00] <Jonas> slony har eksisteret nogen tid og virker til at være den generelle, robuste metode til envejs-synkronisering
[16:07:24] <Jonas> jeg vil meget gerne opsætte synkronisering, også selvom det kun er envejs
[16:07:42] <Jonas> det kan bruges til backup
[16:07:47] <Jonas> og til fallback!
[16:07:55] <knudriis> ok
[16:08:28] <Jonas> dvs. der kan opsættes to Postgres servere, og hvis den første stopper, skiftes automatisk over til at bruge den anden som master
[16:09:07] <knudriis> ok
[16:09:11] <Jonas> ...og (med slony, ikke med Postgres 9) det er muligt at eftersynkronisere og skifte tilbage til den første som master igen når den kommer igang igen
[16:09:28] <knudriis> nice
[16:10:15] <Jonas> men (slony, modsat Postgres 9) kræver oprettelse af nogle ekstra tabeller til at holde hus med synkroniseringen
[16:10:31] <knudriis> det er cool
[16:11:03] <Jonas> jeg forestiller mig at vi tester med en separat opsat database på db først
[16:11:27] <Jonas> ...og tester at den kan synkroniseres til f.eks. slamuf (min backup server)
[16:11:39] <knudriis> jeps
[16:12:02] <Jonas> Hvis det virker, så sætter vi stage på dbold til at synkronisere til _både_ db og slamuf
[16:12:26] <Jonas> men det er så altså ikke sikkert at det kan bruges til noget direkte for systemet på db
[16:12:59] <Jonas> muuuligvis kan brugere på db snakke med slony på db, som så videresender til dbold
[16:13:06] <Jonas> men måske ikke
[16:13:10] <knudriis> menæh ... hvilken database skal django app'en på db kører rundt i?
[16:13:19] <Jonas> det er det
[16:13:22] <knudriis> ah ok
[16:13:46] <Jonas> hvis dettehersens fallback skal være noget værd,
[16:13:57] <Jonas> så skal det jo være muligt at omdirigere
[16:14:14] <Jonas> derfor er det at jeg gætter på at slony muligvis kan agere proxy for brugere
[16:14:30] <Jonas> men så langt er jeg ikke noget i dokumentationen endnu
[16:15:01] <knudriis> ok
[16:15:04] <Jonas> muligvis bliver der kun een fjernbruger: slony!
[16:15:12] <stoej> slony vi sætser på dig
[16:15:36] <Jonas> ...og muligvis skal hver eneste bruger ved db - dvs. dig manuelt, cron, django osv. - alle bruge fjernadgang til dbold
[16:15:45] <knudriis> ok
[16:16:01] <Jonas> ...indtil tomcat slagtes og vi kan flytte master Postgres til at køre på db!
[16:16:13] <stoej> og først der er vi glad
[16:16:18] <Jonas> ja
[16:16:36] <Jonas> men vi behøves ikke være ligefrem triste indtil da
[16:16:54] <Jonas> jeg tænker også:
[16:16:56] <stoej> jeg er semi-glad
[16:17:22] <knudriis> jeg er semitrist
[16:17:27] <knudriis> er det ikke det samme?
[16:17:29] <Jonas> er der nogle operationer i fjango som kun kræver læseadgang?
[16:17:39] <Jonas> django
[16:18:40] <knudriis> mmm... øh ...
[16:18:56] <Jonas> hvis der i django kan skelnes mellem læse-operationer og "ødelæggende" operationer, så kan læseadgang ske dramatisk meget hurtigere ved at trække på den lokale spejling på db
[16:19:22] <Jonas> jah, her var det jo at havde fået en masse forærende hvis du havde brugt LDAP ;-)
[16:19:54] <knudriis> så skal der laves to connections, går jeg ud fra?
[16:20:11] <Jonas> den har indbygget caching lokalt af læseoperationer og proxying af skriveoperationer
[16:20:18] <Jonas> ja, 2 connections
[16:20:42] Jonas er stor fan a LDAP!
[16:20:48] <knudriis> det kan jeg i princippet kan jeg godt lave  - men kan vi ikke se om det er et problem, først?
[16:20:58] <knudriis> den cacher jo fint
[16:22:04] <Jonas> ikke forstået
[16:22:51] <Jonas> jeg siger ikke at der er et problem
[16:23:37] <Jonas> jeg siger at der er et potentiale fir kraftig forbedring af din Django app hvis den kan opsættes til at skelne mellem læse- og skrive-operationer
[16:23:55] <knudriis> jeg mener: Hvis den kører fint nok, så behøver jeg ikke fordele kaldene til to forskellige connections
[16:24:02] <Jonas> ...fordi vi kan tilbyde læseoperationer lokalt, men ikke skriveoperationer
[16:24:16] <knudriis> jeps, jeg forstår
[16:24:20] <Jonas> ok
[16:24:39] <knudriis> pt er det mest skriveoperationer, en enkelt læseoperation
[16:24:50] <knudriis> men det ændrer sig, jo mere der kommer på
[16:25:05] <Jonas> ..og derfor bedre at tænke ind tidligt ;-)
[16:26:39] <stoej> hvis I ikke har noget imod det kører jeg hjem nu
[16:27:09] Jonas skaber muligheder - og overlader hovedpinen ved implementeringsdetaljer til andre :-D
[16:27:24] <stoej> jonas du ville spørge knud om noget ang. database dumb kan jeg minde
[16:27:36] <Jonas> nåh ja
[16:27:49] <Jonas> det var vedr. test opsætning ved db:
[16:28:30] <Jonas> knudriis: kan du opsætte en Postgres database hvis jeg giver dig en dump?
[16:28:48] <Jonas> eller er du lisså fumlende som mig dér?
[16:29:01] <knudriis> mmm.... createdb databasenavn
[16:29:09] <knudriis> psql databasenavn
[16:29:13] <Jonas> øhm, nå
[16:29:18] <Jonas> ok
[16:29:20] <knudriis> \i sti-til-dump
[16:29:29] <Jonas> uh
[16:29:51] <Jonas> jeg tror måske jeg vil gribe fat i dig når jeg når dertil, Knud!
[16:29:59] <knudriis> det er ok :)
[16:30:05] <Jonas> Du lyder til at have det mere på fingerspidserne end mig!
[16:30:06] <Jonas> :-)
[16:30:14] <Jonas> Det var alt for nu fra min side!
[16:30:29] <Jonas> Husk at give mig en liste over sms rutiner!
[16:30:48] <Jonas> Jeg arbejder videre på fjernadgang og spejling
[16:30:58] <knudriis> fint - vi snakkes
[16:31:03] <Jonas> ...som så altså er lidt separate ting nu, men begge interessante
[16:31:16] <Jonas> ja, vi snakkes!
[16:32:10] knudriis leaves the room
[16:36:15] <stoej> kæmper ihærdig med boksene , du får de første kommandoer (dem som virker nu) i morgen
[16:36:25] <stoej> er det okay at vi udvider løbende?
[16:40:08] <Jonas> hov
[16:40:26] <Jonas> helt fint imorgen
[16:40:42] <Jonas> jeg har rigeligt at lave allerede - ville blot minde jer om det :-)
[16:41:08] <Jonas> du kan jo skrive dem som "wiki" sider
[16:41:31] <Jonas> ...og så blot prikke til mig her på Jabber når det giver mening at jeg opdaterer min klon
[16:41:40] <Jonas> Hvordan gik det forøvrigt med wiki?
[16:41:49] <Jonas> Er der grønt lys med det?
[16:42:15] <stoej> der er grønt lys
[16:42:26] <Jonas> er det Dark side of the moon, du hører?
[16:42:31] <stoej> hvornår kn jeg fylde på
[16:42:47] <Jonas> *nu*
[16:42:55] <Jonas> *igår*
[16:43:17] <stoej> det er "The Dark side of the moon" med the Flaming Lips
[16:43:59] <stoej> stardeath og White Dwarfs
[16:44:09] <stoej> en interessant cover - projekt
[16:44:13] <stoej> ikke uden evner
[16:44:59] <stoej> http://en.wikipedia.org/wiki/The_Flaming_Lips_and_Stardeath_and_White_Dwarfs_with_Henry_Rollins_and_Peaches_Doing_The_Dark_Side_of_the_Moon
[16:45:07] <stoej> men nu kører jeg hjem
[16:45:10] <stoej> adios
[16:46:16] stoej leaves the room