Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas

jueves, 19 de abril de 2012

Servidor DHCP en debian


Para instalar el servidor DHCP, ejecutamos el siguiente comando:

# apt-get install dhcp3-server

Hacemos un backup de nuestro archivo de configuración original para esto copiamos el archivo /etc/dhcp3/dhcpd.conf a /etc/dhcp3/dhcpd.conf.ori.

#cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.ori

Borramos el archivo dhcpd.conf y lo volvemos a crear vacio.

#rm etc/dhcp3/dhcpd.conf
#vim etc/dhcp3/dhcpd.conf

Editamos el archivo y colocamos los parámetros de nuestra red.

authoritative;
subnet 10.5.0.0 netmask 255.255.0.0 {
   range 10.5.100.1 10.5.120.254;
   option domain-name-servers 10.5.0.17;
   option domain-name "mired.interna";
   option routers 10.5.0.1;
   option broadcast-address 10.5.255.255;
   default-lease-time 600000;
   max-lease-time 720000;
}

Una vez que guardamos los cambios en el archivo /etc/dhcp3/dhcpd.conf.

Restarteamos el servicio

# /etc/init.d/dhcp3-server restart

La configuración anterior es para nuestra red 10.5.0.0/24 donde dara IPs automáticas con el rango 10.5.100.1 10.5.120.254.
El nombre del dominio es mired.interna. La dirección de router o puerta de enlace es 10.5.0.1. , el servidor de dns es el 10.5.0.17

Para ver las direcciones IP que asigna ejecutamos el siguiente comando

#cat /var/lib/dhcp3/dhcpd.leases

martes, 27 de marzo de 2012

postfix gmail error warning: SASL authentication failure: No worthy mechs found

Problema

El postfix una vez configurada una cuenta de gmail para el envio de correo nos da el siguiente error var.log.mail.log

Sep 23 15:10:24 monitor postfix/qmgr[1683]: 4CF941E68211: from=, size=356, nrcpt=1 (queue active)
Sep 23 15:10:24 monitor postfix/smtp[1685]: warning: SASL authentication failure: No worthy mechs found
Sep 23 15:10:24 monitor postfix/smtp[1685]: 4CF941E68211: SASL authentication failed; cannot authenticate to server smtp.gmail.com[209.85.229.109]: no mechanism available
Sep 23 15:10:24 monitor postfix/smtp[1685]: warning: SASL authentication failure: No worthy mechs found
Sep 23 15:10:24 monitor postfix/smtp[1685]: 4CF941E68211: to=, relay=smtp.gmail.com[209.85.229.108]:587, delay=313, delays=313/0.01/0.18/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.gmail.com[209.85.229.108]: no mechanism available)


Solucion

#apt-get install libsasl2-modules
#/etc/init.d/postfix restart


FUENTE:http://elmurodelsaber.com

sábado, 3 de abril de 2010

Tunel SSH

Tunel SSH


1º Paso


Primero generamos un key prívate y otro key public con  puttygen.

Oprimimos el botón GENERATE

Una vez generada la clave , en donde dice KEY PASSPHASE, introducimos una frase, confirmamos la frase y luego oprimimos el botón SAVE PUBLIC KEY y guardamos nuestra clave publica, luego oprimimos el botón  SAVE PRIVATE KEY. Por ultimo copiamos el public key

EJ de public key

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAoqbPeSGZ4WZLbwBTdM+vUddKI8hD9IRKEec0Yac5kOtjVF5+xCuwKxSinP3XRs3cN/OdG3cr6R/FcVhFx+dBI31TZSs7qzMUOPf1NBsDrB27S0XPek3Rl9nDJOhFWpXm0oTVsVpg/pyzCqCWuXjswf0fIER18V9WULFwNPDVpas= rsa-key-20100318

2º Paso


Realizamos un ssh al cliente Linux

Nos logueamos con nuestro usuario

Creamos la carpeta  .ssh en el home de nuestro usuario

#mkdir .ssh

Le damos los siguientes permisos

