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

Samba con full audit + recycle

Hace tiempo hablamos en este blog acerca de cómo habilitar una papelera de reciclaje en Samba y también cómo conseguir un log de auditoría desde Samba. En ambos casos, siempre era necesario emplear la siguiente variable,
vfs objects = recycle
o
vfs objects = full_audit
según lo que nos interesase habilitar. Sin embargo, si nos interesa habilitar ambas cosas, la variable la tenemos que definir tal como sigue,
vfs object = recycle full_audit
Y a continuación el resto de parámetros que nos interese.
Saber cómo definir esta variable de forma conjunta es importante, ya que si incluimos dos líneas, una con cada definición únicamente funcionará la segunda escrita. Así que si necesitas registro de actividad y papelera de reciclaje, tenlo presente.

Referencia

Leer más

Samba: Registro de actividad

Por normal general, tarde o temprano, al trabajar sobre unidades de red y ficheros compartidos, la pregunta ¿quién ha borrado el fichero ...? llega al administrador de sistemas. Es en este momento cuando un samba mal configurado o con unas opciones de auditoría malas puede complicarte la vida.
Por suerte, samba nativamente ofrece dicha posibilidad, y únicamente para usarlo hay que emplear el módulo full_audit que viene incluido ya en las últimas versiones de samba. La forma en la que yo lo implementé creo que es la más sencilla y fácil de gestionar, y permite más modularidad. Para ello, comenzamos creando el fichero /etc/samba/audit.conf con el siguiente contenido,
vfs objects         = full_audit
 
full_audit:prefix   = %u|%I|%m|%S
full_audit:success  = mkdir rename unlink rmdir pwrite
full_audit:failure  = none
full_audit:facility = local0
full_audit:priority = INFO
Con el fichero creado, únicamente debemos de incluir este método de auditoría en aquellas carpetas compartidas que deseemos. Para hacerlo, nada más sencillo que en el fichero /etc/samba/samba.conf, añadir la siguiente línea las unidades que deseemos,
[UNIDAD DE RED]
  include   = /etc/samba/audit.conf
  path      = /srv/data
  read only = no
  ...
Tras ello, y antes de reiniciar el servicio, podemos comprobar con testparm que el fichero de configuración es válido. Si todo está correcto, entonces ya podemos reiniciar el servicio.
shell> testparm
shell> service smbd restart
shell> service nmbd restart
Desde este momento, aparecerán líneas en syslog indicando la actividad de los usuarios en el sistema.
shell> tail -f /var/log/syslog
mail|192.168.0.20|304j|user|pwrite|ok|data/file.text
fran|192.168.0.14|71aj|user|pwrite|ok|data/file.text
fran|192.168.0.14|712j|user|pwrite|ok|data/file.text
mail|192.168.0.20|304j|user|pwrite|ok|data/file.text
javier|192.168.0.25|304j|user|pwrite|ok|javier/file.text
javier|192.168.0.25|304j|user|pwrite|ok|javier/file.text
javier|192.168.0.25|304j|user|pwrite|ok|javier/file.text
Espero que os sea de utilidad. En esta salida, buscar un evento, como veis es muy sencillo.

Nota:

Significado de las líneas del fichero de auditoría:
  • vfs objects
    Indicamos que use el módulo full_audit
  • full_audit:success
    Especifica las acciones en las cuales realizar la escritura de auditoría.
    • mkdir: Creación de directorios
    • rename: Cambio de nombres
    • unlink: Borrado de ficheros
    • rmdir: Borrado de directorios
    • pwrite: Nuevos ficheros (creados o subidos)
    Aquí puedes encontrar toda la lista de opciones soportadas.
  • full_audit:failure
    Indica qué acciones se deben de escribir a auditoría en caso de que fallen.
  • full_audit:facility
    full_audit envía todo a syslog, pero permite configurarlo por si nos interesa separar o poder filtrar dichas acciones. En este caso, hemos optado por poner la facility local0, ya que suele ser de las no usadas en el sistema.
  • full_audit:priority
    Al igual que nos permite indicar la facility, también se permite indicar la prioridad. Para nosotros INFO.
  • full_audit:prefix
    Indica cómo queremos escribir la línea de log, para hacerla más legible. A continuación os deja la tabla de las variables soportadas por full_audit.
    Variable Definition
    Variables de cliente
    %a Arquitectura del cliente
    %I Dirección IP del cliente
    %m Nombre NetBIOS del cliente
    %M Nombre DNS del cliente
    Variables de usuario
    %u Nombre de usuario
    %U Nombre de usuario que el cliente solicita
    %H Directorio ~ de %u
    %g Grupo primario de %u
    %G Grupo primario de %U
    Variables de compartido
    %S Nombre del compartido
    %P Directorio del compartido
    %p Punto de montaje del compartido
    Variables del servidor
    %d ID del proceso del servidor
    %h Nombre DNS del servidor
    %L Nombre NetBIOS del servidor
    %N Directorio raís del servidor
    %v Versión de samba
    Miscellaneous variables
    %R Nivel de protocolo SMB negociado
    %T Fecha
    var Valor de una variable de entorno var
