jueves, 29 de enero de 2009

Mi bashrc II

Ayer estaba fundido y he cometido un error al postear.

Donde escribí:

PS1='\[$LightGreen\]\u@\[$Blue\]\h \W]\$\[$NC\]'

Debería estar:

PS1='\[$LightGreen\]\u@\[$Blue\]\h \W\$\[$NC\]'

Me he estado rayando y he visto a gente(cracks) que definen funciones en el bashrc.Dos nuevas que he añadido al mio, son: extrar y misps. La más útil a mi modo de ver es extrar. Por ejemplo,
[root@localhost]#extraer fichero.tar.gz , y como una moto, ni zxvf ni gaitas...Mola!

Ahí os van:

#
#Una guapa
function extraer()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' no se puede extraer con la funcion de bashrc>extract<" ;;
esac
else
echo "'$1' no es un fichero válido."
fi
}
#
#
#Otra guapa
function misps() { ps $@ -u $USER -o pid,%cpu,%mem,bsdtime,command ; }

Mi bashrc

Son las 00:25, tengo sueño, pero dejo mi fichero .bashrc para el que le interese; a lo gentoo, con colorcillos en el prompt:

# ~/.bashrc: executed by bash(1) for non-login shells.
umask 022
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
#
#
#Unos alias, para amenizar la estancia en la shell
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias server='ssh -l root server.pisote'
alias serumano='ssh root@server2.pisote'
alias actualiza='apt-get update'
alias instala='apt-get -y install '
alias busca='apt-cache search '
alias limpia='find / -name "*~" -print -exec rm -f {} \;'
alias grep="grep --color=auto"
#
#
#Colorcillos
Black="$(tput setaf 0)"
BlackBG="$(tput setab 0)"
DarkGrey="$(tput bold ; tput setaf 0)"
LightGrey="$(tput setaf 7)"
LightGreyBG="$(tput setab 7)"
White="$(tput bold ; tput setaf 7)"
Red="$(tput setaf 1)"
RedBG="$(tput setab 1)"
LightRed="$(tput bold ; tput setaf 1)"
Green="$(tput setaf 2)"
GreenBG="$(tput setab 2)"
LightGreen="$(tput bold ; tput setaf 2)"
Brown="$(tput setaf 3)"
BrownBG="$(tput setab 3)"
Yellow="$(tput bold ; tput setaf 3)"
Blue="$(tput setaf 4)"
BlueBG="$(tput setab 4)"
LightBlue="$(tput bold ; tput setaf 4)"
Purple="$(tput setaf 5)"
PurpleBG="$(tput setab 5)"
Pink="$(tput bold ; tput setaf 5)"
Cyan="$(tput setaf 6)"
CyanBG="$(tput setab 6)"
LightCyan="$(tput bold ; tput setaf 6)"
NC="$(tput sgr0)" # No Color
#
#
#Cambiamos los colores del prompt,a lo Gentoo!
PS1='\[$LightGreen\]\u@\[$Blue\]\h \W]\$\[$NC\]'

miércoles, 28 de enero de 2009

What are you doing?

