Ubuntu Server Configurazione Base iptables

Di seguito troverete alcuni semplici passi per configurare in maniera permanente iptables su ubuntu server. Per prima cosa occorre installare il pacchetto iptables-persistent. Questo semplice script permette configurare iptables all’avvio del sistema.
sudo apt-get install iptables-persistent

Passiamo ora alla configurazione, aprire il file rules
sudo vi /etc/iptables/rules

inserite la configurazione proposta di seguito (solo ssh ed http/s) ed abilitate eventuali altri servizi che vi servono. Fate attenzione a configurare correttamente il/i vostri server DNS.


# Public server IPTables Policy
#
# Written and Composed by Luigi Di Naro
#
# This assumes a few things.
# We use DNS servers from our ISP; 213.186.33.99
# Internal Network Consists of many things, but...
#
# Webserver
# SSH server
#
##############
# The Basics #
##############
#
# Turn on traffic filtering
*filter
#
# Default policies
:INPUT DROP
:FORWARD DROP
# I want to allow most websites, just not the trouble some ones.
:OUTPUT ACCEPT
#
# Accept all traffic from the loopback interface.
-A INPUT -i lo -j ACCEPT
#
# Accept legitimate responses to traffic we generate.
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#
# Allow established traffic
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#
#############################
# Services We Want to Allow #
#############################
#
# Allow ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
#
# Allow web traffic
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
#
#
# Allow inbound DNS responses from our ISPs DNS servers.
-A INPUT -s 213.186.33.99 -i eth0 -p udp -m state --state ESTABLISHED -m udp --sport 53 -j ACCEPT
-A INPUT -s 213.186.33.99 -i eth0 -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
#
###################
# Everything Else #
###################
#
# Drop Everything Else
-A INPUT -j DROP
#
# Log Traffic
-I INPUT 5 -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
#
# Make it all true.
COMMIT

La configurazione è minimale e si riferisce ad un server pubblico che distribuisce contenuti tramite http da controllare con ssh (il caso più comune).

Se volete aggiungere nuovi servizi duplicate la sezione http con il nuovo protocollo, se avete più di un dns duplicate le due righe della sezione DNS.

Una volta attivato il firewall:

sudo /etc/init.d/iptables-persistent start

il vostro sistema accetterà connessioni in ingresso solo per le porte HTTP/S ed SSH.

Buona sperimentazione con iptables.

Gnome script

Visto che me li hanno chiesti in tanti pubblico i due script semplici semplici che permettono di aggiungere delle funzionalità in più a Gnome.

Vado di fretta quindi nessun immagine correlata come al solito ma solo il testo.

Per installarli da terminale date i seguenti comandi :

sudo apt-get install nautilus-open-terminal -y
sudo apt-get install nautilus-gksu -y

E con questo semplici articolo rientro a scrivere sul blog.

Installare Ubuntu via NetBoot (PXE)

Miniguida su come installare Ubuntu via rete

Qualche domenica fa ho approfittato di una mattina libera per installare Feisty sul mio portatile, operazione che mi ero ripromesso di fare da diverso tempo ma causa impegni e distrazioni varie non avevo mai fatto. Fin qui nulla di nuovo sotto questo cielo, quanti di voi hanno fatto la stessa operazione?, ma allora perché questo articolo? La particolarità dell’installazione non è legata ad ubuntu, o almeno non direttamente, ma all’hardware su cui dovevo installarlo, un Toshiba Portegè R100 sprovvisto di lettore CD/DVD. A complicare il tutto una limitazione inserita nel bios che impedisce il boot a mezzo usb di un lettore esterno, una boiata della Toshiba per farti comprare i suoi lettori PCMCIA, considerazione che faccio poiché sul manuale è espressamente indicato che il boot da CD è possibile solo tramite PCMCIA e che la stessa Toshiba garantisce solo per i suoi prodotti.

Unica alternativa per installare Ubuntu rimane quella tramite boot di rete (fortunatamente questo supportato), ed ecco allora spiegato il senso di questo articolo. Descrivere i semplici passi necessari ad una installazione via PXE di ubuntu.