Leer más

slapd bdb_equality_candidates not indexed

Tras la instalación de un PCD y ponerlo en funcionamiento, el servidor LDAP comenzó a enviar a syslog una gran cantidad de warnings que indicaban que algo se estaba haciendo mal. Los mensajes era como estos, pero el problema no era tener una línea cada cierto tiempo, sino que cada 10 minutos estábamos teniendo unas 50 líneas aproximadas, más otras pocas que rsyslog omitía. En el mensaje, como veis está indicado el problema, y es que un campo que se considera importante no tiene un índice creado.
...
slapd[1354]: <= bdb_equality_candidates: (displayName) not indexed
slapd[1354]: <= bdb_equality_candidates: (cn) not indexed
slapd[1354]: <= bdb_equality_candidates: (displayName) not indexed
slapd[1354]: <= bdb_equality_candidates: (cn) not indexed
...
Para solucionarlo tocó hacer lo que justamente el error indicaba, indexar esos campos. Así que para ello, seguimos los siguientes pasos.
  • Parar LDAP
    shell> service slapd stop
    
  • Crear los nuevos índices
    Para hacer esto debemos editar el fichero /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}hdb.ldif y después de la línea "olcDbIndex: objectClass eq" añadir los índices que nos interesen.
    ...
    olcDbIndex: objectClass eq
    olcDbIndex: displayName eq
    olcDbIndex: cn eq
    ...
    
  • Reindexar la base de datos
    shell> slapindex -F /etc/ldap/slapd.d/
    
    Ojo aquí! Si este último comando lo ejecutáis como root, os saltará una advertencia de que los ficheros creados no tendrán permisos, ya que están ejecutados como root. Así que hay que establecer los permisos correctos.
  • Establecer los permisos correctos
    shell> chown -R openldap:openldap /var/lib/ldap/
    
  • Arrancar LDAP
    shell> service slapd start
    
El proceso de hacer estos cambios es aproximadamente de 3 minutos y dejaremos sin dudarlo la base de datos LDAP mejor indexada y, sobre todo, evitaremos los molestos warnings.
Leer más

nmap, netbios scan hostname

Hay veces que por alguna razón, bien interés, bien por que estemos haciendo una auditoría de red, sabemos que hay un equipo, una IP, que tiene un servicio NETBIOS corriendo, pero de él todavía no sabemos el nombre.
Por suerte, nmap nos puede ayudar a averiguarlo de una forma bastante rápida,

shell> nmap -script smb-os-discovery.nse -p445 192.168.0.35