#chmod  700 .ssh

#cd .ssh

Entramos a la carpeta y creamos el archivo authorized_keys

#vim  authorized_keys

Y una vez adentro copiamos nuestro public key






ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAoqbPeSGZ4WZLbwBTdM+vUddKI8hD9IRKEec0Yac5kOtjVF5+xCuwKxSinP3XRs3cN/OdG3cr6R/FcVhFx+dBI31TZSs7qzMUOPf1NBsDrB27S0XPek3Rl9nDJOhFWpXm0oTVsVpg/pyzCqCWuXjswf0fIER18V9WULFwNPDVpas= rsa-key-20100318

Finalmente le damos permiso de solo lectura al propietario

#chmod  400 authorized_keys

Luego en el putty debemos  crear nuestra sesión y grabarla, de esta manera vamos a entrar sin poner la clave

Luego hacemos un Tunel ssh, para ello ir a la opción ssh / Tunnels

En source port agregar el port por el cual le decimos que nos vamos a conectar y lo escribimos en SOURCE PORT

Ej 4444

En DESTINATION PORT escribimos a que ip nos queremos conectar y por que puerto (VNC, Remote  Desktop, ssh).

Ej: 10.10.10.10:3389

Luego le oprimimos el botón ADD y  tildamos el check box  LOCAL PORTS ACCEPT CONNECTIONS FROM OTHER HOSTS. y guardamos la sesión.

Luego ejecutamos el pageant. Y con el botón Add KEY introducimos el archivo de nuestra prívate key guardada .

Luego entramos por ssh a la sesión guardada, nos pedirá el loguin donde ponemos nuestro usuario y no nos tiene que pedir el password, ahí  veremos que esta funcionando bien.

Ahora abrimos un escritorio remoto y nos conectamos  a la IP 127.0.0.1:4444, haciendo un tunel  nos conecta a la 10.10.10.10:3389

Ej  para escritorio  remoto

127.0.0.1:4444

Entraremos al escritorio de la IP 10.10.10.10 la cual declaramos en el putty.

viernes, 26 de marzo de 2010

Permitir acceso SSH a usuarios con privilegios root

Permitir acceso SSH a usuarios con privilegios root


Requerimientos


Tener instalado sudo

guardian:~# apt-get install sudo

Para la securización de SSH, vamos a hacer que únicamente un grupo de usuario pueda conectarse. Creamos el grupo ’sshlogin’ y añadimos usuarios al mismo:
guardian:~# adduser miusuario
guardian:~# groupadd sshlogin
guardian:~# adduser miusuario sshlogin

Editamos ‘/etc/ssh/sshd_config’ para impedir que root pueda loguearse directamente:






PermitRootLogin no
X11Forwarding no
AllowGroups sshlogin

Reiniciamos el servicio:

guardian:~# /etc/init.d/ssh restart

Si al usuario que tenemos que permitir le poder hacer ssh no lo tenemos crea lo creamos y le ponemos un password provisorio lue go con chage le obligamos que con el primer inicio de sesion cambie su password

guardian:~#chage -d 0 {user-name}

Para poder tener los mismos perimisos que root configuramos un grupo de usuarios que nos interese que tengan esos permisos, editando ‘/etc/group’ y añadiendo:






admin:x:114:miusuario

Para editar sudoers siempre debemos utilizar el comando ‘visudo’ y debemos tener en '/etc/sudoers' la siguiente línea:






# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Con esta configuración, el usuario o usuarios del grupo ‘admin’  podrán acceder al sistema yluego ejecutar ’sudo -s’  para dquirir privilegios de root.

viernes, 24 de julio de 2009

Cambiar del Mysql el password de root cuando este es olvidado

Cambiar del Mysql el password de root cuando este es olvidado


Este procedimiento nos sirve para cambiar el password de root por si nos llegamos a olvidar .

Lo primero que hacemos es detener el servicio de Mysql
Detener el servidor

#> /etc/init.d/mysql stop

luego escribimos...

#> mysqld_safe --skip-grant-tables --skip-networking&

--skip-grant-tables esta opción causa que el servidor no use el sistema de privilegios lo que le da acceso ilimitado a todas las bases de datos a todos los usuarios de la base de datos.

NOTA: Si MySQL fue configurado y compilado con la opción '--disable-grant-options' entonces lo anterior no funcionará y no hay mucho que se pueda hacer entonces y no se podrá cambiar la contraseña, aunque en la práctica realmente esta opción casi no se usa.

--skip-networking deja de escuchar (LISTEN) conexiones TCP/IP provenientes de la red, es decir MySQL trabajaría en un ambiente totalmente local.

Iniciar el monitor

#>mysql -u root

Como no hay sistema de privilegios en este momento, no se preguntara por la contraseña.

Usamos la base de datos del sistema mysql

mysql> use mysql;


Actualizamos el campo que cambiará la contraseña de 'root'

mysql> UPDATE user SET password=PASSWORD('aca_va_el_nuevo_password') WHERE user='root';
Query OK, 1 rows affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> exit
#>

Reiniciar el servidor y listo!!!

#> /etc/init.d/mysql start

La siguiente vez que entramos al monitor (mysql -u root -p) usamos la nueva clave o contraseña

miércoles, 22 de julio de 2009

Configuración Samba con validación en Active Directory y quota de disco

Configuración Samba con validación en Active Directory y quota de disco


Este documento describe como crear recursos compartidos con Samba para usuarios de Active Directory, a los cuales se les coloco cuota de disco para el almacenamiento de sus archivos.

Información con la que contamos


Contamos con los siguientes datos:
        - Dominio:                     midominio
- Nombre del Server AD: ad = atos.midominio
- IP del Server AD: 10.10.10.4
- Nombre del Cliente Linux: debian
- Ip del Server Linux: 10.10.100.110

Configurar parámetros de red


Antes de continuar nos aseguramos de que el equipo con Linux cuente con la siguiente configuración:
        - IP del mismo rango que el Server Active Directory
- DNS utilizado por el Server Active Directory
- Debe responder el ping a atos.midominio

Instalación de los paquetes necesarios


Es necesario tener los siguientes paquetes
# aptitude install samba smbclient winbind krb5-user krb5-config

Empieza la instalacion y aparaece la pantalla donde ingreso el dominio, en este caso “midominio”

En la siguiente pantalla elijo la opcion NO

Luego ingreso el nombre del DC, en este caso atos y spyros

Luego ingreso el nombre del DC, en este caso atos

Resolución de nombres-IP


Según recomendación de Microsoft para una instalaciones de Active Directory (AD) es necesario tener definido un DNS donde resolver los nombre a direcciones IP es por ello que debemos modificar el /etc/hosts e incluir las IP de la maquina que es servidor de dominio (atos y spyros) y el servidor que en este caso es (debian) .






127.0.0.1 localhost10.10.10.22 yoda.midominio yoda

10.10.10.6 atos.midominio ad

10.10.10.4 spyros.midominio ad

10.10.100.110 debian.midominio debian

Configuración del cliente de kerberos


Debemos editar /etc/krb5.conf deberia quedar asi.






[libdefaults]default_realm = MIDOMINIO

clockskew = 300

# The following krb5.conf variables are only for MIT Kerberos.

krb4_config = /etc/krb.conf

krb4_realms = /etc/krb.realms

kdc_timesync = 1

ccache_type = 4

forwardable = true

proxiable = true

# The following encryption type specification will be used by MIT Kerberos

# if uncommented. In general, the defaults in the MIT Kerberos code are

# correct and overriding these specifications only serves to disable new

# encryption types as they are added, creating interoperability problems.

#

# Thie only time when you might need to uncomment these lines and change

# the enctypes is if you have local software that will break on ticket

# caches containing ticket encryption types it doesn't know about (such as

# old versions of Sun Java).

# default_tgs_enctypes = des3-hmac-sha1

# default_tkt_enctypes = des3-hmac-sha1

