Konfiguracja oprogramowania NUT do zarządzania upsem w systemie Linux Debian.

Nie wystarczy podłączyć upsa do naszych urządzeń. Gdy brak prądy będzie trwał dłużej to po wyczerpaniu akumulatorów wszystkie nasze urządzenia się wyłączą, narażając nas na utratę danych.

Podłączymy nasz ups z komputerem z zainstalowanym Debianem i programem do monitorowania zasilania NUT.

Instalacja:

# apt install nut

Konfiguracja Serwera NUT

Lista obsługiwanych UPS’ów dostępna https://networkupstools.org/stable-hcl.html

# nano /etc/nut/ups.conf

w pliku na końcu dodajemy konfigurację upsa ręcznie

#Konfiguracja dla APC BACK-UPS PRO 650
[ups]
  driver = apcsmart # odpowiedni sterownik z listy obsługiwanych UPS
  port = /dev/ttyS0 # port do którego podłączony jest UPS
  desc = "Server UPS Back-Ups PRO 650"
  ignorelb # Nie będzie brał pod uwagę flagi upsa o rozładowaniu 'ups.status'
  default.battery.charge.low = 30 # Ten ups nie podaje dolnej granicy rozładowania. Definiuje ją ręcznie
  battery.charge < battery.charge.low # Rozpocznie wyłączanie gdy będzie rozładowany poniżej limitu
  battery.runtime < battery.runtime.low # Jeżeli pozostały czas spadnie poniżej zadanej wartości  

