Jūsų sistemos saugumo skydas: firewalld ugniasienės konfigūravimo skriptas

 Šiandien aptarsime galingą įrankį, kuris gali padėti apsaugoti jūsų Linux sistemą - ugniasienės konfigūravimo skriptą. Šis skriptas yra tarsi jūsų skaitmeninio namo durininkas, nusprendžiantis, kas gali įeiti ir išeiti.

Ką daro šis skriptas?

  1. Įjungia ugniasienę: Skriptas pradeda darbą įjungdamas firewalld paslaugą ir nustatydamas ją automatiškai startuoti su sistema.
  2. Leidžia svarbias paslaugas: Skriptas atveria prieigą tokioms svarbioms paslaugoms kaip HTTP, HTTPS, FTP, DNS, el. pašto protokolams ir kt.
  3. Atveria specifinius prievadus: Leidžiama prieiga prie konkrečių prievadų, reikalingų populiarioms programoms kaip Firefox, Filezilla, Telegram, Syncthing, Zoom ir kt.
  4. Užtikrina sistemos atnaujinimus: Skriptas leidžia prieigą sistemos atnaujinimo įrankiams.

Kaip naudotis šiuo skriptu?

  1. Išsaugokite skriptą faile (pvz., firewall_setup.sh).
  2. Suteikite jam vykdymo teises: chmod +x firewall_setup.sh.
  3. Paleiskite su administratoriaus teisėmis: sudo ./firewall_setup.sh.

Privalumai ir trūkumai

Privalumai:

  • Greitai sukonfigūruoja saugią ugniasienę.
  • Leidžia populiariausias paslaugas ir programas.
  • Automatizuoja sudėtingą procesą.

Trūkumai:

  • Gali būti per daug atviras kai kuriems vartotojams.
  • Nėra pritaikytas specifiniams poreikiams.

Ką galima tobulinti?

  • Pridėti arba pašalinti prievadus pagal jūsų specifinius poreikius.
  • Įtraukti papildomų saugumo taisyklių.
  • Pridėti komentarų kiekvienai eilutei, paaiškinant jos paskirtį.

Šis skriptas yra puikus pradžios taškas tiems, kurie nori greitai ir efektyviai sukonfigūruoti savo sistemos ugniasienę. Tačiau nepamirškite, kad kiekviena sistema yra unikali, todėl gali prireikti tam tikrų modifikacijų.

 


#!/bin/bash

# Start and enable firewalld service
firewalld_commands=(enable start)

for command in "${firewalld_commands[@]}"; do
    sudo systemctl $command firewalld
done

# Services to allow
services=(
    http
    https
    ftp
    syncthing
    dns
    smtp
    imap
    pop3
    ssh
    dhcpv6-client
    ntp
)

# Add services
for service in "${services[@]}"; do
    sudo firewall-cmd --permanent --add-service=$service
done

# Ports to allow
ports=(
    443/tcp  # HTTPS for Firefox and other secure web services
    21/tcp   # FTP control port for Filezilla
    22/tcp   # SSH for secure file transfer with Filezilla
    465/tcp  # SMTP for sending email
    993/tcp  # IMAP for email retrieval
    995/tcp  # POP3 for email retrieval
    443/tcp  # Telegram uses HTTPS
    22000/tcp # Syncthing default port
    21027/udp # Syncthing default discovery port
    3478-3481/udp # Zoom, Teams, Skype ports
)

# Add ports
for port in "${ports[@]}"; do
    sudo firewall-cmd --permanent --add-port=$port
done

# Reload firewall to apply changes
sudo firewall-cmd --reload

echo "Firewall rules have been set up successfully."

Komentarai

Populiarūs šio tinklaraščio įrašai

Configuring a NixOS firewall for everyday use

Setting up syncthing as a service on openSUSE and other Linux distributions

Monitoring SFTP server updates with Python