Evidentemente escribiendo estas notas. Lo sé, soy un crack del humor!. Sigo enganchado a Twitter por culpa(bendita)de Kutus. Podeis seguirme en http://twitter.com/apermuy , de ahí el What are you doing del título. Resumo
1.- Liado con la LAN de Casa. Mr K. ha sacado con WifiSlax la key de la wifi del vecino. La verdad es que me he comprado un pincho 3G, ya que he decidido tener conexión a Inet siempre.Pero cuando digo siempre es siempre. Me niego a estar "incomunicado". Lo cierto es que nuestro vecino tiene ADSL de ya.com(el dns 62.151.2.8 canta mucho en el DHCP) de 8Mb y funciona realmente bien.No usa emule, o por lo menos desconoce cómo modificar NAT en el Router.Casi mejor.Los asiduos al blog, recordarán el post Pisote LAN. Pues he clonado y mejorado la configuración.La típica Squid + Iptables . Anteayer montamos un Samba y un NFS para compartir nuestros ficheros, y la verdad es que todo funciona correctamente. Mr K. tenía Ubuntu 8.10 en el Server, y después de unos ajustes: no arrancar en modo gráfico, eliminar servicios inncesarios...etc, todo correcto.Esta tarde más y mejor.
2.-Proyecto. Muy liado en el curre con el tema del Proyecto. Mucha literatura por delante, y en unos meses el gran reto de programar el site en PHP,MySQL: lo voy a hacer, fijo! Esta es una ración de autoánimo.
3.-Viaje a Oporto. El viernes voy a Oporto, a una actividad cultural.
4.-Reinstalación del PC . Sí amigos, sí, AMD64 en servidores, recomendada, pero para casita, casi mejor la X86. El soft de Movistar para Gnome no rula en AMD64, así no le voy a dar más vueltas, me paso a X86.Ayer toco reinstalación. No sé que co***nes le pasa al Debian 5.0 Weekly build que le instalé, pero después de unos minutos : CRACK!. Para mí que fue el firmware de la wireless zd1211. En todo caso, en el syslog había warnings pidiendo un Kernel con HIGHMEM. Es lo que tienen los 4Gb de RAM.Uno se acostumbra a la mortadela, y un día le dan jamón del bueno y alucina!!. Antes de acostarme ayer, dejé compilando el Kernel 2.6.28.2, a ver qué tal. Como me caía de sueño... sleep 1800 & halt! Esperemos que le llegase el tiempo para terminar la compilación. Joer, con un AMD X2 2,5Ghz con 4Gb de RAM, llevaba 10 minutos, como no lo diese tiempo!!!!!!!!!!!
Saludos!

viernes, 23 de enero de 2009

Estos chinos....

Últimamente, y sobre todo desde que he alquilado la instancia en el VPS, me preocupa bastante el tema de los accesos externos. Mejor dicho, el intento de acceso. Cada día me llega un reporte al correo.Entre otros datos, busca en /var/log/auth.log los intentos fallidos vía SSH. A las 07:30 con puntualidad británica recibo el email. Sopresa, la IP 61.185.XXX.XXX , ha intentado logearse como root(mal hecho, porque sshd no lo permite) 61 veces. ¿ Qué hago ?. Lo primero una consulta GeoIP.
[root@osama]geoiplookup 61.185.XXX.XXX
GeoIP Country Edition: CN, China

China! No me extraña.A indagar.Bingo, he encontrado la IP en una lista de IPs que suelen hacer "cosillas de esas que nos gustan a veces, pero que no nos gusta nada que nos hagan...BruteForce". He visto que hay gente que se curra un especie de BlackList para evitar este tipo de ataques. Uno para FreeBSD que tiene buena pinta es este.
Ahora, como soy un poco paranoias, juego un poco con Nmap.

Interesting ports on 61.185.XXX.XXX:
Not shown: 1699 filtered ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp closed telnet
25/tcp open smtp
53/tcp closed domain
80/tcp open http
110/tcp open pop3
113/tcp closed auth
143/tcp open imap
443/tcp open https
444/tcp closed snpp
515/tcp closed printer
1935/tcp closed rtmp
3389/tcp closed ms-term-serv
5631/tcp closed pcanywheredata
8080/tcp closed http-proxy

En fin, podría usar Hydra en intentar tocarle un poco los webs. Pero creo que voy a crear un pequeño script que escanee su IP como un loco N veces. Hoy como es día 23, pues 23 veces al día durante 1 semana. Seguro que no sirve de nada,pero me puedo divertir un rato.
Otro link interesante es este. Nos da mucha información sobre al IP: AS, Pais....etc.

jueves, 22 de enero de 2009

(...)la verdad es que OpenSuSE es de lo peor(...)

Ya estoy de nuevo OnLine. Desde ayer tengo un pincho 3G de Movistar con el que me conecto a Internet. En MacOS X aún no le logrado que funcione,la verdad es que tampoco me importa mucho, ya que en Ubuntu 8.10 funciona de cine. La pena es el PC de Sobremesa. Corre Debian GNU/Linux AMD64 y el Escritorio Movistar no soporta versiones de 64 bits.En fin...