Per l’installazione ho utilizzato un server TFTP sotto windows poiché devo anche sistemare il fisso e l’unica installazione semifunzionante è quella con un vecchio windows dismesso. I passi da seguire restano comunque pressoché identici, basta sostituire il demone TFTP con il corrispettivo Unix.

Vediamo quindi come installare Feisty via PXE iniziando dalla lista della spesa, ovvero

Cosa serve:

a) Una rete domestica con un pc che faccia da server TFTP (M$ windows nel mio caso)
b) Una connessione ad internet veloce (DSL o cavo che sia)
c) un demone TFTP ( io ho usato Tftpd32.exe)
d) l’immagine di boot di Ubuntu Feisty.

Il primo passo è preparare la macchina server affinché faccia da TFTP e DHCP, per far ciò sotto windows potere utilizzare il già citato Tftpd32 scaricabile liberamente da qui http://tftpd32.jounin.net/

Decomprimete lo zip dove vi pare, vi sconsiglio di utilizzare l’installer piuttosto prendete lo zip e scompattatelo in una cartella a vostro piacimento, E:\nb\tftpd32 nel mio caso.

Il passo successivo consiste nel recuperare l’immagine netboot di feisty che trovate qui
http://archive.ubuntu.com/ubuntu/dists/feisty/main/installer-i386/current/images/netboot/netboot.tar.gz

Estraete il contenuto del file nella stassa cartella utilizzata per il server tftpd (E:\nb\netboot).

Decompresso il contenuto bisogna copiare:

la cartella “E:\nb\netboot\ubuntu-installer\i386\pxelinux.cfg”
ed i files “E:\nb\netboot\ubuntu-installer\i386\pxelinux.0” ed “E:\nb\netboot\ubuntu-installer\i386\linux” in E:\nb\netboot”

fatto ciò è possibile avviare il server tftp tramite l’eseguibile tftpd32.exe

Nella tab tftp configurare le opzioni come in figura:

tftp server

spostarsi nella tab dhcp e configurare le varie opzioni come segue:

  • ip pool starting address: il primo ip che verra’ rilasciato (ES: 192.168.1.110)
  • size: il numero di ip massimi rilasciabili, potete mettere anche 2 (ES: 5)
  • boot file: /netboot/pxelinux.0
  • dafult router: l’indirizzo del vostro gateway (es: 192.168.1.1)
  • mask: la maschera della vostra rete (ES: 255.255.255.0)

Le operazioni di configurazione del demone TFTP sono terminate, ricordarsi di salvare le impostazioni del DHCP tramite apposito bottone “salva” sulla tab di configurazione.

I passi successivi si eseguono sulla macchina nella quale vogliamo installare Ubuntu. Per prima cosa bisogna controllate che nel bios sia impostato il boot da rete in modalita’ PXE e che questa modalità di boot abbia precedenza su eventuali altri dispositivi. Se non lo fosse configurate di conseguenza il bios ed avviate il pc.

Quello che vi verrà mostrato a video dipende dal tipo di bios utilizzato, in generale si vengono mostrate le fasi di acqusizione ip tramite DHCP, la richiesta al server TFTP.

Potete controllare nei log del server tftp le richieste con il relativo esito, se non arriva nessuna richiesta di DHCP ricontrollare la configurazione ed i cablaggi tra client (pc che vogliamo installare) e server.

In assenza di problemi l’immagine del kernel viene scaricata dal server ed avviata, quello che vi si presenta è qualcosa di simile a questo:

 

screen1

Confermiamo l’installazione client, a meno che non vogliate installare un server, e dopo qualche secondo apparire la schermata di scelta della lingua:

 

screen2

Da questo momento in poi seguite una delle tante guide su come installare ubuntu. Unica accortezza, armatevi di pazienza perché tutto verra’ scaricato dalla rete quindi ci vorrà’ un pezzo per completare l’installazione.