Galvenā izvēlne

Subscribe to Linux Centrs apkopotājs - Latvijas kopiena

Latvijas kopiena

Linux Centrs: Brīvpieejas tiešsaistes kurss Cybersecurity Essentials

Ubuntu planēta - Pr, 03/27/2017 - 16:07

LU Datorikas fakultāte E-prasmju nedēļas ietvaros sadarbībā ar Cisco Tīklu Akadēmiju publicējusi brīvpieejas tiešsaistes kursu par kiberdrošības pamatiem - Cybersecurity Essentials. Kurss ir brīvi pieejams jebkuram - vietnē https://378279526.netacad.com/courses/492617 . Tajā būs jāreģistrē savs konts ar savu e-pastu, un kursu var brīvi lietot no jebkura datora jebkurā laikā līdz 30. aprīlim.
Kurss ir paredzēts apgūšanai 16 stundu laikā, domāts cilvēkiem, kam ir labas iemaņas darbā ar datoru un Internetu, un kas vēlas iepazīties ar kiberdrošības pamatiem. Kursa saturs ir angļu valodā, sadalīts nodaļās, un katrai no tām ir tests (Quiz), kas parāda, cik labi cilvēks ir apguvis nodaļas tēmu. Kursa beigās ir paredzēts nokārtot eksāmenu - arī testa veidā, līdz ar to sekmīgi pabeigt kursu. Būs arī sertifikāts par sekmīgu kursa pabeigšanu.

Tēma: LatvijaKategorija: Pamācības
Kategorijas: Latvijas kopiena

Aivars Šterns: Ansible

Ubuntu planēta - Pk, 02/24/2017 - 17:11

Serveru automatizācija ir vienmēr bijusi tāda interesanta padarīšana, atceros pašos pirmsākumos to darīju uz katra servera kopējot kaut kādu scriptu kopumu kas veica kaut kādu noteiktu darbību, tad sāka palikt grūti uzturēt šos scriptus un tam atmetu ar roku, daudz ko darīju ar rociņām, jo tā vienkāršāk. Tad parādijās visādi cfengine, puppet, chef (tie par kuriem šajā periodā biju dzirdējis), viss jau būtu labi, tikai mani biedēja fakts, ka jebkurā gadījumā lietojot šo rīku man jāuztraucas lai konekcijas starp serveri un klientu darbotos, kā arī lai sāktu tas viss darboties ir vispirms jāsāk ar klienta instalēšanu uz servera. Jūs teiksiet tas jau viegli un tā, bet es teikšu jā viegli, bet tomēr vēlviena lieta kas griežas uz servera un var atmirt. Tad nāca mana šobrīdējā darbavieta un es iepazinos ar Ansible (github repo). 

Ansible atšķirībā no iepriekš pieminētajiem rīkiem neprasa instalēt klientu uz servera, ansible izmanto ssh konfigurāciju labošanai/veidošanai. Par cik diezgan grūti iedomāties kādu serveri kurš ir bez ssh pieejas, tas nozīmē ka nekādi papildus porti uz serveriem nav jāver, papildus tam es varu mainīt serveru konfigurāciju neveicot nekādas izmaiņas centralizētā vietā. 

Ansible konfigurācijas apraksti tiek veikti salīdzinoši vieglā valodā yaml. Pati ansible ir rakstīta Python programmēšanas valodā, kas arī uz serveriem jau ir uzinstalēta pēc noklusējuma. 

Kādos gadījumos ansible mums var palīdzēt? Principā jebkurā, atliek tikai izvēlēties veidu kā kaut ko panākt, vai tas ir modulis, vai scripts.

Pirmais kas nepieciešams ir serveru saraksts, sākotnēji mēs sākām izmantot klasisko veidu serveru sarakstam, tas ir ini stila konfigurācijas fails

[grupa] hosts1 hosts2 [grupa2] hosts3 [grupa3] hosts1 hosts4

Kad serveru daudzums un grupu daudzums auga mēģinājām dalīt vairākos failos, bet tad sāka veidoties bardaks un bija problēmas izsekot kurš hosts ir kurā grupā utt.. Sāka parādīties nepieciešamība pēc dinamiskā serveru saraksta, jo serveru saraksta failā sāka veidoties bardaks. Ansible jau pēc noklusējuma atbalsta dinamisku serveru sarakstu, kur piemēram python scripts kā mums izmantojot API pieprasījumus uzģenerē json kā inventory. Protams Redhat piedāvā tādu makstas rīku kā Ansible tower, kas principā ir ļoti labs, bet maksā arī labas naudiņas, par to citreiz.
Ansibli iespējams darbināt vairākos veidos

  • pirmais ir klasiskais ad-hoc veids izmantojot ansible komandu
  • izmantojot iespēju laist ansible spēli izmantojot ansible-playbook komandu
  • izmantojot ansible –pull

