Streming mp3 server gratis

Vibe Streamer

Vibe Streamer features the following and much more:

Free MP3 Streaming Server.
Easy installation and configuration.
Share unlimited files and directories.
Full support for Windows NT/2000/XP/2003.
Protect your directories with user accounts and groups.
Easily manage your users, groups and their access rights.
Restrict access to your server based on the clients IP address, for better security.
Unlimited skin possibilities, create your own or download new skins as they appear on our website.
The included standard skin supports the latest versions of Internet Explorer, Mozilla Firefox and Opera.
Our own Vibe Script Language, for unlimited possibilities in skin creation.
Guaranteed free from backdoors, spyware, adware and other non-requested software.

Ecco un tool per windows veramente ottimo, soprattutto Freeware. Si tratta di un server di “condivisione musicale” che vi permette di ascoltare i vostri mp3 ovunque voi siate, vi basta essere collegati alla rete e disporre di adsl sempre connessa a casa. L’interfaccia è completamente personalizzabile, i file di configurazione in formato xml rendono questo server una applicazione flessibile e personalizzabile a livelli altissimi. Ottimi filtri per la sicurezza, fantastica!

Posted in Internet, Windows at June 30th, 2006. No Comments.

Hardening Debian Linux LAMP Servers

Hardening Debian Linux Web PHP Servers

L’aspetto più rilevante nella configurazione di un web server è senza dubbio la completa collaborazione fra sviluppatori di codice e sistemisti (gli sviluppatori grafici non hanno voce in questione 😛 )

Inutile preparare una macchina dalla configurazione hardware ottimale con RAID 5 o 10 su 4 dischi SCSI e un firewall di 3000 righe per scoprire di lunedì mattina che il DB è vuoto. Motivo? Account di amministratore settato con USER: “Admin” e Password indovinate un po’… 😐 … “Admin” ovvio!

Sprecare quel paio d’ore in più a chiacchierare con lo sviluppatore non è male, ma cosa buona e giusta! Prendetevi tutto il tempo per rendere stabili e congruenti le modifiche e non abbiate nè fretta nè timore di far osservare qualche policy di sicurezza in più al vostro collega cresciuto su manuali che danno per scontato il non effettuare input sanitazing.

Per la preparazione del kernel (personalmente pendo dalla parte degli amanti di conf monolitiche con le giuste patch applicate vedi grsecurity) penso di scrivere qualcosina più avanti.

Security is a process, not a result (sia chiaro in partenza…)

Security a livello di sistema

Questo è il compito del sistemista … effettivamente c’è bisogno di parecchio tempo per raffinare la tecnica e centralizzare le politiche in un layer di controllo non troppo invasivo.

Prima di iniziare a stilare qualche linea di codice e iniziare a riconfigurare mezza /etc è un consiglio confrontarsi con lo sviluppatore. Bisogna tener conto delle effettive esigenze del developer: upload (accesso ftp per lo spostamento di file) , directory con permessi di scrittura lato utenza apache (chmod www-data dir ), parametri dimensionali (massimo tempo di esecuzione script), necessità di reloadare servizi (accesso ssh), accettare traffico da e verso determinati ip e porte.

Il bello della configurazione di un server è che ogni volta che ne andrete a creare uno nuovo vi verrà sempre più naturale orientarlo verso sicurezza e performance, ovviamente se avete voglia di imparare e tenervi aggiornati!

Stilata la lista delle necessità dello sviluppatore iniziamo a modificare le configurazioni più “critiche”.

Dividiamo in due rami il nostro compito: network security e file system security, iniziamo a leggere le specifiche e trarre le conclusioni. Il server web ospiterà un cms php/mysql, dovrà essere permesso l’invio di mail, il webmaster dovrà modificare i file della htdocs, e restartare o stoppare apache e mysql. Installiamo una LAMP e phpmyadmin per l’amministrazione del DB, qmail per l’invio delle mail, il demone ssh per permettere “ftp” over SSH (quindi niente proftpd o simili) e la gestione dei demoni (via sudo darete la possibilità all’utente webmaster di compiere quelle determinate operazioni…)

Network security

#netstat -l -n -p -t -u -w
Active Internet connections (only servers)
Proto  Local Address         PID/Program name
tcp    127.0.0.1:3306        31920/mysqld
tcp    192.168.168.168:80    15695/apache
tcp    192.168.168.168:22    26850/sshd
tcp    127.0.0.1:25          15809/tcpserver