Starting Nmap 6.00 ( http://nmap.org ) at 2013-04-06 18:36 CEST
Nmap scan report for 192.168.0.35
Host is up (0.0022s latency).
PORT    STATE SERVICE
445/tcp open  microsoft-ds

Host script results:
| smb-os-discovery: 
|  OS: Unix (Samba 3.5.6)
|  Computer name: samba
|  Domain name: domain.com
|  FQDN: samba.domain.com
|  NetBIOS computer name: 
|  NetBIOS domain name: HOME
|_ System time: 2013-04-06 18:36:08 UTC+2

Nmap done: 1 IP address (1 host up) scanned in 0.43 seconds

La entrada nmap, netbios scan hostname la puedes leer en El mundo en bits.
Leer más

Metasploit, smb scan

metasploit contiene varios módulos que sirven para consultar y auditar la seguridad del protocolo SMB. Quien dice auditar, dice que un factible atacante explote, por lo que es mejor conocerlos y saber que no somos, cuando menos, fácilmente vulnerables.
Una sencilla búsqueda sobre smb en metasploit nos arroja los siguientes módulos, que comentamos a continuación.
  • smb/pipe_auditor
    Utilizado para determinar qué servicios SMB están disponibles.
  • smb/pipe_dcerpc_auditor
    Escanea todos los servicios SMB y devuelve aquellos que puede contender detrás servicios DCERPC.
  • smb/smb2
    Determinar si los diferentes equipos soportan el protocolo SMB2.
  • smb/smb_enumshares
    Enumera todos los archivos y carpetas compartidas en red.
    Permite establecer una combinación de usuario y contraseña, con lo que aplica a toda la red escaneada el mismo patrón en búsqueda de equipos accesibles.
  • smb/smb_enumusers
    Empleando el protocolo SMB RPC lista todos los usuarios existentes.
  • smb/smb_login
    Intenta acceder a los sistemas mediante una autenticación en el protocolo SMB. Entre otras cosas sirve para comprobar la fortaleza de las contraseñas, por lo que permite un ataque por fuerza bruta de usuario y contraseña.
  • smb/smb_lookupsid
    Permite determinar que usuarios hay creados en cada una de las maquinas de la red, lo que facilita enormemente un ataque por fuerza bruta.
  • smb/smb_version
    Como su nombre indica, devuelve la versión de SMB empleada en cada uno de los equipos de la red, así como otras características de los mismos si son directamente accesibles.

La entrada Metasploit, smb scan la puedes leer en Puppet Linux.
Leer más

Opciones de recycle en Samba

Hace unos días publicaba un artículo sobre cómo activar la papelera de reciclaje en el servicio Samba. Así todos aquellos archivos que se hayan borrados podrán ser recuperados de forma simple sin tener que recurrir al backup por un delete mal pensado.
El primer post realmente fue bastante rápido, la intención era introducir la facility. Ya en este vamos a explicar más en detalle todos los parámetros que existe y se le pueden pasar y lo qué significa cada uno. También tenemos pendiente la creación de un pequeño script que se encargue de purgar los archivos más viejos de la papelera, para evitar que se nos llene. Vamos por partes.
Las opciones:
  • recycle:repository
    path de la carpeta que ejercerá de papelera de reciclaje. Si no es especifica nada, por defecto es .recycle.
  • recycle:directory_mode
    Indica los permisos que tendrá la carpeta de reciclaje cuando se cree por primera vez. El valor por defecto es 0700.
  • recycle:subdir_mode
    Lo mismo que el anterior, pero para los subdirectorios.
  • recycle:keeptree
    Establece si cuando se elimina un archivo dentro de subdirectorios dicho árbol se mantendrá o no.
  • recycle:versions
    Indica si se mantendrán las versiones de los ficheros. Si se eliminan dos ficheros con el mismo nombre y dicha opción no está habilitada sólo permanecerá el último. Si está, se creará una copia con el nombre "Copy #x of filename".
  • recycle:touch
    Especifica si la fecha de modificación de un archivo debe ser actualizada cuando éste se mueve a la papelera.
  • recycle:exclude
    Indica las extensiones de los archivos que serán excluidos de ser enviados a la papelera. Se nombrarán con *.ext y se separarán por |.
  • recycle:excludedir
    Hace exactamente lo mismo, pero con nombres de directorios.
  • recycle:noversions
    Si la opción versions está activa a nivel general, se puede desactivar para una seria de extensiones que se especificarán aquí.
  • recycle:minsize
    Establece el tamaño mínimo de los archivos que serán enviados a la papelera. Si son de menor tamaño se borran directamente.
    El tamaño se indica en bytes.
  • recycle:maxsize
    Establece el tamaño máximo de los archivos que serán enviados a la papelera. Si este tamaño es excedido, se borrarán directamente.
    Con en la opción anterior, el tamaño viene dado en bytes.
Un ejemplo completo de las opciones que se le podrían pasar en la sección global sería,
[global]
   recycle:repository = /srv/Trash
   recycle:versions   = TRUE
   recycle:keeptree   = TRUE
   recycle:touch      = FALSE
   recycle:exclude    = *.tmp | *.o | ~$* | *.~?? | *.log
   recycle:excludedir = /tmp  | /cache
   recycle:noversions = *.dat | *.ini
   recycle:minsize    = 512
   recycle:maxsize    = 51200
Y ahora vamos por la parte que nos falta, que no es otra que borrar aquellos archivos que llevan más de #x días en la papelera, para evitar que ésta aumente de tamaño indefinidamente. Aunque puedes compartir la papelera con los usuarios de Samba/ldap como una carpeta más y que sean ellos quien lo gestionen, quizás la opción de borrar los archivos mayores de 30 días automáticamente no esté demás. Para hacerlo, podemos recurrir a cron y emplear find. Dejando una línea tal que así en nuestro /etc/crontab.
30 2 * * *   root   find /srv/Trash/* -mtime +30 -exec rm {} \;
Todos los días a las 2:30 de la mañana se ejecutará y eliminará aquellos archivos mayores de 30 días, haciendo así que la papelera no aumente de tamaño de forma descontrolada.

La entrada Opciones de recycle en Samba la puedes leer en Puppet Linux.
Leer más

Papelera de reciclaje en Samba

Samba es un servidor de archivos que emplea el protocolo SMB/CIFS para permitir la compartición simple de archivos entre equipos, tanto Linux como Windows. Crear un servidor Samba es bastante sencillo y no tiene demasiada complicación poner a funcionar el servicio. Sin embargo, una de las cosas que más gente que lo usa se queja es que no existe una papelera de reciclaje. Esto quiere decir, cuando un usuario elimina desde un equipo Windows un archivo, éste se elimina permanentemente del servidor. No es necesario emplear la combinación Shift - Del para suprimirlo definitivamente.
Por defecto, todos los sistemas operativos dejan los archivos que se borran en la papelera, por seguridad, ya que borrar un fichero es algo delicado. Si nos equivocamos, podemos perder mucho trabajo en muy poco tiempo. Hoy vamos a ver cómo crear una papelera en el servidor Samba, para que todas las cosas que se borren, realmente vayan a la papelera y pasado un tiempo, éstas se borren.
Para empezar, necesitamos editar el fichero de configuración general de samba, smb.conf y añadirle las siguientes líneas en la parte global.
recycle:repository = /tmp/Trash/%u
recycle:keeptree   = TRUE
recycle:versions   = TRUE
recycle:touch      = TRUE
Una vez las tengamos, debemos también de añadir un atributo especial a las carpetas que deseemos que estén afectadas por la configuración de la papelera. En cada carpeta deberemos añadir al final de su configuración la siguiente línea.
[carpeta en red]
   comment = Carpeta en red
   path = /srv/datos
   ...
   vfs objects = recycle
Ya para ir terminando, sólo nos queda crear la carpeta que hemos designada como papelera,
shell> mkdir /tmp/Trash
Sólo para dejarlo claro, podemos usar todos los operandos de Samba para la configuración de las carpetas. En mi caso empleé el nombre de usuario (%u), pero puede emplear el que desees.
Ahora ya sólo nos queda reiniciar el servicio de Samba para poder disfrutar de la nueva configuración.
Desde ahora, cualquier archivo que borre el usuario realmente el servidor lo moverá a ésta carpeta que realizará las tareas de papelera. Si un usuario los necesita, simplemente tendrá que pedirlos al administrador y los podrá recuperar sin tener que recurrir al backup.
Este método tiene un problema, la carpeta Trash podría crecer desmesuradamente, ya que no hay ningún proceso que se encargue de borrarla. En el próximo post, veremos cómo hacerlo.

Más info en la web oficial.
Leer más

Dejar de compartir C$ en Windows (XP, Vista y 7)

Uno de los fallos de seguridad que todo linuxero encuentra al trabajar o intentar acceder a un sistema Windows por samba es que por defecto siempre está compartida la unidad C$ (D$, E$, etc.). Esto significa que si sabes la contraseña del equipo puedes acceder a toda la partición. Aunque esto puede resultar interesante en muchos casos, ya que simplifica la compartición de archivos, realmente también puede suponer un fallo de seguridad. Veamos un ejemplo,
shell> smbclient -L 192.168.1.35
Enter javier's password: 
Domain=[WIN-VIRT] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC remota
D$              Disk      Recurso predeterminado
print$          Disk      Controladores de impresora
ADMIN$          Disk      Admin remota
C$              Disk      Recurso predeterminado
Compartido      Disk      
Datos           Disk      
Como se puede observar, todo el disco está compartido en red, tanto la unidad C, como la D. Puesto que tener todos los datos compartidos no nos interesa, vamos a ver cómo poder sacarlos. Para ello, tendremos que modificar el registro del sistema Windows, así que desde regedit, vamos a la clave
HKEY_LOCAL_MACHINE\
 |
 -SYSTEM\
  |
  -CurrentControlSet\
   |
   -Services\
    |
    -LanmanServer\
     |
     -Parameters\
      |
      -AutoShareWks
La clave AutoShareWks debe ser de tipo REG_DWORD y su valor debe ser 0 (cero), para que Windows no comparta automáticamente los recursos administrativos.
Una vez se haya modificado este valor, simplemente desde la consola (cmd) se reinicia el servicios samba de Windows, tal como sigue
C:\> net stop server
C:\> net start server
Tras esto, comprobamos qué es lo que está compartido en el equipo y vemos que los recursos administrativos (C$ y D$) ya no lo están.
shell> smbclient -L 192.168.1.35
Enter javier's password: 
Domain=[WIN-VIRT] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC remota
print$          Disk      Controladores de impresora
Compartido      Disk      
Datos           Disk      
Leer más

Windows, carpetas en red tardan en mostrar contenido

Toda la gente que me lee y que usa Windows, probablemente me den la razón cuando les pregunte si alguna vez al acceder a ficheros en red desde el explorer han detectado cierta lentitud. Por defecto, Windows cuando accede a recursos en red, busca ficheros, tareas programadas e impresoras y por norma general, el acceso a éstas dos últimas son las que causan dicha lentitud.
Vamos a ver cómo poder solucionarlo, siempre que no necesitemos acceso a esos recursos (en forma de búsqueda). Para hacerlo, vamos al editor de registro (regedit) y buscamos la clave,
HKEY_LOCAL_MACHINE\
 |
 -SOFTWARE\
  |
  -Microsoft\
   |
   -Windows\
    |
    -CurrentVersion\
     |
     -Explorer\
      |
      -RemoteComputer\
       |
       -NameSpace
Y tenemos que borrar los registros,
{D6277990-4C6A-11CF-8D87-00AA0060F5BF} - Búsqueda de tareas programadas
{2227A280-3AEA-1069-A2DE-08002B30309D} - Búsqueda de impresoras
Leer más

Refresco de archivos windows + samba

Muchas veces fijo que os tiene pasado, sobre todo en equipos Windows que tienen datos compartidos por samba que alguien (o vosotros mismos) creáis un fichero en una carpeta y ese no aparece ahí hasta que refrescáis con F5. Esto puede dar una falsa sensación de que algo está fallando y si pasa muy a menudo, puede resultar incluso molesto.
Para evitar tener que estar presionando F5 cada poco tiempo, o esperar que el update de la carpeta se ejecute, podemos modificar la clave del registro de Windows, para que lo haga automáticamente, tal como sigue.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update\UpdateMode = 0
En caso de que el Windows al estar conectado a una unidad samba os esté avisando cada poco tiempo de que existe un riesgo de seguridad, lo podemos evitar añadiendo al IP del servidor samba a los sitios de confianza. Para ello,
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Ranges\Range1]
"*"=dword:00000002
":Range"="DIRECCION_IP"
Leer más

New samba fail, CVE-2012-2111

Si hace aproximadamente 15 días se notificaba de un fallo grave de seguridad en el código de Samba (CVE-2012-1182), hoy nuevamente toca advertencia. Un nuevo bug ha sido descubierto por Ivano Cristofolini, y está identificado como CVE-2012-2111. Esta vulnerabilidad permite a un atacante, esta vez autenticado, elevar privilegios a través de conexiones al LSA (Local Security Authority). Concretamente permite elevar los privilegios "take ownership". Explotanto este fallo, cualquier usuario del sistema podrá asignarse a si mismo ese privilegio y por lo tanto, hacerse dueño de ficheros y directorios que no le pertenecen.
El fallo está originado por una incorrecta política de seguridad presente en los procesos RPC (nuevamente). Concretamente en las funciones CreateAccount, OpenAccount, AddAccountRights que no están correctamente delimitadas.
Los desarrolladores ya han hecho los deberes correspondientes y ya hay parches para corregir dicha vulnerabilidad. Están disponibles en la web del proyecto. Las principales distribuciones ya los han aplicado y ya existen paquetes saneados en los repositorios.
También se han descrito unas medidas y recomendaciones para mitigar los fallos a espera de que los parches sean aplicados. Éstas son:
  • Desactivar los privilegios en la sección [global]
    Realizando la siguiente asignación "enable privileges = no"
  • Eliminar cualquier asignación de privilegios
    Para ello habrá que borrar el fichero account_policy.tdb
  • Aplicar los parches de seguridad recomendados
  • Reasignar nuevamente los privilegios
    Para ello, ejecutaremos "net rpc rights"
Más información en: samba.org - CVE-2012-2111
Leer más

Samba fail, CVE-2012-1182

El viernes de la semana pasada se ha anunciado en los foros de Samba una vulnerabilidad crítica afecta a las versiones comprendidas entre la 3.0.X y la 3.6.3, prácticamente 9 años de desarrollo con el bug a cuestas. La vulnerabilidad de etiquetó con el código CVE-2012-1182 y tiene una gravedad alta, ya que permitiría ejecutar código remotamente como usuario root a través de una conexión sin autenticar (sesión anónima).
El fallo está en una función que se encarga de generar el código empleado para empaquetar y desempaquetar las llamadas RPC a través de red. Este error es provocado por la falta de comprobación de concordancia entre la variable que contiene la longitud de un array y la variable usada para reservar memoria para dicho array.
Existe una prueba de concepto que explota dicho fallo creando una llamada RPC especialmente manipulada que logra aprovechar el fallo.
También están ya disponibles los parches para solucionar dicho problema de seguridad en samba.org y las principales distribuciones que lo empaquetan también han hecho los deberes creando ya paquetes no vulnerables.
Más información del bug: samba.org - CVE-2012-1182
Ejemplo de PoC: samba.org.
Leer más

samba+ldap: grupos de dominio


Según la documentación oficial de microsoft, bajo el protocolo netbios, existen 3 tipos de grupos que forman parte de un dominio y sobre los que se pueden realizar diferentes tipos de tareas y manteniemitno. Estos són:

  • Grupo local
    Es un grupo de samba-ldap local al dominio. Esto quiere decir que éste grupo sólo estará disponible para el dominio local y en caso de que haya dominios de confianza, no estará disponible para los otros dominios del "grupo".
    Cada uno de los dominios que pertenezcan a un dominio de confianza pueden tener los mismos grupos locales, que no serán visibles entra ellos.
  • Grupo global
    Tienes las mismas propiedades que un grupo local, pero éste se distribuye entre el resto de miembros de un dominio de confianza. Los grupos globales están disponibles para todos los miembros del dominio y las personas o grupos que pertenezcan a él pueden ser aceptados y tener los permisos que se establezcan en todos los equipos miembro.
  • Grupo universal
    Un grupo universal es lo mismo que un grupo global pero a nivel de bosques miembros. Permiten asignar permisos a grupos y usuarios en cualquier equipo del bosque.
    Estos grupos son los menos empleados y solo se verían en grandes dominios con integraciones globales a dominios miembro.
Mi recomendación, siempre usar grupos locales para un dominio propio y dejar la posibilidad de usar grupos globales por si un día se forma parte de un dominio de confianza. El uso de grupos locales asegura que los permisos nunca se pierda aunque el sistema con posterioridad escale.

Leer más

Instalar smbldap-tools en SLES

smbldap-tools es un conjunto de utilidades que en la mayoría de los casos resulta muy útil para manejar y montar PCD's en GNU/Linux. En sistemas debian/ubuntu existe un paquete que permite su instalación de forma simple e inmediata.


shell> apt-cache search smbldap-tools
 smbldap-tools - Scripts to manage Unix and Samba accounts
shell> apt-get install smbldap-tools
Sin embargo en otras distribuciones contar con este paquete también simplificaría mucho las tareas de montaje y administración, especialmente las primeras, pero no está disponible... o sí.
Suse SLES es una de esas distribuciones que si preguntas por el paquete no está disponible, pero sin embargo, éste sí está disponible dentro del paquete samba-doc. Tras instalarlo con yast, ya tenemos disponible este conjunto de herramientas.
Su localización, /usr/share/doc/packages/samba/examples/LDAP/smbldap-tools-X.X.X y dentro de esta carpeta están los script perl más comunes.
shell> ls
smbldap.conf       smbldap-groupmod   smbldap-populate
smbldap-useradd    smbldap-usermod    smbldap-groupadd
smbldap-groupshow  smbldap_tools.pm   smbldap-userdel
smbldap-usershow   smbldap_bind.conf  smbldap-groupdel
smbldap-passwd     smbldap-userinfo   smb.conf  

Aunque en distribuciones como SLES no resultan demasiado necesarios, especialmente lo de manejo de usuarios, ya que yast lo hace muy bien, el script smbldap-populate sí puede resultar en ocasiones muy útil.
Para usarlo, simplemente hay que copiar los ficheros smb.confsmbldap_bind.conf a /etc, tras lo cual funcionarán igual que en una distro cualquiera.
Leer más

PDC Linux + Windows 7

samba ldap
Desde ya hace unos años Windows 7 está entre nosotros y cada vez con más fuerza, ya que el extinto Windows XP es prácticamente imposible conseguirlo en un equipo nuevo.
El gran posible que trajo consigo la implantación de Windows 7 en las redes de empresas era agregar estos nuevos equipos al dominio ya existente. Sobre todo, si este dominio era un PDC con Linux (samba + ldap).
Me tuve que pelear en su momento con ello, así que os dejo aquí una breve guía de cómo agregar un Windows 7 a un dominio Linux. Si os hace falta, seguirla.

Cambios necesarios en el registro de Windows

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanWorkstation\Parameters
    ; Enable NT-Domain compatibility mode
    ; Default:
    ; [value not present]
    ; "DomainCompatibilityMode"=-
    "DomainCompatibilityMode"=dword:00000001
    
    ; Disable required DNS name resolution
    ; Default:
    ; [value not present]
    ; "DNSNameResolutionRequired"=-
    "DNSNameResolutionRequired"=dword:00000000
    
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Netlogon\Parameters
    ; Disable requirement of signed communication
    ; My Samba (3.0.33) works with signed communication enabled, so...
    ; Default:
    "RequireSignOrSeal"=dword:00000001
    ; Disable the usage of strong keys
    ; Default:
    ; "RequireStrongKey"=dword:00000001
    "RequireStrongKey"=dword:00000000
    
    
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\System\DNSClient
    ; Enforce DNS suffix
    ; It seems this is not necessary - see below
    "NV PrimaryDnsSuffix"="Name_PDC"
    
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters
    ; Overwrite DNS domain. Usually the domain is supposed to be...
    ;when joining the domain. But with Samba this does not work (yet)
    "NV Domain"="Name_PDC"
    

Cambios en el sistema operativo

Desde el panel de control/opciones de seguridad/directivas locales/opciones de seguridad, hay que modificar las siguiente directivas.
  • Seguridad de RedNivel de autentificacion de LAN MANAGER
  • Seguridad de RedSeguridad de sesion minima para clientes NTLM basados en SSP
  • Miembro de dominioRequerir clave de sesion segura (Windows 2000 o posterior)
Nota: Los Windows 7 home edition no sirven para entrar a formar parte de un dominio.
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios