bash: hack: orden no encontrada!!

jueves, 20 de mayo de 2010

Autenticacion SMTP + Postfix

Bien vamos a ver como se configura la autenticacion SMTP para postfix.

Empezemos; teniendo en cuenta que ya tenemos instalado el Postfix empezamos con la configuracion del archivo Base main.cf; cuando realizamos la instalacion configuramos algunos parametros guiados por el "wizard" del mismo paquete, donde le indicamos el dominio, el administrador (para que lleguen los correos de informe), entre otras muchas opciones.

bien estas configuraciones que describire a continuacion son adicionales, para dejar nuestro sistema 100% funcional, seguro y con un poco menos de SPAM.

1. definimos el Maildir de los usuarios
ejecutamos los siguientes comandos:

$sudo postconf -e 'home_mailbox = Maildir/'
$sudo postconf -e 'mailbox_command ='

2.Configuramos Postfix para que use Autenticacion SMTP (saslathd)
ejecutamos estos comandos:

$sudo postconf -e 'smtpd_sasl_local_domain ='
$sudo postconf -e 'smtpd_sasl_auth_enable = yes'
$sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
$sudo postconf -e 'broken_sasl_auth_clients = yes'
$sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
$sudo postconf -e 'inet_interfaces = all'

3.Editamos el archivo /etc/postfix/sasl/smtpd.conf
(si no existe el directorio ni el archivo lo creamos)
dentro de el colocamos lo siguiente:

pwcheck_method: saslauthd
mech_list: plain login

guardamos y continuamos.

4.Generamos los Certificados que seran Usados para la Encripcion TLS.

$touch smtpd.key

-asignamos los permisos necesarios

$chmod 600 smtpd.key

-generamos el certificado

$openssl genrsa 1024 > smtpd.key
$openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
(respondemos lo que sale en el PROMPT)
$openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 (respondemos el PROMPT)

-ahora movemos los certificados
$sudo mv smtpd.key /etc/ssl/private/
$sudo mv smtpd.crt /etc/ssl/certs/
$sudo mv cakey.pem /etc/ssl/private/
$sudo mv cacert.pem /etc/ssl/certs/

5. configuramos postfix para que Use TLS de salida y entrada

$sudo postconf -e 'smtp_tls_security_level = may'
$sudo postconf -e 'smtpd_tls_security_level = may'
$sudo postconf -e 'smtpd_tls_auth_only = no'
$sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
$sudo postconf -e 'smtpd_tls_key_file = /etc/ssl/private/smtpd.key'
$sudo postconf -e 'smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt'
$sudo postconf -e 'smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem'
$sudo postconf -e 'smtpd_tls_loglevel = 1'
$sudo postconf -e 'smtpd_tls_received_header = yes'
$sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
$sudo postconf -e 'tls_random_source = dev:/dev/urandom'
$sudo postconf -e 'myhostname = mail.th3d0ctor.net' # cambialo por tu dominio

6.nuestro main.cf debe lucir asi:
--------------------------------------------------------------------------
smtpd_banner = $myhostname
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

myhostname = mail.th3d0ctor.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.th3d0ctor.com, th3d0ctor.com, localhost.th3d0ctor.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command =
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions= permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination
smtpd_tls_auth_only = no
#Use these on Postfix 2.2.x only
#smtp_use_tls = yes
#smtpd_use_tls = yes
#For Postfix 2.3 or above use:
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
------------------------------------------------------------------------------

7.reiniciamos Postfix

$sudo /etc/init.d/postfix restart

9.ahora vamos con la autenticacion.

-primero necesitamos instalar libsasl2-2 y sasl2-bin del repositorio principal

$sudo apt-get install libsasl2 sasl2-bin

- editamos el archivo /etc/default/saslauthd

removemos el comentario de la linea: START=yes

- adherimos las siguientes lineas:
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

- verificamos el mecanismo usado y que este en "pam"; debe lucir asi

MECHANISMS="pam"

- cambiamos la linea de opciones por
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

NOTA el resto de lineas del archivo las podemos eliminar o comentar.