En el curre estoy super liado, todo el día leyendo documentación de modelización de BBDD.Desde hace una semana estoy todas las tardes he estado trabajando en un servidor de correo. Un semi administrador, configuró mal el servicio smtp y la cosa pintaba mal, hasta que apareció Spiterman, que la versión Compostelana de Spiderman. La máquina en cuestión corre OpenSuSE con postfix,spamassassin y demás software que ya conocemos.¿Qué he hecho? Un montón de cosas.Resumo
* Reconfiguracion total postfix.Politicas de envio y recepcion, pipes...etc
* Configuracion SpamAssassin como content_filter
* Desarrollo de scripts de administración. Esto es lo que me más me gustó del tema.En primer lugar escribí una web en PHP que vía formulario alimenta las blacklist de spamassassin. El usuario indica el dominio y el tipo de lista.Facil.Ya, pero hay un problema. ¿Cómo inserto cadenas de texto en el fichero de spamassassin? Con el shell_exec ni de coña, como mucho un `cat` o un `echo`. Entonces la mente de Spiterman, después de mucho cavilar dice ...!Eureka! Con cada dominio que reciba del formulario crearé un fichero del tipo blacklist_from @dominio.com.txt.Dos veces al día ejecutaré un script vía crontab que lea el directorio donde almaceno lo que recojo del formulario. La clave en este planteamiento, que puede que no sea el más adecuado, pero funciona de cine, es este comando:

ls -1 |grep @| awk -F .txt '{ print $1 }' > $FICHERO_SPAM_TMP

Ahora ya tengo los nuevos dominios "limpios " para añadir al local.cf de spamassassin. Ejecuto este script a las 14:45 que es cuando no hay nadie en la oficina, y a las 20:45 por si añaden algo por la tarde.
Rizando más el rizo, he configurado postfix para que lea el fichero /etc/postfix/denegados en la directiva smtpd_sender_restricions, quedaría así:
smtpd_sender_restrictions =
hash:/etc/postfix/denegados,
reject_unknown_sender_domain,
permit_mynetworks
# check_policy_service inet:127.0.0.1:60000
Con esto conseguimos que si el dominio del remitente coincide con la lista de /etc/postfix/denegados, pues....a la puta calle! Por aquí no pasa! Que se cree una cuenta en Hotmail!
Lo del check_policy_service es para jugar con el Postgrey, pero eso para la semana...
Houston, otro problem!A ver Spiterman, piensa....Ahhhhhhhhh, escribimos otro script, que se ejecute por las noches, y convierta los dominios blacklist_from *@domain.com a formato dominio.com REJECT que es lo que quiere postfix.Fácil. La clave es esta, a mi modo de ver.Que clave ni que...posteo el script y pista:
#!/bin/bash
#
#
#
#
#Script Alimenta Rejects para Postfix
FICH_TMP_FILTRADO="/tmp/tmp_filtrado_$$"
FICH_TMP_FILTRADO_2="/tmp/tmp_filtrado_2_$$"
FICH_REJECT="/etc/postfix/denegados"
FICH_CONF_SPAM="/etc/mail/spamassassin/local.cf"
FILTRA_BLACKLIST=`cat /etc/mail/spamassassin/local.cf|grep blacklist_from|sort -u|cut -d "*" -f2|cut -d "@" -f2 > $FICH_TMP_FILTRADO`
NUM_REJECT=`cat /etc/postfix/denegados|grep REJECT|wc -l`
#
#
#
for dominio in `cat $FICH_TMP_FILTRADO`;
do
echo $dominio" REJECT" >> $FICH_TMP_FILTRADO_2
done
cat $FICH_TMP_FILTRADO_2 > /etc/postfix/denegados
reiniciapostfix
colacorreo
El reinicia postfix es un script(paso de alias) que uso en las máquinas que administro que hashean los fichero en .db, recarga demonios y tal...es que soy un poco vago...
El colacorreo es un tail -f /var/log/messages, lo mismo, es la vagancia...

La verdad que OpenSuSE me parece de lo peor. Cada día voy teniendo más fundamentos para asegurarlo. Por ejemplo,indicas en postfix smtpd_sasl_path = /loquesea/sasl, reinicias el demonio y peta. Lo quiere en /etc/postfix/sasl, si no, nada. Peta como una escopeta de feria. Lo del apache2 es de coña.Menudo lío de directorio de conf.50000 ficheros de configuración , enlaces simbólicos...La verdad es que lo que sí mola, y mucho es Yast,pero bueno, prefiero el vi y el apt.

Después lo típico : munin,awstats,pflogsumm,scripts por un tubo. Ahora mismo anda como una moto, por lo menos hasta hace 10 minutos.

Después de este testamento...
Salud y gnuismo.