DNS – Konfiguracja gdy domena nie używana do wysyłania poczty

You need to add a widget, row, or prebuilt layout before you’ll see anything here. 🙂

Gdy nasza domena nie jest używana do rozsyłania poczty, możemy dodać do dnsu wpisy, które będa utrudniać przyjmowanie poczty z naszej domeny przez inne serwery.

SPF – nie zgadzamy się na wysyłanie poczty z żadnego adresu IP

nasza.domena.pl    TXT      v=spf1 -all

DMARC – Informujemy odbiorcze serwery poczty, aby w przypadku nie zgodności polityk DMARC odrzucały maile

_dmarc.nasza.domena.pl    TXT      v=DMARC1;p=reject;

Zabbix zgłasza problemy z usługami GoogleUpdater w Windows

Usługa GoogleUpdater często zmiania swoją nazwę a Zabbix nas o tym informuje. Zmienimy ustawienia Zabbixa aby nie monitorował tej usługi.

  • Data Collection -> Templates -> Windows by Zabbix agent -> Macros
  • Do macra {$SERVICE.NAME.NOT_MATCHES} na końcu przed ’)$’ dodajemy '|GoogleUpdater.*’
  • Wyłączamy tiggery na które wskazują bierzące alarmy GoogleUpdater. (Na liście problemów lewy przycisk myszy na nazwie problemu nastepnie wybieramy z menu Tigger. W okienku na dole odznaczamy Enabled i zatwierdzamy zmiany)

Testowanie połączenia ssl/tls za pomocą openssl

Gdy potrzebujemy przetestować przebieg połączenie ssl z serwerem http, poczty lub innym wykorzystującym protokół ssl/tls, możemy spróbować połączyć się z serwerem używając openssl w trybie klienta.

# openssl s_client -connect google.com:443

CONNECTED(00000003)                                                                                                                                                                                                                                                                                                                                   
depth=2 C = US, O = Google Trust Services LLC, CN = GTS Root R1                                                                                                                                                                                                                                                                                       
verify return:1                                                                                                                                                                                                                                                                                                                                       
depth=1 C = US, O = Google Trust Services, CN = WR2                                                                                                                                                                                                                                                                                                   
verify return:1                                                                                                                                                                                                                                                                                                                                       
depth=0 CN = *.google.com                                                                                                                                                                                                                                                                                                                             
verify return:1                                                                                                                                                                                                                                                                                                                                       
---                                                                                                                                                                                                                                                                                                                                                   
Certificate chain                                                                                                                                                                                                                                                                                                                                     
 0 s:CN = *.google.com                                                                                                                                                                                                                                                                                                                                
   i:C = US, O = Google Trust Services, CN = WR2                                                                                                                                                                                                                                                                                                      
   a:PKEY: id-ecPublicKey, 256 (bit); sigalg: RSA-SHA256                                                                                                                                                                                                                                                                                              
   v:NotBefore: Jun  3 06:35:38 2024 GMT; NotAfter: Aug 26 06:35:37 2024 GMT                                                                                                                                                                                                                                                                          
 1 s:C = US, O = Google Trust Services, CN = WR2                                                                                                                                                                                                                                                                                                      
   i:C = US, O = Google Trust Services LLC, CN = GTS Root R1                                                                                                                                                                                                                                                                                          
   a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256                                                                                                                                                                                                                                                                                              
   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT                                                                                                                                                                                                                                                                          
 2 s:C = US, O = Google Trust Services LLC, CN = GTS Root R1                                                                                                                                                                                                                                                                                          
   i:C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA                                                                                                                                                                                                                                                                              
   a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256                                                                                                                                                                                                                                                                                              
   v:NotBefore: Jun 19 00:00:42 2020 GMT; NotAfter: Jan 28 00:00:42 2028 GMT                                                                                                                                                                                                                                                                          
---                                                                                                                                                                                                                                                                                                                                                   
Server certificate                                                                                                                                                                                                                                                                                                                                    
-----BEGIN CERTIFICATE-----                                                  
MIIOTTCCDTWgAwIBAgIQag+0Dl9hY5UKDMPiKzcGqDANBgkqhkiG9w0BAQsFADA7             
MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQww
. . . . .

W wyniku polecenia zobaczymy cały przebieg połączenia który może ułątwić nam identyfikację problemów z certyfikatami

Gdy chemy sprawdzić start tls smtp do do polecenia dodajemy parametr -starttls smtp lub -starttls ftp

Zabbix – Monitorowanie Proxmoxa

Aby monitorować Proxmoxa instalujemy na każdym nodzie Agenta Zabbix i dodajemy go do Zabbixa wskazując Templates „Linux by Zabbix agent”, „Proxmox VE by HTTP”.

Teraz w Proxmoxie dodajemy użytkownika zabbix oraz token.

