From 990ce649719083f4f5a3970104f4cf002a5c13c9 Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Mon, 23 Nov 2020 23:42:15 +0100 Subject: [PATCH] node_exporter: use TLS and basic auth --- group_vars/all/vars.yml | 3 + group_vars/all/vault.yml | 268 +++++++++--------- roles/node_exporter/files/node_exporter | 2 +- roles/node_exporter/tasks/main.yml | 21 ++ .../node_exporter/templates/web-config.yml.j2 | 6 + roles/prometheus/templates/prometheus.yml.j2 | 6 + 6 files changed, 172 insertions(+), 134 deletions(-) create mode 100644 roles/node_exporter/templates/web-config.yml.j2 diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml index d94b94c..29240dd 100644 --- a/group_vars/all/vars.yml +++ b/group_vars/all/vars.yml @@ -35,6 +35,7 @@ node_targets: - gw11.regensburg.freifunk.net:9100 - gw21.regensburg.freifunk.net:9100 - gw31.regensburg.freifunk.net:9100 +- grafana.regensburg.freifunk.net:9100 - web.regensburg.freifunk.net:9100 - stats.ffrgb:9100 - unms.ffrgb:9100 @@ -48,6 +49,8 @@ ntp_servers: - 2.de.pool.ntp.org - 3.de.pool.ntp.org +prometheus_node_pass: "{{ vault_prometheus_node_pass }}" + prometheus_pve_user: prometheus@pve prometheus_pve_pass: "{{ vault_prometheus_pve_pass }}" diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml index 36bfa2c..8033857 100644 --- a/group_vars/all/vault.yml +++ b/group_vars/all/vault.yml @@ -1,134 +1,136 @@ $ANSIBLE_VAULT;1.1;AES256 -33336336363031356335646231313439663164663337323062393465653638346538613762323532 -3130356238303530316134623963616261663162393061300a653332613538633462353265353965 -63653131386233643635343732346336653164303236626666613963353963616634653939623135 -3231653165646661300a326563353632613937663137323562663364623133306338346633643832 -38613536373436643539623064386566653738316532666166333538656664623966376639363962 -63636332636331633762326539653863313233633032663063633136356562353737383365316238 -62633432363661613162616230313437306439376265623563343564343532366266616536346432 -38376465626236316434613631336465626363663263613232313662336133396434336437656464 -34323863643366326633613632636662353232323563616138356537613762666561393133383265 -65313162396434396662613131333261643966313366326435373831393338656361643733343837 -64316462393361336630623563386336323138653833636464623163343134393033303865326161 -33323461333334616333336466636436383764303362396561333830626137333462333564316364 -38393437666662346630663137643132626133383965353030663632636237663433383462326165 -30376436643137333361383839306537613535653564306164643363643330613031363630633964 -62396238396530306431633362343739633230383934373364303733366136633136363761303762 -33373165323939343063633965623733363934363330353662623134653438303337636161343132 -66393361363838323731303564653834316265333363303662376630333930346534363133363861 -62396533666365303065333330363066343238386438636661633233363831343838316131353633 -38643764386166656632313938386133366233366130626636323330326466376566613563383561 -62383038336566356533643336393430353365623932376161393438653465653962383130363433 -34393437343238383634323432633134353664386136633533383463616235326239383966633431 -36363532623932326432366330343332376264666537333234333234616638653830363633313465 -38343038666336353634633238356662666338646661646265306564633861333461336231313834 -64663166356432376564633163303636643963323032393737383537323639616333373133626264 -32303466316562666338356235376133653833623936373131373237393334393665306561366636 -66623437663334326631353132303030663236393762336639313861663962353363653831373563 -62386633306463306634633862326632313063393362353438623437376138363433623934666162 -37373662393437363965623162303934333230343962626233366630396531326665383065386161 -65663666356431366335633339366637303137353765656638316535613933343237656563663863 -65313230616338653030343034663937666134653336383732393538396337326238343761323137 -30626138666262666465393036363133356563653437376666376366613635306162653739396531 -64613664626663626462343737626266636132313366393861313436383137313765623165333734 -35333036633234303733373161626331363333393062613933623931356234363735663165386338 -61333961666638326134396431393335633435666135383738376335623135663934356437623062 -66323833353065653866613264663262653731373865656363666466303330356563356434343161 -34363564363564393132326264626134383630653437626536623166363965306363653539336461 -36366538383134376564376665336231663532656464393832346166653462306235666139633265 -34663235353765316633333865313439663736323462653232633362633333663539613934346136 -31363536303338633333393064366234643762396364356539363966623936663764353161383136 -34383432386537646566653964313731623761316161663136386532663332333262313861613932 -35356566303364326436306235323463623331613663383031343335323537346530653637663939 -34613333323738303731636362323735346561343332376137616339386163346134646566353231 -65656264626131306130663761663763336464306563313835633432333761623633666433613830 -63356265343839396162363333646630346364643661303331663236306535306465626435326662 -62313963663636363366356132616239323632623733656137316663303031356631323235353634 -64613035346633313366633138353737303565303434363139616466636163323137346238623562 -61333066633833303232333934373039623762323435333261633835356466303564666132656362 -62613939323735343163376165653634333834353334663532383866313232663533643138663766 -31353138356562386135366130373063306538633465323363313361316438366631366463323730 -62393637353931653930303230626665303066646539663338363133613431306532623865343531 -64366263653062643334336132336466383563636630323539373336343330616531323962326537 -64306535623135396537363735633039636335623561343435613864656330376631613434613866 -31393166633361633063323538623361653135306539346366383264336634353633626136663731 -35383332373338333935376438346232326236613430306533316561333438383238306666346465 -36356235373466303536346363393661393838336331313536383662353438333662366563353038 -66383237613132613636356461653037373437336264626539333763643261326239313065336463 -34323361613565663336343131613530616462633331653134613431393839303364363831303337 -39393732646234383936316637343066633761636231326639663239306231303834306631393933 -32323335666262666232363638306562353866353338646234353631323533316532383235336632 -33643934343836366631336666643730656137626466666232396535356664313132383838363832 -39613664643761653461326234643539643831616537363836656561303562633064613238383233 -33616336666462333461343766383063353361313032643230636132343631613636666636666639 -38386136656565653439323162363035623665623139326366326431343861393664636664363934 -61353761326136346636393261663335383664646531616366363436306461313063646264356561 -63393931313266633734616362376630616535396635343363326361653434353631303836326433 -64313533646331336338353533643031316638386330626362313938623736316134633062393930 -31306332623364393839313761353564313563326462313637663635663661396638373130363866 -30326263383730356135663433623138663239363765363664636133653462653262393766363966 -37303862363131646236333134366664653061343735303035383663383539353732313935313933 -37323461343530306632626631373238333636303135653535626631343862663639306136323363 -30343731356434333030303332636637363364643363666136353266383138613066353732326665 -32366234373864663333323035306334613937656666396437646335383839663336633364613338 -63306635663762373331646535373638343436376431646564666239633631376465623730353935 -66383262623838376339373735396131303434616132373832633061616132393931643830633864 -37663931613633656339383062336462383661363463323632396636633965373439383938626635 -38336330383139653365653664383934663838306531373164626136613338343861353262663431 -30653265333065663664646564376466303838373961626436396631356366363832613930346664 -34643962363862643732653631333665366134343332313863316164323465383138386262336336 -32343365386362346237656361386163323062376232346137336365363731396639346137343735 -62633436643265636262376639383635336536353131666661326238653339626666383562323763 -63373636636530306461633035616163643962633033363565323164343034633666346133343638 -37613463333461373663336630313834316333366466336539333135356338343731636231663530 -38623738636534333762376434336336326166373363643864316233343735386234616663636534 -32393838623939343536346634633339613837373735353565313138333864383632383533396264 -36363430356237636235316631313664336265633333313137373861666333663865393065393531 -30386335613531353837363738366232313036343731343566306166646466353164336136393330 -65323933613266363739363231663563656437396231316666303437633564613465313937383038 -32643465346130323738336364356331663163323236333764653566306664623164626437363465 -34333165343034633135336234633765336333623333643632353335656238393863623062623665 -39393434643538373633653630353963346132663366656532303764333838336562663735613737 -39363865353736663263303565336263643333613238336462313839323738373063393639303531 -34633739366531326666633634366230363431303663383432323463643665316136643434343839 -66313030623561366431353863633666636262336637636235326434366536393830343433336462 -34666631343862346239346434666462613836343161663234646439643562316564666632316665 -66376137313231376433333163396564343435303434326235626239336237653332316232343361 -30666531393863616132323837333931323534633561626263333534646530623433613633383061 -36393361613736393333633166346465363762336232303530393262666366303763303862383632 -30336437313339643861663635623334323330653030396432623932613433343836626238373530 -35353535366237663865333832356661613635353138356438386333323734386237626532343665 -31373061616234633336386661323164663934336464316364343036633336376234656263346530 -64333336383861396261316436636638653934643463666263346430366238663663383834313266 -65396434313161333532323036336538653830303232343364656365353339623165346164393039 -62356561366461643831656466316266616335646163303438353735393830636434386335623632 -32623835613262653566306561333835316334613633613138643235343265376238343932363264 -65666334633663366338306566346433626431656131393233393661396361366365333733303130 -38353435396462636633336238373131386562333063386235366233633030663861316161653362 -36306431663639663137313762396338323933663036343130633438326435383934633861343262 -39623431326362643833353532336233653664643733323432326466666165373333313266626565 -38656465623362323966333238336262323563353038666635666137303064663333363730633335 -31306139323831366363346331383834646635316166393334326535323339363038353365353538 -31356164656235373536323830333135333931373764636439363135316532613530333734613964 -66393233383132623536643664643862336162396630383932383731626233643966636437393461 -30356262393661623737653439633336656635323134613336626336343666363138303931323064 -36366333393330333365663965646664333561646434306463333135653130646337623035393434 -66636261346534653263356230633838633033373566623138626264656236336630373634636430 -39633136666565343332663330323937393565643338663433656466323535613064326233626637 -63393064363434393634333863363761643433326438336634306438376235393632643332346339 -63306437336431613535356138336666613862343437306330393566346332666534646230313265 -66663839333730636538343630363933353039343064316330666631646565386438613232383031 -63393963333063343437383130356331356162616266383231383535313530393264323232623934 -30363861373261303966613361336335356233306530343435313730393166383536323937373666 -33613033633530393933333265306265626632663266383834666334336364623864333735343735 -35316132636333323566666339333039653862666264353638336336356334393030663733306264 -61613661613166366238646264343239393735653437383539343731373266386238323532643739 -38643262343666656661356338623035343934383765313939363537393434623965623437363239 -61653034656535313937316639663166386432623034383864356465623032353636643737326336 -38376436343133643263336435636638356465396566623037633334643863643165663765383161 -33653530643836343334643734346335653131366439336139646131396237323862323132616339 -35383739633133643864646163616661633032666532663861393638343232323437363263663435 -65626561303137353330646162326464666236653633346636333864333366323336613638393365 -36396262306266396638613736626637633163343938366130363133303535613131383562393333 -63643830666437663931633231336432303561326231366639376130303564663564363766343834 -3934 +34393162646535646664306363646564373938343964326233373936643130626631373733626331 +3936663134353238386562316537333232623638643939370a653637366561623766386338643464 +34616566326531373761663139373131613438393131303762623761353364303631633136393132 +3866623264323765310a616634656266313662663536623333376436646666363834323863383731 +39393838623837643864333033363833306534366561323539646661303330353061633635353936 +39393634366238383638306439353237636635656637363839636461646439646261663239316664 +33656334323238373034653038353737643733666464363936383033356463333234613963306434 +66613564366435316466316335663365353932383537353762333561653062643833373035316231 +39663531333233616465633561396166653265316335623030333764343839326638353838393261 +65396162323830343336636335393135636130316535303336656237363035353439333331626135 +62626263633165643133383336396261323034343063343565383236653965343664613933366632 +36343138653530663163333330656666653263616431393666613733666563653432663133356337 +31626237623964366663313965383762343965383266616563613434373562653535366335316663 +39313434383161613830653834356438373066646336653335333339623963613139616461353563 +33623038643437313565623630313039323130353361396162316666356134323663333031303537 +63353863313832323737386332393235323537343963343434663236303933313363363065646535 +39363265663561366630363862316530613766343739326531333538343031306338396335333232 +31613563666166333837633439643135353065396237633463306230636463313262653537386637 +64353065646162616232613033323335346364663634343135383164323633633932343539326562 +66666336376539616234643064636435396166303536653539373164316439343830383435313735 +37643763613337313231653062313339636130353035376535393939333530323830343432376637 +65353066626466633730623866623561303430323430343930343364663436353533366466306435 +32656530303936636132656662343764643561636531373335323933633931623331616137616566 +38313665333837356334396631333961626334303061323732613133306461373164646264316564 +64636566323566366437303730353761623464383263346339356333633434326234653738386538 +31353838313636396665343464333732616639383965633639646334303031393230363163366539 +62346531656137633766326434313834666639333333333337613563636566326234633739643465 +31363562346337373837333264336362633635363062393061376133336530653437623538616566 +35646631613234633839333861396561386136333135346666336631363834383134303830653134 +35613634653562643432373466343932306636326562666639346438333739323463383461383130 +38373263353366303132313162383765623732633136393735633633306631616131613036376632 +39656361356265383361636131353665613836383064613436656235643134393430363034656339 +64326564376432383639316665303031636139356332333438366562346130326438316636363533 +35346135636530643665616231653963613738383562623434356563653134373032343465646432 +32663830336233363538313566633532393936653939336135303831353739353430343237656638 +30626434393533393839303732656165376333333432373837666461613565656635383838373732 +37323338353339393962336261346630663064613431303835313235373863633335643836633634 +65393233366264383334633336383766356139636137373664363336376432343339663836353832 +61656433373534323133633061333162633534303531356635383437353138666265633165333134 +30636337313663333762323065363231313535363762303465653236666434373134396632666439 +62653730646239353836653837393734646439373934333363643932346636333863623065623161 +63363433373666306536346137646661623733353338336134386333393961353761363235386132 +64336138373165386130366163623364616466663162333061623132643738336335336332363966 +37363764326337303637343432323764646165646232323134613136303633333936376632336332 +63363163323632366338363230626562646564663735643932313462636463643835623733323663 +64643463643035396537383831666336616233666364653038333733616332613939396661613336 +38643730393936636165616532663739376339333636616436346131333430333633643864386434 +64626537376164346134303831343439393066666166303139383562623533353836323063363436 +63303938613965343634303639356634333237343565343937393663646136633933386164643366 +64323864373965633664613333393334343262636430323939663239643938353532393866633366 +62323966326131323739653430616133333663666539303038323165353933633765666165346636 +32666633316563393964643262323539323932316364386138663364633063643337633561343366 +32346635303532316139376539663365633565613865356236623436393735386539623536643737 +39656330616562363537386364616433666333363731633136643836643639353133643737303733 +63663035666165323638333839316239646562663734643737326534643065326566313634623461 +65393834323563393734333961633465313664346535303265646162656437343963353565386439 +66333032656266303435313735613438613638383534316136623964616239343438393631623133 +39653734366564333338313765313162393065393362633631393234323834393161666166313533 +64666637343936616563376131323966613337363964353236326361333938643739323363623036 +30333165633037313236663566356538653666616232393464323431376137336639333832313431 +39316165653866626435386562306339633932616635366633363432376134636239643761623362 +34303132636365383063376339663962313736646432643864353734653838333331643238383064 +30346233386134636466316530356665643138356439653166363135343264383137333263346131 +34646238303935386230613633656433623662383936393134353131353839306432343339393934 +33383966613231393064343730613839653665666233666438393836343935336539653133623136 +66313164633263383363636665656639616136363465303330343031636136303963313835383062 +36626466356263383832313063643162346134643264373062393138346262346434326236636463 +36666265643633626539373736366261653662386635373630643030656137353364616665636164 +37636632383863323431386237636661653436376633643332636335393862343738633637653762 +35363036363265306135663331356161316131313033323963323934653130363734363563623966 +63333731393963663138656532363539616138323232393631323662366630373564376638653339 +35313831336666323231336232353337613461343932616234643766343837353333643934313237 +34356136626139666537323131386233646438663738376230656666626432663764356561313333 +61326537623230653361303837393333373462353235313232386534333065626566396534343939 +34316238393835646439383032633331653039316338356632656139346233636531373130386361 +37656337343361633766313362393830316431646138383039393336396462356561303264353838 +34356430643630383338353934393635383962313631613863346466646538393435633234623663 +33373462663163363662366330386465636466393038343435313863306331326662353736313535 +38313632366533623762323631323338333435383339633138343938313838636534613431306466 +66343534363730373932323266643862306236333739343036303062366232303332623537633434 +31613366633462396566366362656466306563646262376461343937373263656330306139613261 +32643035366265373962376561643930366634613035353563316330653863653337356263303030 +32616665653136613462366136653534623461353436353861306465336534336162653834386335 +39346539613362306561653034303137316132323130393562656233663032663934373931663138 +63646638356461343532343665386633343735363766366464326531633733653336613438613636 +61303631663131366131313831323639633938633465663332633138383031326134623364646431 +31333961323735646663383130376338303638643039636162343933666437383661343539623764 +61346263386532316163316639373264626366663337643438656138326538656463373765323333 +36356662363665373735376463613163363562373635373135613731663430316437353032616466 +38623836616363306135393264353833613836383365303037343963343339393031303436336262 +34353435353537323530633139653534396163636331376366653263643230303034313638346433 +65303732353266666535373131663839383763373331653263343064353064643539396137313737 +31626538616135623865336362653263316263373161633230306266333865643236386436653530 +31386237306534316462363837636266363236663261356236633831626263613463316339343634 +34363136353264313030653764363439643637316633653233613239666332366166623434613862 +39393836643437373533336332333232646639376565656634363762373835373162316337366137 +66633662316566353666333936646431643765613833373961646131643438306661663464326237 +38396136376438663030366334326339613863353038343965626362383665383564386636303964 +35333662386362626239366333393637613038386532343364313937383966306637386466346134 +36346465346235336432396464313232666563663938326233653465356531333762663539343037 +35653534323063623239623336303136643235356661336564366436393866633561626333333337 +39656561663839306662613931333236313562653234643866313835306562383062386139323033 +33306565353663636366613130363466366236616233656430383030633132336336653066363861 +61626463623339336361316631653263396135616438636639363730333335343939343763663734 +38363531393538666565386633303237623330333038653338323138363237643031656362643835 +61626263346439636439653164646135313637303830393438396663376133383032336461396539 +33653631333630373066613832363833313837363632663361396566323337313566396230303031 +30653563663137653437613966303265393039616337353837336330623233303039656564643635 +65323431373533373364653330373861366131386237616566326362663531383631396634663264 +33363162313434616237303936623766373039316437373830306430663230303031663639333338 +61646637643866373961396231303738613163356462386439363334303432326330303439363562 +39633761353232376236363536363165326430323537323562336331336161633235666564333437 +66646532303764306638333337353632356366343566343530653937316362373034363231373836 +37616464376165396234363237353539336538343366663262326163643561373063656462353732 +34393637646330386137333433376261646635623632333663616264326563373836323861316630 +36346535646335633762313566363939633765653135613032623035376430333137386531383232 +33643766386637646539386533316633323965343762343264663137373238363938623236393462 +36386137323031343635333533393931333361306466326434666630643633373235373131356266 +39316664366332383337373533353431383837646436393731396138643433303463643035663233 +66336132626665623336636333616331376330646337633931316164613764643964386563633932 +62316538306363333933616262343739356261326336656437393334303361383561353537633335 +63643038316334373137633437633335613264393433323531643939373232363064356432363231 +37646630633862336632383734383564346339383766633237386661663831303065393036393464 +31643338626139353631373437633939376234386162303632323764653864356438333161343737 +36303638376334626438623831653131376331396235323037653831646634303165333933336361 +32653433623861376230333162666233333261353830383332316362376235666433323530336233 +32316430663864663637383338653931373634343835623561336564303332393936323133343734 +32336339326237306137326239336465396430613632643039383330623933396262663363363963 +62663830316437303366303366666136333037313037666230393461326435363030643363656162 +64663839336465666364393665643133333034633232666164633435623262656532383038306532 +32326536383162303333333139306565343564633862333530333834663137666332343737663135 +63653035623831353466636631373632653632333066646331656332373533353464346136653037 +63643266343438366334633330653261343636633734336339656334616239626434643237383866 +66333265343234323139343363653233653063313839643661623738653563613439623165366165 +623631393432623337386337313461396361 diff --git a/roles/node_exporter/files/node_exporter b/roles/node_exporter/files/node_exporter index 9186ef7..e7684f4 100644 --- a/roles/node_exporter/files/node_exporter +++ b/roles/node_exporter/files/node_exporter @@ -1 +1 @@ -OPTIONS="" +OPTIONS="--web.config=/etc/node_exporter/web-config.yml" diff --git a/roles/node_exporter/tasks/main.yml b/roles/node_exporter/tasks/main.yml index 14e17f5..c50b448 100644 --- a/roles/node_exporter/tasks/main.yml +++ b/roles/node_exporter/tasks/main.yml @@ -9,6 +9,27 @@ - name: Configure node_exporter copy: src=node_exporter dest=/etc/default/node_exporter +- name: Create configuration directory + file: path=/etc/node_exporter state=directory + +- name: Ensure certificates are available + command: + cmd: > + openssl req -x509 -nodes -newkey rsa:2048 + -keyout /etc/node_exporter/{{ ansible_fqdn }}.key + -out /etc/node_exporter/{{ ansible_fqdn }}.crt + -days 730 -subj "/CN={{ ansible_fqdn }}" + creates: /etc/node_exporter/{{ ansible_fqdn }}.crt + notify: Restart node_exporter + +- name: Ensure correct certificate permissions + file: path=/etc/node_exporter/{{ ansible_fqdn }}.key owner=node_exporter mode=0400 + notify: Restart node_exporter + +- name: Configure node_exporter TLS + template: src=web-config.yml.j2 dest=/etc/node_exporter/web-config.yml + notify: Restart node_exporter + - name: Install systemd unit template: src=node_exporter.service.j2 dest=/lib/systemd/system/node_exporter.service notify: diff --git a/roles/node_exporter/templates/web-config.yml.j2 b/roles/node_exporter/templates/web-config.yml.j2 new file mode 100644 index 0000000..173ef67 --- /dev/null +++ b/roles/node_exporter/templates/web-config.yml.j2 @@ -0,0 +1,6 @@ +tls_server_config: + cert_file: /etc/node_exporter/{{ ansible_fqdn }}.crt + key_file: /etc/node_exporter/{{ ansible_fqdn }}.key + +basic_auth_users: + prometheus: {{ prometheus_node_pass | password_hash('bcrypt', 'supersecret1salt1value') }} diff --git a/roles/prometheus/templates/prometheus.yml.j2 b/roles/prometheus/templates/prometheus.yml.j2 index 53a71d6..12e566d 100644 --- a/roles/prometheus/templates/prometheus.yml.j2 +++ b/roles/prometheus/templates/prometheus.yml.j2 @@ -27,6 +27,12 @@ rule_files: scrape_configs: {% if node_targets is defined %} - job_name: node + scheme: https + basic_auth: + username: prometheus + password: {{ prometheus_node_pass }} + tls_config: + insecure_skip_verify: true static_configs: - targets: {% for target in node_targets %}