ad-hoc komanda ir visātrākais veids kā izdarīt konkrētas lietas uz vairākiem serveriem vienlaicīgi izsaucot konkrēti nepieciešamo moduli ar parametriem. Papildus tam nav nepieciešama nekāda iepriekš veidota konfigurācija. Piemēram var paskatīties uz visiem serveriem kādā grupā kāds ir laiks.

ansible -i inventory -m shell -a "date" grupa3 (dinamiskā serveru saraksta gadījumā mēs inventory vietā norādīsim inventory.py un ansible zinās ka scripts ir jāizpilda un iegūs dinamisko serveru sarakstu)

Šī komanda atgriezīs rezultātu no katra servera kurš ir grupā grupa3

# ansible -i inventory -m shell -a "date" grupa3 hosts1 | SUCCESS | rc=0 >> Fri Feb 24 13:48:57 UTC 2017 hosts2 | SUCCESS | rc=0 >> Fri Feb 24 13:48:57 UTC 2017

Ansible Oficiālo moduļu saraksts, bet pameklējot var atrast arī kaut ko neoficiālu vai jebkurā gadījumā ja kaut kā nav un ir nepieciešamība ar nelielām python zināšanām to var izveidot (mums ir iekšējs modulis kas maina serveriem paroles un saglabā tās paroļu repozitorijā – tas nodrošina to ka neviens no darbiniekiem nezin root lietotāja paroli kamēr nav paskatījies iekš paroļu repozitorija

Šādā veidā mēs varam izdarīt pilnīgi visu ko mēs būtu darījuši ielogojoties katrā no serveriem ar vienu komandu. Šis ir veids kā sākt lietot ansible neiedziļinoties sarežtīgās procedūrās. 

Nākošais veids jau ir izmantojot ansibles spēli (ansible-playbook) šis jau ir nedaudz sarežģītāks veids jo spēj izpildīt vairākas darbības pēc kārtas. 

Lai izmantotu ansible-playbook pirmais kas ir nepieciešams ir spēles grāmata kas ir aprakstīta yaml

- hosts: all #norādam all un laižot spēli limitējam uz kādu no grupām, vai norādam grupu uzreiz šeit. sudo: yes gather_facts: True tasks: - name: "Pirmais uzdevums" yum: name: httpd state: latest - name: "Otrais uzdevums" service: name: httpd state: started enabled: yes

Šī vienkāršā spēle nodrošinās to, ka uz servera ir uzinstalēta paka httpd un tā ir pēdējā pieejamā, un tā ir piestartēta. Tālāk jau uzdevumus var pārcelt uz lomām, un tad šeit norādīt nevis uzdevumus, bet lomas kuras jāizpilda. 

Lai ansible spēle zinātu ko darīt varam veidot vērtību failus gan hostiem gan grupām 

group_vars/grupa1/vars.yml group_vars/grupa1/secure.yml host_vars/host1/vars.yml host_vars/host1/secure.yml

Ansible nodrošina arī drošu vērtību glabāšanu secure.yml failā izmantojot ansible-vault, kam nepieciešama parole lai atšifrētu. 

Lomas direktoriju shēma:

roles/defaults/main.yml #noklusējuma vērtības kas nepieciešamais šai lomai roles/handlers/main.yml #par šo nedaudz vēlāk roles/meta/main.yml #lomas atkarības pret citām lomām var norādīt šeit roles/tasks/main.yml #šeit galvenā lomas daļa - uzdevumi roles/vars/main.yml #šeit kādas no vērtībām kas atšķiras no noklusētajām roles/scripts/ #skripti roles/templates/ #veidnes

Kā jau pēc faila paplašinājuma noprotam tad viss tiek aprakstīts yaml formātā.

Handlers (pat nezinu kā latviski nosaukt – apstrādātāji?) ir lieta kas ir noderīga piemēram vienas aplikācijas vairāku konfigurācijas failu atjaunošanās gadījumā, nebūs jārestartē aplikācija pēc katra faila izmaiņas, bet tiek nosūtīta komanda ka būs jarestartē aplikācija un tas notiks pašās spēles beigās, protams ja neviens no konfigurācijas failiem nav izlabots spēles laikā, tad aplikācijas restartēšana nenotiks.

- name: "nginx konfigurācija" template: src: nginx.conf.j2 dest: /etc/nginx/nginx/conf owner: root group: root mode: 0644 validate: 'nginx -t' notify: - restart nginx -name: "atjaunojam vhost konfigurācijas" template: src: vhosts.conf.j2 dest: /etc/nginx/vhosts.d/{{ item }}.conf validate: 'nginx-t' with_items: - vhost1 - vhost2 - vhost3 notify: - restart nginx ### un pats handler - name: "restart nginx" service: name: nginx state: restarted # Rezultāts: TASK [nginx : nginx konfigurācija] ************************************* ok: [host1] TASK [nginx : atjaunojam vhost konfigurācijas] ******************************************** ok: [host1] RUNNING HANDLER [nginx : restart nginx] ****************************************** changed: [host1]

šādi var veidot sarežģītas konfigurācijas norādot katrai grupai/hostam savas vērtības, bet izmantojot vienu veidni.

Veidnēm tiek izmantots  jinja2, kas ir veidņu valoda rakstīta priekš python. Šim es daudz nepieskaršos, par cik šī lieta ir diezgan vienkārša un saprotama.

Mūsu gadījumā mēs ar ansibli daram visu, tajā skaitā arī instalējam jaunus serverus, tad tos sakonfigurējam pēc prasībām izmantojot kādu no lomām. Lomas bieži vien ir atsevišķas priekš OS domātas lomas, ka arī lomas kas pat ir sadalītas vairākās daļās kādas aplikācijas uzlikšanai uz servera.

Cerams ka neliels ieskats ir izdevies, piedodiet par haotiskumu bet reizēm tā gadās, nu labi vienmēr :)

 