# permitted_enctypes = des3-hmac-sha1

# The following libdefaults parameters are only for Heimdal Kerberos.

v4_instance_resolve = false

v4_name_convert = {

host = {

rcmd = host

ftp = ftp

}

plain = {

something = something-else

}

}

fcc-mit-ticketflags = true

[realms]

MIDOMINIO = {

kdc = 10.10.10.4

kdc = 10.10.10.6

admin_server = 10.10.10.4

default_domain = midominio

}

midominio = {

kdc = 10.10.10.4

kdc = 10.10.10.6

admin_server = 10.10.10.4

default_domain = midominio

}

[domain_realm]

.midominio = midominio

.midominio = MIDOMINIO

[login]

krb4_convert = true

krb4_get_tickets = false

kdc = FILE:/var/log/krb5/krb5kdc.log

admin_server = FILE:/var/log/krb5/kadmind.log

default = SYSLOG:NOTICE:DAEMON

[appdefaults]

pam = {

ticket_lifetime = 1d

renew_lifetime = 1d

forwardable = true

proxiable = false

retain_after_close = false

minimum_uid = 0

try_first_pass = true

Crear tickets Kerberos


Ejecutando este comando se crea ticket kerberos
 #kinit administrador@MIDOMINIO 

IMPORTANTE poner el domino en MAYUCULAS (MIDOMINIO)

ahí nos pide el password del administrador del dominio

Listar los tickets Kerberos cacheados


Ejecutando klist me muestra algo asi

# klist

Ticket cache: FILE:/tmp/krb5cc_0

Default principal: administrador@MIDOMINIO

Valid starting Expires Service principal

05/11/09 16:06:25 05/12/09 02:07:38 krbtgt/MIDOMINIO@MIDOMINIO

renew until 05/12/09 16:06:25

Kerberos 4 ticket cache: /tmp/tkt0

klist: You have no tickets cached

Configurar Samba


Hacemos una copia del archivo /etc/samba/smb.conf , luego borramos el contenido del smb.conf colocamos la configuración que a continuación se muestra y nos debería quedar lo siguiente.

En security ADS le dice que va a ser miembro de un Active Directory, password server quien es reservorio de usuarios y passwd , winbind es el servicio que va a mapear (idmap uid y idmap gid) los usuarios y grupos del dominio a ID de usuarios y grupos para que parezcan locales y que sean validos para el nuestro linux .






[global]security = ADS

netbios name = debian

realm = MIDOMINIO

password server = atos.midominio

workgroup = MIDOMINIO

log level = 1

syslog = 0

idmap uid = 10000-29999

idmap gid = 10000-29999

winbind separator =+

winbind enum users = yes

winbind enum groups = yes

winbind use default domain = yes

template homedir = /home/%D/%U

template shell = /bin/bash

client use spnego = yes

domain master = no

server string = linux como cliente de AD

encrypt passwords = yes

auth methods = winbind

##compartir el home del usuario solo para cuando se encuentre en otro equipo de la red

[homes]

comment = Home Directories

valid users = %S

browseable = No

read only = No

inherit acls = Yes

[profiles]

comment = Network Profiles Service

path = %H

read only = Yes

store dos attributes = Yes

create mask = 0600

directory mask = 0700

##compartir una carpeta para todos los usuarios

[users]

comment = All users

path = /home/carpeta

read only = No

inherit acls = Yes

veto files = /aquota.user/groups/shares/

########### compartir carpeta usuarios MIDOMINIO

########## WIL ##########

[wil]

comment = prueba con usuario del dominio

inherit acls = Yes

path = /home/MIDOMINIO/wil

read only = No

available = Yes

browseable = Yes

valid users = MIDOMINIO+wil //IMPORTANTE: no dejar espacio entre

//el dominio y el user

[Share]

comment = Test Share

read only = no

path = /home/share

valid users = @"MIDOMINIO+Usuarios del dominio"

Reiniciamos samba y verificamos errores:


#testparm

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

Processing section "[profiles]"

Processing section "[users]"

Processing section "[wil]"

Loaded services file OK.

'winbind separator = +' might cause problems with group membership.

Server role: ROLE_DOMAIN_MEMBER

Press enter to see a dump of your service definitions

Agregar máquina linux al dominio


Ahora ponemos el linux al dominio con el siguiente comando
#net ads join -S atos.midominio -U administrador

Nos deberá mostrar un mensaje como el siguiente:
        Using short domain name – Anlis2
Joined 'DEBIAN' to realm midominio'

Si nos llega a mostrar un error como el siguiente:







Administrador's password:
[2007/08/25 16:58:33, 0] libsmb/cliconnect.c:cli_session_setup_spnego(785)
Kinit failed: Clock skew too great
Failed to join domain!


El problema puede ser que la hora del equipo con Linux no este configurada correctamente. Kerberos es muy estricto con la hora. Para solucionarlo, corregimos la hora manualmente o ejecutamos el siguiente comando:
 # ntpdate pool.ntp.org

Después de hacer esto ya se debería de poder unir al dominio.

Otro error es este







kerberos_kinit_password TWISTER$@MIDOMINIO failed: Preauthentication failed


para solucionarlo ejecute esto

#net ads join -U administrador -d 10

#net ads join -S atos.midominio -U administrador

Enter administrador's password:

Using short domain name -- MIDOMINIO

Joined 'TWISTER' to realm 'MIDOMINIO'

[2009/06/06 10:40:41, 0] libads/kerberos.c:ads_kinit_password(356)

kerberos_kinit_password TWISTER$@MIDOMINIO failed: Preauthentication failed

Resolver nombres de usuarios y grupos de dominio


Editar "/etc/nsswitch.conf" y modificar las siguientes lineas dejándolas así:
        passwd:         files winbind
group: files winbind
shadow: files winbind
hosts: files dns winbind

Gracias a las lineas anteriores los usuarios y grupos del dominio pueden ser resueltos.

Reiniciamos winbind:


 #/etc/init.d/winbind restart

Verificar la integración del dominio:


- "net rpc testjoin" muestra si esta correctamente integrada al dominio:
        Join to 'MIDOMINIO' is OK

- "net ads info" muestra información del dominio:
        LDAP server: 192.168.1.254
LDAP server name: ad.pruebas.local
Realm: PRUEBAS.LOCAL
Bind Path: dc=PRUEBAS,dc=LOCAL
LDAP port: 389
Server time: dom, 26 ago 2007 14:57:04 MDT
KDC server: 192.168.1.254
Server time offset: 11

- "net rpc info -U Usuario_de_dominio" muestra el dominio al que pertenece,
numero de usuarios, grupos, etc:
        Domain Name: MIDOMINIO
Domain SID: x-x-x-xx-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxx
Sequence number: xx
Num users: xx
Num domain groups: xx
Num local groups: xx

Verificar que winbind este funcionando:


- "wbinfo -u" lista usuarios del dominio.

- "wbinfo -g" lista grupos del dominio.

- "getent passwd" muestra usuarios locales y del dominio.

- "getent group" muestra grupos locales y del dominio.

* "su usuario-de-dominio" nos convertimos en usuario-de-dominio.

Si todo lo anterior funciona vamos por buen camino.

Configurar la autenticación


Para configurar el acceso a usuarios del dominio a nuestro Linux mediante el entorno gráfico hay que configurar pam. Para ello editamos los siguientes archivos y agregamos/modificamos las siguientes lineas:
 /etc/pam.d/common-account
account sufficient pam_winbind.so
account required pam_unix.so try_first_pass
/etc/pam.d/common-auth
auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure try_first_pass
/etc/pam.d/common-password
password sufficient pam_winbind.so
password required pam_unix.so nullok obscure min=4 max=8 md5 try_first_pass
/etc/pam.d/common-session
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session sufficient pam_winbind.so
session required pam_unix.so try_first_pass

El modulo "pam_winbind.so" le indica a pam que los usuarios y grupos los obtenga mediante winbind. El modulo "pam_mkhomedir.so" nos crea el directorio home del usuario en caso de no existir.

Creamos el directorio "/home/MIDOMINIO" (Nombre del dominio en MAYÚSCULA) que es donde tendrán sus home los usuarios:
# mkdir /home/MIDOMINIO

Cambiar permisos al file system con usuarios/grupos AD


Cambiar los permisos en file system (archivos o directorios) con usuarios o grupos del dominio.
# chown wil /home/MIDOMINIO/wil

# ls -l

total 12

drwx------ 2 user1 root 4096 2009-05-11 09:26 user1

drwxr-xr-x 2 user2 root 4096 2009-05-09 15:03 user2

drwx------ 3 wil root 4096 2009-05-11 15:45 wil

Además los directorios deberían tener permiso solo para el user así que cuando creamos la carpeta del usuario será:

# chmod 700 /home/MIDOMINIO/wil

Asignación de quota de disco a usuarios /grupos AD


Instalamos los siguientes paquetes

#apt-get install quota quotatool

Debes activar el soporte para cuotas en las particiones mencionadas, agregando en el archivo /etc/fstab los parámetros usrquota y grpquota a las líneas que definen la configuración de las particiones /home:

# vim /etc/fstab






# /etc/fstab: static file system information.#

# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

#/dev/sda1 / ext3 errors=remount-ro 0 1

/dev/sda1 / home ext3 noatime,usrquota,grpquota 1 2

/dev/sda5 none swap sw 0 0

/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0

/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0

Debemos remontar las particiones para que surtan efecto los cambios:
# mount /home

Creamos los ficheros aquota.user, aquota.group, quota.user y quota.group,
los cuales se utilizarán almacenar la información y estado de las cuotas en cada partición.
#cd /home

# touch aquota.user aquota.group quota.user quota.group

Activamos las cuotas de disco recién configuradas ejecutando:
 # quotaon /home

Reiniciamos a fin de aplicar cuota de disco a algunos usuarios.

Suponiendo que se quiere asignar una cuota de disco de 6 MB para el usuario wil en /dev/sda1, se utilizaría lo siguiente:

#edquota -u wil -f /

Nos da esta panatalla la cual editamos la columna hard y colocamos la cantidad de 6 Mb
Disk quotas for user wil (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 0 0 6144 0 0 0

Con ctrl. X salvamos el archivo. Luego colocamos Y y enter.

Si queremos tener una restricción estricta colocamos la quota en la columna hard, y si el usuario excede esa quota no lo va a dejar escribir en disco. Ahora si queremos ser mas permisivos colocamos la restricción en la columna soft, en este caso el usuario podrá excederse en la cantidad de Mb pero tendrá un tiempo de gracia para poder excederse que es de 7 dias que viene por default (globalmente) pudiendo cambiar este valor si quisiéramos con los siguientes comandos:

# edquota -u user1 –T // a nivel de usuario

Times to enforce softlimit for user wil (uid 10000):

Time units may be: days, hours, minutes, or seconds

Filesystem block grace inode grace

/dev/sda1 unset unset

#edquota –t // a nivel global

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem Block grace period Inode grace period

/dev/sda1 7days 7days

Blocks: Bloques. Corresponde a la cantidad de bloques de 1 Kb que está utilizando el usuario.

Soft: Limite de gracia. Limite de bloques de 1 KB que el usuario puede utilizar y que puede rebasar hasta que sea excedido el periodo de gracia (de modo predeterminado son 7 días).

Hard: Limite absoluto. Limite que no puede ser rebasado por el usuario bajo circunstancia alguna.

Inodes: Inodos. Corresponde al número de ficheros que está utilizando el usuario. Un inodo (también conocido como Index Node) es un apuntador hacia sectores específicos de disco duro en los cuales se encuentra la información de un fichero. Contiene además la información acerca de permisos de acceso así como los usuarios y grupos a los cuales pertenece el fichero.