24 Sep 2015

Reforma Fiscal de la Ley General Tributaria.

El pasado 22 de Septiembre de 2015 se publicó en el BOE la Ley 34/2015, de 21 de septiembre, de modificación parcial de la Ley 58/2013, de 17 de diciembre, General Tributaria.

reforma-fiscal

Con el objetivo de que os resulte más cómodo el estudio y conocimiento de la misma, desde el departamento de consultoría de finanzas de DATADEC os ofrecemos un resumen de los cambios más importantes que refleja la Reforma Fiscal de la Ley General Tributaria.

Esperamos sea de vuestro interés.

Documento: Reforma Fiscal de la Ley General Tributaria.

04 Sep 2015

Suministro Inmediato de Información (SII)

Como ya informamos anteriormente, quedábamos a la espera de que la Agencia Tributaria nos proporcionara más información sobre el sistema de Suministro Inmediato de Información (SII).

La nueva información ha llegado en forma de Proyecto de Real Decreto para la modernización, mejora e impulso del uso de medios electrónicos en la gestión del Impuesto sobre el Valor Añadido, por el que se modifican el Reglamento del Impuesto sobre el Valor Añadido, y que pasamos a resumir a continuación.

aeat_nota_iva

Características básicas del SII

  • Después de cada facturación, tanto recibida como emitida, los contribuyentes deberán enviar a la Agencia Tributaria en un máximo de cuatro días hábiles el detalle de las facturas emitidas y recibidas. Esto no quiere decir que tengamos que remitir las facturas propiamente dichas, sino que lo que enviaremos será un detalle de la factura en el que aparecerán los datos relevantes de la misma y que son necesarios para confeccionar los libros registro.
  • En principio, solo será obligatorio para las grandes empresas, grupos de IVA e inscritos en el régimen de devolución mensual (REDEME). El resto podrá acogerse voluntariamente y, si lo desean renunciar al sistema al final de cada año.
  • Tendrán para sus autoliquidaciones diez días más de plazo y no presentarán los modelos 340 (libros registro), 347 (operaciones con terceros) y 390 (resumen anual).
  • Con la información recibida y la que conste en la base de datos, la AEAT elaborará los datos fiscales del contribuyente, a efectos del IVA, facilitando la declaración del Impuesto.

El cambio planteado por el nuevo sistema de Suministro Inmediato de Información (SII) consiste en establecer la obligación de remitir el detalle de registro de las facturas (no las facturas propiamente dichas) que deben hacerse constar en los ‘libros registro’. La información a remitir incluirá los elementos esenciales de la factura expedida o recibida y, en el caso del registro de las facturas recibidas, la cuota deducible.

Para realizar el envío de la información a la Agencia Tributaria, los contribuyentes adscritos al sistema dispondrán de un plazo máximo de cuatro días hábiles desde el momento en que emitan o reciban una factura.

El contribuyente, podrá acceder a la web de la Agencia en cualquier momento para consultar tanto la información remitida por él mismo, como aquella imputada a través de información de terceros que también hayan facilitado los registros de forma electrónica.

Datos fiscales:

Será la propia Agencia Tributaria la que creará unos datos fiscales que podrá utilizar el contribuyente a la hora de presentar su declaración de IVA.

Además de que sea la Agencia Tributaria quien genere estos datos, también se amplía el plazo de presentación de las autoliquidaciones periódicas hasta los primeros treinta días naturales del mes siguiente al correspondiente periodo de liquidación mensual o trimestral, según proceda, o hasta el final del mes de febrero, en el caso de la liquidación mensual de enero.

Ventajas del sistema:

El seguimiento de los libros se realizará a través de la Sede electrónica de la AEAT mediante el suministro electrónico de los registros de facturación en un período breve de tiempo.

El contribuyente dispondrá de un libro registro “declarado” y otro “contrastado” con la información procedente de terceros que pertenezcan al colectivo de este sistema o de la propia base de datos de la AEAT. Con esta información realizará la declaración correspondiente.

El colectivo sujeto al presente SII quedará exonerado de la obligación de presentar las declaraciones sobre las operaciones con terceras personas realizadas durante el año natural mediante la supresión de la obligación de presentación del modelo 347, así como, de la presentación de la Declaración informativa, modelo 340, por lo que se refiere al contenido de los libros registro del Impuesto sobre el Valor Añadido y, en su caso, de la Declaración – resumen anual del Impuesto sobre el Valor Añadido (modelo 390).

04 Sep 2015

SSH restringido desde Windows

El otro día, un compañero me planteó el siguiente problema: ¿Cómo puedo hacer que un usuario de Windows ejecute, en un linux, unos comandos específicos a través de SSH sin saber el password del usuario destino?

Mi respuesta fue: Para lo del password, habrá que usar certificados. Para lo otro, déjame que te lo mire. Y así empezó el “viaje” que me llevó a conocer un poco más SSH. Para aclarar el escenario, voy a explicarlo con un poco más de detalle.

Tenemos a un usuario del dominio de Windows que va a ejecutar un fichero .bat o .ps1… Este fichero tendrá una llamada a la versión de linea de comandos de putty (plink) para ejecutar un script remoto en una máquina linux. Esta típica configuración presenta un gran problema, el usuario puede ver el password en claro en el fichero .bat. ¿Cómo solucionarlo? Vamos a ello.

Configuración del servidor Linux

El servidor Linux en el que se vayan a ejecutar los comandos no debe tener ninguna característica especial que lo diferencie de otros Linux. La primera opción que hay que configurar el el fichero authorized_keys del usuario que va a ejecutar los comandos:

[root@srerver]# cat /home/user/.ssh/authorized_keys 
command="/usr/local/bin/wrapper.sh",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa CLAVE_PUBLICA_SSH rsa-key-20150703

Esta línea realiza lo siguiente:

  • command=”/usr/local/bin/wrapper.sh”: Cuando se realice una conexión con la CLAVE_PUBLICA_SSH, ejecuta el script wrapper.sh.
  • no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding: Estas opciones deshabilitan las capacidades extras de SSH para evitar que se abuse de la cuenta utilizada.
  • ssh-rsa CLAVE_PUBLICA_SSH rsa-key-20150703: esta parte de la línea es donde se incluirá la clave pública RSA que se generará en los pasos siguientes.

Con la configuración actual, cuando se intente ejecutar un comando vía SSH, este no se ejecutará, ya que hemos puesto en la configuración que ejecute el script wrapper.sh. Este script será el encargado de comprobar que el comando que llegue sea uno de los permitidos y de ejecutarlo:

[root@server]# vim /usr/local/bin/wrapper.sh
#!/bin/sh
# Script: /usr/local/bin/wrapper.sh 

case "$SSH_ORIGINAL_COMMAND" in
        "/u01/script/elevated_command.sh")
                $SSH_ORIGINAL_COMMAND
		echo "elevated_comand ejecutado " 
                ;;
        "scp -r -p -f /etc")
                $SSH_ORIGINAL_COMMAND
                ;;
   
        *)
                echo "Command: $SSH_ORIGINAL_COMMAND" >> ~/command.txt
                exit 1
                ;;
esac

Este script, aprovecha la funcionalidad de SSH que guarda en la variable $SSH_ORIGINAL_COMMAND el comando original que se había pasado por parámetro. Por lo tanto, este script incluye en un switch todos los comandos permitidos para posteriormente, ejecutar el correcto.

Hay que tener en cuenta, que en muchas ocasiones, el comando que se ejecuta internamente, no es exactamente igual al que se pasa por parámetro. Por eso, se ha añadido la opción de *) que guardará en el fichero command.txt cual ha sido el comando interpretado.

No hay que olvidar que dicho script debe tener permisos de ejecución:

[root@server]# chmod +x /usr/local/bin/wrapper.sh

Configuración del equipo Windows

Windows todavía no dispone de herramientas nativas para la ejecución de comandos SSH. Por esto, vamos a necesitar diferentes herramientas:

Lo primero que necesitaremos, será generar el par de claves RSA. Para ello, ejecutaremos PuTTyGen. Para asegurarnos de que la clave sea lo suficientemente robusta durante unos años, habrá que cambiar en la parte inferior derecha el parámetro “Number of bits in a generated key:” de 2048 a 4096. Seguidamente deberemos pulsar en “Generate”:

putty_key_generator

Una vez generada la clave, deberemos exportar la clave privada de dos formas diferentes, la nativa de Putty y la de OpenSSH. Para exportar la clave privada de forma nativa, pulsaremos en “Save private key”, lo que nos abrirá un menú para guardar el fichero *.ppk

Para exportar la clave en formato OpenSSH, hay que pulsar en el menú “Conversions” y luego en “Export OpenSSH key” en formato *.key.  Esto es necesario porque en función del programa que utilicemos, necesitará la clave privada en un formato o en otro.

Por último, nos queda copiar la clave pública que se encuentra en el cuadro con título: “Public key for pasting into OpenSSH authorized_keys file”. Una vez copiada, la incorporaremos al fichero authorized_keys del servidor Linux.

A continuación, se muestra un ejemplo de uso de dicho sistema:

@echo off
REM /* cwRsync utiliza una unidad virtual llamada /cygdrive/ por lo que las rutas debe
REM    ser relativas a esa unidad /*
SET LOG_DIR="/cygdrive/C/logs"
SET LOG_DIR_NOTEPAD="C:\Programs\Notepad\logs"
SET RSYNC="C:\cwRsync_5.4.1\rsync.exe"
SET PLINK="C:\plink.exe"

REM En windows no es necesario encerrar el comando entre comillas simples. Si lo
REM hacemos, debermos incluir dichas comillas en el script wrapper.sh
REM Plink utiliza el formato de clave privada nativo de Putty en fichero *.ppk

%PLINK% -v -ssh -i C:\private.ppk user@10.0.0.1 /u01/script/elevated_command.sh

REM cwRsync utiliza el formato de clave privada de OpenSSH en fichero *.key

%RSYNC% -av -e "/cygdrive/c/cwRsync_5.4.1/ssh -i C:\private.key" user@10.0.0.1:/u01/logs %LOG_DIR%

Con esto hemos visto un ejemplo de ejecutar un comando mediante ssh y realizar un rsync sin necesidad de contraseña y limitando los comandos que se pueden ejecutar.

David Lladró
Responsable de Seguridad en Datadec Online

[subscribe2]