© Atoms.

Kategorijas: Latvijas kopiena

Kursors.lv: Pasniegta LATA balva par ieguldījumu atvērto tehnoloģiju izmantošanā

Ubuntu planēta - Pk, 02/03/2017 - 16:57

Latvijas Atvērto tehnoloģiju asociācijas (LATA) organizētajā konferencē “Atvērtās tehnoloģijas izaugsmei” tika svinīgi pasniegtas Latvijas atvērto tehnoloģiju asociācijas gada balvas par ieguldījumu atvērtu informācijas un komunikācijas tehnoloģiju izstrādē, izmantošanā un popularizēšanā. Balva tika pasniegta 3 nominācijās: Atvērtākā iestāde, Izcilākais tehnoloģiju risinājums biznesā, kā arī Būtiskākais ieguldījums  tehnoloģiju popularizēšanā.

Balvu par Atvērtāko iestādi saņēma Latvijas Nacionālais arhīvs par Latvijas Valsts kinofotofonodokumentu arhīva veidoto  projektu www.redzidzirdilatviju.lv,  kurā  piedāvā  ikvienam  interesentam meklēt informāciju par arhīvā uzkrātajiem kinodokumentiem un videodokumentiem, kā arī skatīties vietnē publicētos video.

Gada balvu par Būtiskāko ieguldījumu tehnoloģiju popularizēšanā saņēma Ernests Gabrāns – par atvērtā pirmkoda tehnoloģijas Drupal popularizēšanu, Drupal kopienas izveidi Latvijā, aktīvu darbību Drupal kopienā, iniciējot un organizējot pasākumus ne tikai vietējā, bet arī starpvalstu līmenī, kā arī par sniegto atbalstu IKT studentiem, sniedzot lekcijas, nodrošinot prakses vietas un stipendijas.

Turpretī nominācijā par Izcilāko tehnoloģiju risinājumu biznesā balvu saņēma SIA “Intelligent way” – par izstrādāto CEnOS (Connecting Engineering Open Source)  integrēšanas platformu, kas apvieno dažādas inženiermodelēšanas (CAD/CAE) atvērtā pirmkoda programmatūras.
Vides aizsardzības un reģionālās attīstības ministrs Kaspars Gerhards, atklājot Latvijas Atvērto tehnoloģiju asociācijas (LATA) konferenci “Atvērtās tehnoloģijas izaugsmei”, uzsvēra, ka Latvijas digitālās politikas mērķis ir nodrošināt iespēju ikvienam izmantot informācijas un komunikāciju tehnoloģiju sniegtās iespējas, veidot uz zināšanām balstītu ekonomiku. Īpaša uzmanība digitālajā politikā ir pievērsta atvērto datu principa ieviešanai publiskajā pārvaldē, jo tā sevī ietver līdz šim nenovērtētu digitālās ekonomikas attīstības potenciālu, pārvēršot informācijas resursus, kuri rodas publiskajā pārvaldē, jaunās inovatīvās uzņēmējdarbības idejās un pakalpojumos, kas spēj palielināt ienākumus un radīt darbavietas.

Konferencē piedalījās vairāk kā 200 informācijas un komunikācijas tehnoloģiju (IKT) nozares profesionāļi, uzņēmēji, valsts, pašvaldību un izglītības iestāžu darbinieki, lai dalītos zināšanās un diskutēt par to, kā ar atvērtu tehnoloģiju palīdzību veicināt valsts, pašvaldību, izglītības iestāžu un privāto uzņēmumu izaugsmi, uzsverot drošības, privātuma, datu uzglabāšanas un pārvaldības aspektus.

Pasākuma galvenais atbalstītājs ir IBM. Pasākuma norisi atbalsta arī Squalio CC, Clusterpoint un Proact IT Latvia. Informatīvi atbalsta LMT.

Kategorijas: Latvijas kopiena