L’elenco delle porte in ascolto sul server, comprende i vari protocolli ma esclude i socket unix (canali di comunicazione fra ad esempio apache e mysql) e qualche colonna poco utile a fini didattici.

#nmap -sS 192.168.168.168

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap finished: 1 IP address (1 host up) scanned in 0.578 seconds

Perfetto (siamo ancora sprovvisti di firewall) vengono riconosciute da nmap le porte dei servizi che saranno contattabili dal segmento pubblico e nn solo da localhost: apache sulla 80 e ssh sulla 22

Come fare a disabilitare i servizi di default? Semplicemente commentate le entry relative nei file di configurazione sotto /etc e sotto /etc/init.d per i file di configurazione come quello di qmail. E’ inutile lasciare servizi che non dovranno essere raggiungibili dal mondo esterno in ascolto. Meglio bindarli su localhost. Su Debian date uno sguardo /etc/inetd.conf /etc/init.d/* e /etc/default

IPTABLES

Per completare la nostra configurazione di rete non rimane che scrivere un piccolo firewall da mettere sulla macchina, che rimarrà cmq. in dmz dietro a un altro firewall un po’ più corposo. La politica che preferisco è quella del DROP, check del set di regole e in caso di pacchetto non contemplato loggo e droppo. Loggo cmq. tutti i tentativi di accesso verso ssh, molti cambiano porta per l’accesso ssh ( sempre molta fantasia.. 220,2200,222,2222), tuttavia non sento questa necessità perchè permetto l’accesso solo da determinati IP o classi se dinamici.

#policy in drop
/sbin/iptables -t filter -P INPUT DROP

#loggo tentativi ssh
/sbin/iptables -t filter -A INPUT -p tcp -m state –state NEW –dport 22 -j LOG –log-prefix ***SSH*** –log-level ERR

#permetto in input connessioni già “fidate”
/sbin/iptables -t filter -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

#permetto http da tutti
/sbin/iptables -t filter -A INPUT -p tcp –dport 80 -j ACCEPT

#permetto ssh da client fidati
/sbin/iptables -t filter -A INPUT -s 192.168.168.169 -p tcp –dport 22 -j ACCEPT
/sbin/iptables -t filter -A INPUT -s 45.98.45.98 -p tcp –dport 22 -j ACCEPT

#loggo input con dest non ok
/sbin/iptables -t filter -A INPUT -j LOG –log-level ERR –log-prefix “input: ”

#e droppo
/sbin/iptables -t filter -A INPUT -j DROP

Il firewall da mettere direttamente sul server è abbastanza completo, megli lavorare più massicciamente sul firewall con eth con ip esterno, anche per effettuare analisi sulla rete senza dover disattivarlo ogni volta.
Per salvare le nostre regole

#iptables-save > /root/fw
#chmod 600 /root/fw

ed eventuale restore

iptables-restore < /root/fw oppure crearsi uno script bash iniziando con #!/bin/sh Per quanto riguarda SSH modificate le seguenti entries nelfile /etc/ssh/sshd_config

Port 22
ListenAddress 192.168.168.168
Protocol 2
PermitRootLogin no
AllowUsers texilee webmaster

e reload

/etc/init.d/ssh restart

File System
E’ cosa buona non creare una sola partizione / ma suddividere in base alle esigenze il FS in diverse partizioni e montarle in maniera diversa. Le più critiche sono la /tmp e la /var, se nella prima è di moda parcheggiarci rootkit nella seconda il problema può essere causa di DOS per log “impazziti” che nel giro di poco tempo riempiono il filesystem. Appurato che non lanceremo nulla dalla /tmp poichè i nostri script e binari risiedono da tutt’altra parte possiamo impedire a livello di filesystem l’esecuzione di codice dall’interno di tmp modificando il file /etc/fstab in questa maniera

/dev/hda2 /tmp ext3 nodev,nosuid, noexec 0 0

Può capitare (tipico esempio uno dei centinaia bachi di tipo “esecuzione di codice arbitrario” di prodotti php open source) che un attaccante ti sfondi la macchina e parcheggi nella /tmp il suo simpatico rootkit, ti hanno appena modificato ls e netstat e non te ne puoi accorgere se non facendo delle analisi da un’altra macchina messa in eth promiscous mode… tornano utili un paio di tools: samhain chkrootkit

Samhain crea un database con “firme” di file di sistema presenti al momento della esecuzione del tool, record contenenti valori quali data dimensione inode. Il demone controlla periodicamente l’integrità dei file sul FS con le informazioni contenute nel suo DB ed in caso di incongruenza si occupa di mandare una mail all’indirizzo specificato nel file di configurazione. Su Debian apt-get install samhain chkrootkit , i file di configurazione come al solito sotto /etc.

Per concludere trovo estremamente interessante costruire qualche script bash per tracciare quelle situazioni di gravità (disco pieno, troppe connessioni dallo stesso ip, carico di lavoro troppo elevato… argomento di prossimi post ) e l’utilizzo di atsar (apt-get install atsar) per avere uno storico del carico di lavoro e poter rintracciare con facilità nei log i motivi di “sbalzi” particolarmente elevati di carico.

Posted in Apache, Linux, Mysql, Php at June 30th, 2006. No Comments.

Mysql cache utilizzo e tuning

Utilizzo e tuning della Query Cache, pochi appunti scritti e condivisi

Mysql implementa un meccanismo per cashare i risultati delle query al fine di poterli riutilizzare senza interrogare di nuovo il DB. Questo meccanismo e’ estremamente utile quando una appz utilizza massivamente le stesse query. Non esiste un configuerazione ottimale in generale, vi invito ad utilizzare quella di default e iniziare tuning più avanti.

Parametri di configurazione:

Il file di configurazione my.cnf contiene le direttive per settare tutte le opzioni che interagiscono col meccanismo di cache.

Prestare attenzione a query_cache_size e query_cache_type.

have_query_cache
MAN: Indica al server di supportare il meccanismo di caching delle query
TYPE: boolean (YES o NO)
VERSION: a partire dalla 4.0.2

query_cache_limit

MAN: dimensione massima del risultato della query ( detto record set o result set) per essere ammessa in cache
TYPE: intero espresso in MB
VERSION: a partire dalla 4.0.1

La query cache e’ stata introdotta per poter “cachare” il numero maggiore possibile di query, non il record set delle query piu’ corpose. Dovrebbe essere settato ad un valore relativamente basso

query_cache_min_res_unit

MAN: dimensione minima del record set per essere ammesso in cache
TYPE: espresso in KB
VERSION: a partire dalla 4.0.1
query_cache_size

MAN: memoria dedicata alla query cache
TYPE: intero espresso in MB
VERSION: a partire dalla 4.0.1

Se il valore impostato e’ 0 il caching e’ disabilitato. Se il valore e’ > 0 ma la direttiva query_cache_type e’ 0 oppure OFF, la memoria dedicata al caching viene utilizzata ma non viene effettivamente letta dal mysql

query_cache_type

MAN: specifica lo stato della query cache
TYPE: intero (0,1,2)
VERSION: a partire dalla 4.0.3

0-> Non viene messo in cache nulla, ma la memoria viene lo stesso dedicata

1-> Se e’ impostato a 1 i risultati della query con dimensione minore di query_cache_limit vengono cachati, a meno che la query non contenga la direttiva SQL_NO_CACHE

2-> Se e’ impostato a 2 i risultati della query con dimensione minore di query_cache_limit vengono cachati, a meno che la query contenga la direttiva SQL_CACHE

query_cache_wlock_invalidate

MAN:Se le tabelle interrogate stanno subendo operazioni e sono in stato di “lock” settando questo parametro a 1 i risultati in cache vengono eliminati e non si ha il rischio di ottenere risultati non piu’ validi. Questo è un parametro specifico per DB MyISAM
TYPE: boolean(0,1)
VERSION: a partire dalla 4.0.19

Come abilitare la Query Cache?

Per abilitare la cache query basta settare :

query_cache_type a 1 oppure 2
query_cache_size > 0

E’ importante settare correttamente entrambi i parametri, altrimenti si rischia di dedicare memoria che non verra’ utilizzata.

Mysql necessita di un minimo di 40Kb di memoria per poter avviare il meccanismo di cache. Se non ce’ abbastanza memoria nel file di log viene inserito un warning

Tuning Query Cache

Qualche query da utilizzare

FLUSH QUERY CACHE > deframmenta la struttura della memoria, non elimina nessuna query nella cache

RESET QUERY CACHE > svuota la cache

SHOW STATUS LIKE ‘qcache_%’ > per vedere le statistiche

Qcache_lowmem_prunes -> contiene il numero di query e results sets rimossi dalla cache per far posto a nuovi dati.
Per verificare in generale l’efficienza della cache query si dovrebbe far riferimento a quel valore, se cresce costantemente nel tempo la cache memory non sta fornendo un servizio utile ai fini della velocita’ e dovrebbe essere disabilitata, o i parametri diversamente settati in base al peso delle query più comuni, alla potenza della macchina..
Se i valori di Qcache_hits e Qcache_lowmem_prunes crescono rapidamente, bisognerebbe aumentare la query_cache_size

Qcache_not_cached indica il numeri di query eseguite ma non messe in cache

In generale e’ dovuto al valore superato di query_cache_limit.

Aumentare la query_cache_limit puo’ essere utile, bisogna pero’ considerare il rapporto fra Qcache_hits e Qcache_lowmem_prunes, se scende e’ opportuno farlo.

Controllate quotidianamente i valori “statistici” e fate numerose prove prima di definire delle linee guida per la configurazione dei parametri di tuning.

Posted in Mysql at June 29th, 2006. No Comments.

WGA eliminare Windows genuino

Come al solito, nel giro di una settimana dall’installazione degli ultimi aggiornamenti windows , sono stati in quattro a chiamarmi per eliminare quel fastidioso messaggio che avverte l’utente della non originalità della copia di windows. Bhe, più che un fastidio visivo è un martello… meglio levercelo di torno.

Metodi ne ho trovati a volontà vediamone due:

Xpy permette di abilitare o disabilitare solo ciò che l’utente ritiene necessario, è leggerissimo e sopratutto possiamo eliminare del tutto la notifica di windows genuine.
Per chi mastica un po’ di inglese..

xpy 0.9.6 has a feature to disable the notifications of Microsoft’s controversial Windows Genuine Advantage program.

Though the feature could not be fully tested, a lot of research has been done on that and it is supposed to work.

Download xpy

Il secondo “metodo” viene direttamente da casa Microsoft, che in questo articolo “Come disattivare o come disinstallare la versione pilota di Notifiche Vantaggio Originale Microsoft Windows” spiega passo passo in lingua italiana “tradotta” le semplici 5-6 operazioni da effettuare. Non ho ovviamente testato nessuno dei tool 🙂

Posted in Windows at June 29th, 2006. No Comments.

statue di arte moderna stagione 2006/2007

Le statue di arte moderna, queste sconosciute.Fin quando, navigando, mi sono imbattuto in un ottimo sito che tratta statue di arte moderna, la statua nella foto sottostante si trova in Torino, ne ho approfittato per segnalarlo al webmaster del sito.
statua arte moderna

Dal vivo è senz’altro meglio

Posted in Internet at June 28th, 2006. No Comments.

Inviare tutte le mail in coda di Postfix

postfix

# postqueue -f

oppure

# postfix flush
Posted in Linux, Tips at June 15th, 2006. No Comments.

Cancellare Svuotare la coda di Postfix

postfix

# postsuper -d ALL
Posted in Linux, Tips at June 15th, 2006. No Comments.

SMSsend linea di comando linux

Tutti o quasi utilizzano tools come semplici script bash per tenere sotto controllo le macchine in gestione. Spesso ci si affida a cron, in modo da poter ricevere direttamente sulla casella postale le informazioni che ci interessano. Ma non basta.

Sottostando alle solite leggi di M…. (non cito per scaramanzia, e non parlo di Moore) il problema che affliggerà la nostra macchina inizierà venerdì sera alle 21.00

Peccato che la nostra Debian non riesca a mandarci un breve sms con descrizione del problema. Di cosa abbiamo bisogno? Ci sono due metodi che per ora ho affrontato, in questo articolo posto il primo (economico ma con parecchi lati negativi) e tratta di uno script che si appoggia a siti web dai quali è possibile inviare SMS.

# apt-get install smssend
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
skyutils2
The following NEW packages will be installed:
skyutils2 smssend

E’ importante utilizzare l’ultima versione degli script (basta una piccola modifica al codice del sito e il meccanismo non funzionerà): installate e fate un upgrade se possibile:

$ smssend vodafoneit -install
SmsSend version 3.4 - Copyright(c) Ze KiLleR / SkyTech - 2000'04
Trying to install vodafoneit.sms script...
Successfully installed new script vodafoneit.sms

$ smssend virgiliotin -install
SmsSend version 3.4 - Copyright(c) Ze KiLleR / SkyTech - 2000'04
Trying to install virgiliotin.sms script...
Successfully installed new script virgiliotin.sms

Per aggiornare il tool

$ smssend -update

Per aggiornare gli script sms

$ smssend "provider" -update

Per inviare sms

smssend provider utente password numcellulare "testo msg "

Ho testato il smssend con i due script disponibili per l’Italia: è obbligatorio attivare un account presso virgilio.it e 190.it

Utilizzando virgiliotin ottengo un errore in fase di login

SmsSend Error : Login error. Check your username and/or password.sms

Utilizzando vodafoneit posso mandare sms solo verso destinatari vodafone, in meno di un minuto l’invio del msg è cosa fatta. Questo tipo di approccio al risparmio è da escludere a priori in ambienti produttivi, considerando la disponibilità a buon mercato di modem gsm più o meno recenti è consigliabile configurarsi un gateway sms in modo da poter ricevere e pertanto “triggherare” operazioni via sms. Al massimo possiamo utilizzare smssend per mandarci una breve barzelletta ogni mattina in concomitanza con l’entrata in ufficio,nulla più. Il giudizio qualità/prezzo rimane il massimo dei voti 🙂

wavecom

Il secondo metodo è molto più oneroso rispetto al primo, infatti necessitiamo di un componente hardware, del pacchetto smstools ed un po’ di pazienza con i comandi AT. E’ stato divertente ed istruttivo configurare un modem gsm wavecom, in meno di un paio d’ore a partire dall’idea di tirarlo su l’invio e la ricezione funzionano correttamente. La documentazione del prodotto è di tutto rispetto ed il pacchetto Debian offre numerosi esempi di configurazione, invio e alert. Rispetto alla prima strada la spesa per la soluzione risulta notevole, sia per lo startup che per il mantenimento, ma offre affidabilità e performance migliori. L’unico parametro che ho dovuto aggiungere al file di configurazione è il baudrate al valore di 115200 per forzare le comunicazioni col device, altrimenti non corrette. Sarà argomento in un prossimo post…

Posted in Internet, Linux at June 15th, 2006. No Comments.

Login grafico shell linuxlogo

Oggi ho detto basta con tutte queste scritte bianche su schermo nero. E ho iniziato la mia ricerca di script/utility “art oriented”.

Il primo tool provato e attualmente usato è linuxlogo: finalmente si può dare un tocco di colore al tipico login testuale.

Brevi passi per l’installazione ed il testing (senza riavviare ovviamente)

#apt-get install linuxlogo

Date un’occhiata alle varie opzioni con

$linux_logo -h

e scegliete la vostra configurazione ideale inserendola nella prima linea del file di cfg. Segue il mio…

#vi /etc/linux_logo.conf
-L 4  -f  -F   "#O Version #V, DEBIAN SARGE @ #H nLoad Average #L n HOSTED texilee.gruppoinfo.it"

Lanciandolo da linea di comando otterremo

linuxlogo

Definiamolo come schermata di pre-login base per accessi locali e remoti:

demone SSH cercate “Banner”

# vi /etc/ssh/sshd_config
Banner /etc/issue.linuxlogo

# /etc/init.d/ssh reload

getty [login] modificate la configurazione di getty (man getty)

#vi /etc/inittab
1:2345:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty1
2:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty2
3:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty3
4:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty4
5:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty5
6:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty6
8:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty8
9:23:respawn:/sbin/getty -f /etc/issue.linuxlogo 38400 tty9

Nella configurazione che ho introdotto viene mostrato il Load Average (file /proc/loadavg) della macchina. Il valore della schermata di prelogin non viene letto dalla proc ma dal file /etc/issue.linuxlogo. Potete affidarvi ad un cron

0-59 * * * *    root    [ -x /etc/init.d/linuxlogo ]  && /etc/init.d/linuxlogo restart > /dev/null 2>&1

se utilizzate la macchina come client “casalingo” potete evitare di inserirlo.

Posted in Linux at June 13th, 2006. No Comments.

ITALIA GHANA

Stasera primo appuntamento per gli azzurri. Il Ghana è un avversario tosto, speriamo principalmente di assistere a una partita piacevole. Notizie ed indiscrezioni si sprecano, diciamo che Totti gioca, c’è molta fiducia e lo stadio al completo

Ecco i nostri avversari:

Ghana

Secondo numerosi siti pseudosportivi l’Italia scenderà in campo così:

ITALIA (4-3-1-2): 1 Buffon; 2 Zaccardo, 13 Nesta, 5 Cannavaro, 3 Grosso; 16 Camoranesi, 21 Pirlo, 4 De Rossi; 10 Totti; 11 Gilardino, 9 Toni. All. Lippi

E forza AZZURRI!

Posted in Archivio at June 12th, 2006. No Comments.