el archivo completo debe lucir asi:
----------------------------------------------------------------------
START=yes

PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"

MECHANISMS="pam"

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
-----------------------------------------------------------------------

10. actualizamos el DPKG "state", para que el script de inicio use la configuracion adecuada:
$sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd

11.iniciamos el servicio

$sudo /etc/init.d/saslauthd start

12 FINALAMENTE podemos probar la configuracion.

$sudo telnet localhost 25
(despues de establecer conexion copiamos)
ehlo localhost

- si estas dos lineas aparecen en la respuesta del servidor, la configuracion fue correcta.
250-STARTTLS
250-AUTH

13. no queda de mas recordar que cuando se configure un cliente de correo, thunderbird, evolution, outlook o el que sea, debemos activar la opcion que indica que el servidor de salida requiere autenticacion, si no hacemos esto, podemos obtener el mensaje de error "RELAY ACCESS DENIED".

no siendo mas ................. ahi les dejo

martes, 4 de mayo de 2010

Actualizando de Ubuntu 8.04 a 10.04 LTS

Bien, como todos sabes la actualizacion de version para los entornos Desktop LTS de Ubuntu, es demaciado sencilla, y guiada, pero que pasa cuando tenemos un Ubuntu Server, con MYSQL, APACHE2, POSTFIX, BIND9, .........etc, y muchas aplicaciones mas.
como actualizamos.

todos los manuales de actualizacion dicen:


1.Press Alt-F2 and type update-manager --devel-release

2. Click the Check button to check for new updates, blah , blah, blah

pero que hago si no tengo entorno grafico ??? estoy buscando como actualizar mi servidor, bueno no, se desesperen, aca estan los pasos a seguir:

NOTA IMPORTANTE: realizar backup de los archivos de configuracion, y los archivos WWW, por si algo resulta mal, en mi experiencia personal no tuve problemas con las bases de datos en MYSQL, pero por si las moscas, saquen copias de estas tambien.

sacar copia etc : #tar -czvf /mi_carpeta_backup/etc.tar.gz /etc/
copia www: # tar -czvf /mi_carpeta_backup/www.tar.gz /var/www/

recuerden cambiar /mi_carpeta_backup/ por la ubicacion donde almacenaran la copia
si el Documen Root (/var/www/) es otro, cambiarlo para que no le hagan copia a lo que no es.

1. primero que todo debemos actualizar toda la paqueteria que tenemos en el servidor

# apt-get dist-upgrade
(debemos tener cuidado cuando se actualizen los paquetes que utilizamos y conservar los archivos de configuracion modificados por nosotros, ejemplo el php.ini, main.php, my.cnf)

una vez tenemos nuestro sistema 8.04 con la ultima paqueteria disponible, procedemos a actualizar a la nueva version

2.instalamos update-manager-core por si no lo tenemos instalado:

#sudo apt-get install update-manager-core

3.editamos /etc/update-manager/release-upgrades y verificamos que la linea Prompt= tenga "lts"
asi: Prompt=lts

4.Lanzamos la herramienta de actualizacion

#sudo do-release-upgrade --devel-release

una vez lanzamos la herramienta seguimos las instrucciones en pantalla, primero se descargaran los paquetes, y luego se instalaran todos, debemos estar pendientes por que cuando se actualizan los paquetes ya instalados (servicios), para conservar los archivos de configuracion, editados en la anterior version por nostros y no alterar, el funcionamiento, de nuestros servicios.


ANOTACIONES FINALES:
*tenia instalado el OcsInventory, por lo cual no arranco el apache2 una vez actualizado el servidor, basta con reinstalar la aplicacion y no modificar la base de datos para que conserve la informacion que ya tienen almacenada.
*si tienen problemas en la actualizacion cuando esta subiendo el Bind9 basta con presionar CTRL + C, para que siga la actualizacion del resto de los paquetes, ya despues se revisara que paso con la configuracion del DNS, y arrancar manualmente el servicio.
* algunas variables del Iptables cambian, por ejemplo las excepciones con "!" (simbolo admiracion), por si tienen un firewall configurado de esta manera, cambien esta parte.


eso es todo :)