lub wyszukujemy automatycznie, np. dla ups na USB uruchamiamy i wynik polecenia wstawiamy do /etc/nut/ups.conf (https://networkupstools.org/docs/man/nut-scanner.html)

# nut-scanner -U
Scanning USB bus.
[nutdev1]
	driver = "blazer_usb"
	port = "auto"
	vendorid = "FFFF"
	productid = "0000"
	product = "SMV1000CAI"
	serial = ""
	vendor = "APC by S.E."
	bus = "001"

Gdy ups podaje jakąś wartość a chcemy ją zmienić to wpisujemy np:

override.battery.charge.low = 30
override.battery.runtime.low =240

W przypadku UPSA podłączonego przez port szeregowy na Debianie trzeba zmienić dodać jeszcze użytkownika nut do grupy dialout:

# usermod -aG dialout nut

W pliku nut.conf ustawiamy MODE

# nano /etc/nut/nut.conf
MODE=standalone # Ten tryb jest przeznaczony do konfiguracji tylko lokalnej, z 1 zasilaczem UPS.
MODE=netserver # Tryb podobny do powyższego ale umożliwia dostęp do serwera nut z ze sieci

Dla MODE=netserver ustawiamy dodatkowo adres i port na którym ma nasłuchiwać

# nano /etc/nut/upsd.conf
LISTEN 127.0.0.1 3493
LISTEN x.x.x.x 3493 # Adres ip karty sieciowej na której będzie nasłuchiwał NUT

Konfiguracja hasła dla użytkowników (klientów serwera)

# nano /etc/nut/upsd.users
[monitor-master] 
password = haslo
upsmon master # dla klienta (monitora) który ma być masterem. Master to ten który wyłącza się ostatni po wyłączeniu wszystkich klientów slave

[monitor-slave]
password = HasloDlaKlientowSlave
upsmon slave # dla klientów (monitorów) slave

Teraz możemy uruchomić serwer nut

# systemctl enable nut-server
# systemctl start nut-server

p.s. Po zmianach w konfiguracji upsa w pliku /etc/ups.conf najlepiej uruchomić

# systemctl stop nut-server
# systemctl start nut-server
// zamiast
# systemctl restart nut-server

Aby odczytać dane z upsa uruchamiamy upsc podając jako parametr nazwe upsa wpisaną w pliku ups.conf

# upsc ups
battery.alarm.threshold: 0
battery.charge: 100.0
battery.charge.restart: 00
battery.date: 04/19/00
battery.runtime: 1020
battery.runtime.low: 120
battery.voltage: 13.85
battery.voltage.nominal: 012
device.mfr: APC
device.model: Back-UPS Pro 650
device.serial: NB0017242493
device.type: ups
driver.name: apcsmart
driver.parameter.cable: 940-0095B
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.parameter.sdtype: 2
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.internal: 3.1
input.frequency: 50.00
input.quality: FF
input.sensitivity: H
input.transfer.high: 253
input.transfer.low: 208
input.transfer.reason: line voltage notch or spike
input.voltage: 233.2
input.voltage.maximum: 233.2
input.voltage.minimum: 233.2
output.voltage: 233.2
output.voltage.nominal: 230
ups.delay.shutdown: 020
ups.delay.start: 000
ups.firmware: 12.5.I
ups.id: UPS_IDEN
ups.load: 047.4
ups.mfr: APC
ups.mfr.date: 04/19/00
ups.model: Back-UPS Pro 650
ups.serial: NB0017242493
ups.status: OL
ups.test.interval: 1209600
ups.test.result: NO

Konfiguracja klienta (monitora) nut

Na każdym urządzeniu które ma być podtrzymywane przez UPS musi być zainstalowany klient nut (monitor). Na komputerze do którego jest fizycznie podpięty ups oprócz serwera Nut musi być zainstalowany klient w trybie MASTER. Na pozostałych urządzeniach tylko klient w wersji SLAVE. Klient skonfigurowany jako MASTER zostanie wyłączony jako ostatni.

Na serwerze wraz z instalacją Nut zainstalował się również klient. Na pozostałych urządzeniach musimy go doinstalować.

# apt install nut-client

Konfiguracja klienta (monitora)

# nano /etc/nut/upsmon.conf

Dodajemy autentykacje do serwera nut

# MONITOR nazwa_ups_z_ups.conf@server_ip 1 uzytkownik_z_upsd.users PASSWORD [master|slave]
MONITOR ups@localhost 1 monitor-master haslo master # Wpis dla urządzenia master
MONITOR ups@x.x.x.x 1 monitor-slave HasloDlaKlientowSlave slave # Wpis dla urządzenia slave

Dodatkowo na urządzeniach SLAVE ustawiamy MODE

# nano /etc/nut/nut.conf
MODE=netclient

Teraz możemy uruchomić klienta Nut

# systemctl enable nut-client
# systemctl start nut-client

Testowanie

Aby wstępnie przetestować czy wszystko nam się wyłączy bez odłączania upsa od zasilania, na komputerze z podłączonym upsem uruchamiamy:

# usbmon -c fsd

System zostanie automatycznie zamknięty.

Jeżeli chcemy mieć pewność jak się zachowa po odłączeniu zasilania, nie czekając na rozładowanie upsa to w pliku /etc/nut/ups.conf zmieniamy

# nano /etc/nut/nut.conf 
override.battery.charge.low = 90

i uruchamiamy ponownie nut serwer

# systemctl stop nut-server
# systemctl start nut-server

Teraz możemy już odłączyć zasilanie od upsa i czekać na wyłączenie komputera lub komputerów, jeżeli mamy podłączonych więcej klientów (monitorów).

Fortigate – IP Reputation Filtering

Ta funkcja umożliwia zasadom zapory filtrowanie ruchu zgodnie ze skonfigurowanym poziomem reputacji. Jeśli poziom reputacji źródłowego lub docelowego adresu IP jest równy lub wyższy niż poziom ustawiony w zasadach, pakiet jest przekazywany dalej, w przeciwnym razie pakiet jest odrzucany.

Pięć domyślnych poziomów reputacji to:

  1. Znane złośliwe witryny związane z serwerami botnetów, witrynami phishingowymi itp.
  2. Witryny świadczące usługi wysokiego ryzyka, takie jak TOR, proxy, P2P itp.
  3. Niezweryfikowane witryny.
  4. Renomowane strony z mediów społecznościowych, takie jak Facebook, Twitter itp.
  5. Znane i zweryfikowane bezpieczne witryny, takie jak Gmail, Amazon, eBay itp.

Domyślny minimalny poziom reputacji w zasadzie wynosi zero, co oznacza, że ​​filtr reputacji jest wyłączony.

Aby ustawić poziom i kierunek reputacji w polityce:

config firewall policy
    edit 1
        set uuid dfcaec9c-e925-51e8-cf3e-fed9a1d42a1c
        set srcintf "wan2"
        set dstintf "wan1"
        set dstaddr "all"
        set reputation-minimum 3
	set reputation-direction source
        set action accept
        set schedule "always"
        set service "ALL"
        set logtraffic all
        set auto-asic-offload disable
        set nat enable
    next
end

reputation-direction to kierunek początkowego ruchu, aby reputacja zaczęła działać.