Datacenter > Permissions > User > Add
Wypełniamy:

  • User name: zabbix
  • Realm: Linux PAM
  • Expire: never
  • Enabled: checked
  • First Name: dowolny
  • Last Name: dowolny

Datacenter > Permissions > Api Tokens > Add
Wypełniamy:

  • User: Wybieramy utworzonego
  • Token ID: Dowolny (np: ZabbixMonito01)
  • Privilege separation: checked

Po kliknięciu Add zapisujemy sobie Token ID oraz Secret, gdyż później Secret nie będzie już dostępny.

W Proxmoxie dodajemy uprawnienia do użytkownika i tokena
Datacenter > Permissions > Add > User Permission
Wypełniamy:

  • Path: /
  • User: Wybieramy utworzonego
  • Role: PVEAuditor
  • Propagate: no checked
  • Path: /nodes
  • User: Wybieramy utworzonego
  • Role: PVEAuditor
  • Propagate: checked
  • Path: /vms
  • User: Wybieramy utworzonego
  • Role: PVEAuditor
  • Propagate: checked
  • Path: /storage
  • User: Wybieramy utworzonego
  • Role: PVEAuditor
  • Propagate: checked

Datacenter > Permissions > Add > Api Token Permission

Dla tokena ustawiamy identyczne uprawnienia jak dla użytkownika

Wracamy do konfiguracji Zabbixa aby ustawić wygenerowany Token

Data collection > Hosts > <Proxmox name> > Macros

  • {$PVE.TOKEN.ID} value: Token ID
  • {$PVE.TOKEN.SECRET} value: Secret

Fortigate – włączenie trybu proxy w GUI

Gdy w gui w politykach firewall nie widzimy przełącznika Inspection Mode Flow-based / Proxy-based musimy w cli wykonać polecenie:

config system settings
set gui-proxy-inspection enable
end

gui-proxy-inspection należy również ustawić aby aktywować niektóre veature np: Web Application Firewall 

Security Onion – Powiadomenia Slack

Na podstawie https://docs.securityonion.net/en/2.3/elastalert.html, https://elastalert.readthedocs.io/en/latest/running_elastalert.html#creating-a-rule, https://github.com/Yelp/elastalert

Dodajemy powiadomienia na Slacka alarmów „high”.

W Slack dodajemy aplikację, kanał typu „Incoming WebHooks”. Przy tworzeniu kanału Slack wygeneruje nam URL np: „https://hooks.slack.com/services/<YOUR_WEBHOOK_URI>”
Do kanału przypisujemy członków, którzy będą dostawać powiadomienia z tego kanału.

W Security Onion w katalogu /opt/so/rules/elastalert/ tworzymy plik yaml np:

# nano alertToSlack1.yaml

alert:
- "slack":
    slack_webhook_url: "https://hooks.slack.com/services/<YOUR_WEBHOOK_URI>"
    alert_text: "Security Onion problem: {0}\n{2} - {1}"
    alert_text_type: alert_text_only
    alert_text_args: ["@timestamp", "rule.name", "event.module"]

elasticsearch_host: "<security.onion.domain>:9200"
filter:
- query:
    query_string:
      query: "event.severity: >2"
index: '*:so-*'
name: High Severity Alert
priority: 2
realert:
  minutes: 0
type: any

Filtr w tym pliku wyśle do Slack wszystkie alerty „high” czyli te z event.severity > 2.

Możemy utworzyć wiele kanałów w Slack i wiele plików z konfiguracja yaml, dostosowując 'filter’ tak aby do danego kanału w Slack były wysyłane tylko wybrane przez nas alerty.

Fortigate – restart noda w HA

{Lista nodów}
Unit-1 # execute ha manage ?
<0>     Subsidiary unit FGX00FTXXXXXX
<1>     Subsidiary unit FGX00FTYYYYYY

{Przełączenie na noda id 1}
Unit-1 # execute ha manage 1 admin                
Unit-2 $                                     

{Reboot noda}
Unit-2 $ execute reboot
This operation will shutdown the system !
Do you want to continue? (y/n)y

Fortigate WAF – ignorowanie sygnatury

W profilu WAF możemy dodać sygnaturę do listy ignorowanych.

Zacznijmy od sprawdzenia opisu sygnatury, którą chcemy wyłączyć.

diag waf dump | grep -f <id sygnatury>

# diag waf dump | grep -f 90300017

90300017 - This signature prevents attackers from obtaining file and folder names using a tilde character "~" in a get request . <---

Aby w danym profilu dodać sygnaturę do listy ignorowanych wykonujemy:

# config waf profile
# edit <Profile Name>
# config signature
# show | grep disabled-signature  
   
  set disabled-signature 80080005 80200001 60030001 60120001 80080003 90410001 90410002

Zapamiętujemy aktualne wpisy i dodajemy nowy

# set disabled-signature 80080005 80200001 60030001 60120001 80080003 90410001 90410002 90300017 
# end
# end