netstat terzo dan
netstat -tan | grep ‘:80 ‘ | awk ‘{print $6}’ | sort | uniq -c
Collect moments, not things
netstat -tan | grep ‘:80 ‘ | awk ‘{print $6}’ | sort | uniq -c
mod_evasive è un altro modulo di Apache in grado di aumentare la sicurezza del sistema proteggendoci da attacchi DOS e D-DOS sulla porta 80. Gli attacchi di tipo DOS e D-DOS (Denial of Services e Distributed Denial of Services) sono attacchi atti a rendere inaccessibili i sistemi a causa di un intenso traffico dati. Grazie a questo modulo, però, riusciamo a prevenire questo tipo di attacco quando viene rivolto ad Apache in quanto il modulo tiene traccia del numero di connessioni provenienti da un determinato IP e, in caso di superamento della soglia, interviene bloccandole. Per installare il modulo su Debian/Ubuntu è sufficiente lanciare il comando: apt-get install libapache2-mod-evasive Quindi creiamo la directory per i log: mkdir -p /var/log/apache2/evasive chown -R www-data:root /var/log/apache2/evasive Ora creiamo un file di configurazione per il modulo: /etc/apache2/conf.d/modevasive.conf <IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount… Leggi tuttoProtezione [base] contro DOS
Ecco uno script perl/bash dove tiro fuori formattati bene tutti i vhost di apache : Modo più verboso : /usr/sbin/apache2ctl −S 2>&1 | perl −ne ‘m@.*port\s+([0−9]+)\s+\w+\s+(\S+)\s+\((.+):.*@ && do { print “$2:$1\n\t$3\n”; $root = qx{grep DocumentRoot $3}; $root =~ s/^\s+//; print “\t$root\n” };’ Modo meno verboso : #!/bin/bash apache2ctl −S 2>&1 | grep −v Syntax | perl −ne ‘m@.*port\s+([0−9]+)\s+\w+\s+(\S+)\s+\((.+):.*@ && do { print “$2:$1\n”;};’
Vi è mai capitato di dover configurare un’applicazione in modo che in un’archiettura mysql master/slave scriva automaticamente sul master e legga dagli slave senza modificare l’applicativo ? Mysql-proxy è quello che fa per te ! MySQL Proxy è un programma che si interpone fra un client e un server MySQL, per consentire di effettuare operazioni sul traffico di dati, in maniera trasparente per l’utente. MySQL Proxy usa il protocollo client/server esteso di MySQL, introdotto con la versione 4.1. Pertanto, questa applicazione è compatibile con i server dalla versione 4.1 e superiore. MySQL Proxy è un’applicazione molto leggera (200 KB in compilazione dinamica, 1.5 MB in compilazione statica con le librerie), che è stata disegnata per interporsi fra un client e un server MySQL ed eseguire operazioni sui pacchetti inviati e ricevuti. Il programma ha poche opzioni di configurazione. La caratteristica che lo rende interessante e funzionale è un interprete Lua integrato, grazie al quale… Leggi tuttoMysql Proxy
Personalmente me lo sono scrittp per cabiare qualcosa come 54 password ftp. Non volendolo fare a mano sono ricorso al solito bash Gli utenti nei sistemi Linux sono contenuti in questo file /etc/passwd e si presentano in questo modo : test.it:x:526:526:test.it:/home/test.it:/bin/sh Per prima cosa elimino tutto quello che non mi serve : awk -F”:” ‘{ print $1 }’ /etc/passwd > user.txt ed ottengo quindi solo lo user : test.it A questo punto ecco che entra in azione lo script vero e proprio : #!/bin/bash function randpass { echo `</dev/urandom tr -dc A-Za-z0-9 | head -c8` } for i in `more ftp_ok` do p=`randpass` echo $i $p echo $p | passwd –stdin $i done Il gioco è fatto !
Cosa succede se si fa una bella insert sul nostro database mysql slave? Due cose : Lo slave server si disallinea Il sistemista bestemmia Per controllore lo stato dello slave bisogna lanciare dallo slave : mysql> show slave status\G Lo Slave utilizza piu’ thread. Il primo e’ una connessione remota al Master ed ha il compito di raccogliere i dati dal bin-log (BinLog Dump) ed e’ sempre attivo. Gli altri thread sono locali ed hanno il compito di ricevere il contenuto del bin-log (Slave I/O) e di applicarlo alla base dati (Slave SQL). In caso d’errore nell’inserimento dei dati il thread Slave SQL si interrompe mentre lo Slave I/O continua a raccogliere i dati dal Master. Con show slave status\G si ottiene l’indicazione dell’errore occorso; una volta corretto il problema la replicazione riprende dal punto in cui si era interrotta applicando il… Leggi tuttoAllineare mysql slave
Un semplice script bash che controlla la coda di postix e ci avverte se supera un determinato limite : #!/bin/bash limit=50; [email protected]; servername=$(hostname); queue_p=$(postqueue -p | grep Request | awk ‘{print $5}’); if [ $queue_p -ge $limit ] ; then echo ” Dear Server admin, We have $limit in local mailqueue. ” | mail -s “Mailqueue limit exceeding – $servername” $notifyemail fi
sshguard , è scritto in C, quindi usa meno memoria e CPU durante l’esecuzione pur ottenendo gli stessi risultati. COSA FA SSHGUARD ? La versione corta è: riceve i messaggi di log, rileva quando un servizio in rete è attaccato basandosi su di essi, e blocca l’indirizzo di chi sta attaccando, dopo qualche tempo, rimuove questo blocco. La versione completa è: sshguard gira su una macchina come un piccolo demone, e riceve i messaggi di log (in diversi modi, ad esempio da syslog). Quando si determina che l’indirizzo X ha fatto qualcosa di male al servizio Y, attiva una regola nel firewall della macchina (uno dei tanti supportati) per il blocco di X. Sshguard mantiene X bloccato per qualche tempo, poi lo rilascia automaticamente. Si prega di notare che, nonostante il suo nome sshguard rileva di base gli attacchi per molti… Leggi tuttoProteggi SSH con SSHguard
Ecco un semplice script che crea website, alias, directory automaticamente tramite bash #!/bin/bash echo “Inserisci dominio (es: example.com):”; read domain; echo “” echo “Inserisci Alias (es: www.example.com):”; read domain_alias; echo “” ### Check $domain esiste if ! grep “${domain}” /etc/apache2/sites-available/${domain}.conf >> /dev/null; then echo “${domain} will be created” mkdir -p /var/www/${domain}/{htdocs,logs,cgi-bin}; chown -R www-data:www-data /var/www/${domain}/ echo ” ## Automatic generation from Genesi on `eval date +%d.%m.%Y` ## ${domain} ServerName ${domain} ServerAlias ${domain_alias} DocumentRoot /var/www/${domain}/htdocs ServerAdmin [email protected] ErrorLog /var/www/${domain}/logs/error.log CustomLog /var/www/${domain}/logs/access.log combined Options FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ” >> /etc/apache2/sites-available/${domain}.conf echo “Testing configuration” apache2ctl configtest a2ensite ${domain}.conf /etc/init.d/apache2 reload else echo “${domain} Dominio già esistente” fi
Dalla versione di MediaWiki > 1.16 la versione stabile di FCKeditor è disponibile qui : http://svn.wikimedia.org. SVN path: http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/FCKeditor) Peccato solo che la versione ufficiale esce con un bel baco : Fatal error: Cannot redeclare js_unescape() (previously declared in /home/webapps/ineh/extensions/FCKeditor/FCKeditorSajax.body.php:268) in /home/webapps/ineh/includes/AjaxFunctions.php on line 55 Per risolvere basta modificare questa pagina all’interno della cartella extensions/FCKeditor e cambiare ‘js_unescape’ con ‘fck_js_unescape’; O lo fate a mano o usate rpl ad esempio : rpl js_unescape fck_js_unescape FCKeditorSajax.body.php