Windows::Inhabilitar opciones de Windows

Este truco permitirá deshabilitar algunas aspectos de el explorador para que nadie pueda tener acceso a tu computadora. Abre el editor del registro de windows (regedit.exe),y luego ve a la clave (carpeta) HKEY_CURRENT_U SER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer Una vez ahí puedes crear los siguientes valores que te describiré a continuación:

Primero siempre efectúa el siguiente paso para cada Valor que vallas a crear; Click en Edición\Nuevo\Valor DWORD. Te aparecerá en el costado derecho de la pantalla un nuevo valor DWORD.

Luego le pones uno de los siguientes nombres a dicho valor:

NoClose Deshabilita el comando “Apagar el sistema” del menú inicio
NoFavoritesMenu Deshabilita el menú “Favoritos” del menú inicio
NoFind (Deshabilita el comando “Buscar” del menú inicio)
NoRecentDocsMenu Deshabilita el menú “Documentos” del menú inicio
NoRecentDocsHistory Complemento de el truco anterior para deshabilitar totalmente el menú “Documentos”; este complemento no permite que aparezcan accesos directos en la carpeta recent
NoRun Deshabilita el comando “Ejecutar” del menú inicio
NoSetFolders Deshabilita los comandos “Panel de control” e “Impresoras” del menú Configuración que esta en el menú inicio
NoSetTaskbar Deshabilita los comandos “Barra de tareas y Menú inicio” del menú Configuración que esta en el menú inicio
NoFileMenu Deshabilita el menú “Archivo” del Explorador de Windows
NoViewContextMenu Deshabilita los menús que aparecen cuando hacemos click con el boton derecho del ratón; exepto los de la barra de tareas
NoTrayContextMenu Deshabilita los menús que aparecen cuando hacemos click con el boton derecho el ratón en la barra de tareas
NoDesktop Esconde todos los iconos del escritorio

Para que todo esto funcione; luego de nombrar los valores se debe hacer doble click sobre ellos y escribir «1» para habilitar la acción ó «0» para deshabilitarla . Ademas se debe reiniciar el equipo para que los cambios tengan efecto.

Windows::Bloquear y desbloquear el Registro de Windows

lgunas veces puede que sea necesario bloquear el registro de Windows para impedir que otros usuarios accedan a él y puedan modificar configuracione s.
Esta opción es un poco complicada ya que al hacerlo tampoco nos dejará acceder al registro, pero no hay que preocuparse porque primero veremos como hacer para bloquear el registro y luego como haremos para desbloquearlo.

Para deshabilitar el registro de Windows:
Hacemos clic en el botón Inicio y luego en Ejecutar
Escribimos la palabra Regedit y pulsamos el botón Aceptar
Ahora en el registro de Windows buscamos la clave

HKEY_CURRENT_USER/Software Microsoft/Windows/CurrentVersion/Policies/System

En la ventana de la derecha creamos un nuevo valor DWORD y le damos el nombre DisableRegistry Tools
Hacemos doble clic sobre él y le damos el valor “1″ para deshabilitar las funciones de edición del registro.
Una vez realizada esta operación ya nadie podrá acceder al registro de Windows, hasta que no lo volvamos a activar

Para habilitar el registro de Windows:
Abrimos el bloc de notas y escribimos lo siguiente:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system] “DisableRegistry Tools”=dword:00000000

Ahora guardamos el bloc de Notas con el nombre unlock.reg y a partir de ahora cuando queramos habilitar el registro de Windows, después de haberlo deshabilitado solo tendremos que hacer doble clic sobre el archivo que acabamos de crear unlock.reg.
Así de esta forma mi consejo es que primero crees el archivo unlock.reg y luego deshabilites el registro.

estos me parece que ya estan puestos pero los pongo otra vez por si acaso

Centos 7 – Configuración del Firewall

CentOS 7 trae un nuevo servicio llamado FirewallD que es el reemplazo de la ya conococida “iptables”. Si la máquina va  a ser usada como servidor es importante que tenga un cortafuego (firewall) para bloquear algunos servicios.

1. Activar/Habilitar el firewall

Para activar y habilitar el firewall digite el siguiente comando:

systemctl start firewalld
systemctl enable firewalld

2. Zonas

Para saber que zonas por defecto están habilitadas:

[root@localhost ~]# firewall-cmd –get-default-zone
public

Por defecto esta zona es “public” y se aplica sobre la tarjeta de red (enp0s3).

[root@localhost ~]# firewall-cmd –list-all
  public (default)
  interfaces: enp0s3
  sources:
  services: dhcpv6–client ssh
  ports:
  masquerade: no
  forward–ports:
  icmp–blocks:
  rich rules:

Los servicios activos son el dhcpv6-client y el ssh, este último por defecto usa la puerta 22.

Para ver todas las zonas, digite el siguiente comando:

[root@localhost ~]# firewall-cmd --list-all-zones
block
    interfaces:
    sources:
    services:
    ports:
    masquerade: no
    forward-ports:
    icmp-blocks:
    rich rules:

dmz
    interfaces:
    sources:
    services: ssh

Para listar una zona específica, por ejemplo “external”, digite el siguiente comando:

[root@localhost ~]# firewall-cmd --list-service --zone=external
ssh

Si queremos cambiar la zona, por ejemplo de “public” hacia “external”, digite el siguiente comando:

[root@localhost ~]# firewall-cmd --set-default-zone=external
success

3. Servicios

El firewall puede filtrar varios servicios, por ejemplo ssh (puerta 22), http (80), mysql (3306) entre otros. Para listar los servicios definidos por defecto:

[root@localhost ~]# firewall-cmd –get-services
RH–Satellite–6 amanda–client bacula bacula–client dhcp dhcpv6 dhcpv6–client dns ftp 
high–availability http https imaps ipp ipp–client ipsec kerberos kpasswd ldap ldaps 
libvirt libvirt–tls mdns mountd ms–wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi 
pmwebapis pop3s postgresql proxy–dhcp radius rpc–bind samba samba–client smtp ssh 
telnet tftp tftp–client transmission–client vnc–server wbem–https

Para poder adicionar mas servicios, se puede adicionar un nuevo archivo xml en la siguiente dirección: /usr/lib/firewalld/services

 

[root@localhost ~]# ls /usr/lib/firewalld/services
amanda-client.xml      ipp-client.xml   mysql.xml       RH-Satellite-6.xml
bacula-client.xml      ipp.xml          nfs.xml         rpc-bind.xml
bacula.xml             ipsec.xml        ntp.xml         samba-client.xml
dhcpv6-client.xml      kerberos.xml     openvpn.xml     samba.xml
dhcpv6.xml             kpasswd.xml      pmcd.xml        smtp.xml
dhcp.xml               ldaps.xml        pmproxy.xml     ssh.xml
dns.xml                ldap.xml         pmwebapis.xml   telnet.xml
ftp.xml                libvirt-tls.xml  pmwebapi.xml    tftp-client.xml
high-availability.xml  libvirt.xml      pop3s.xml       tftp.xml
https.xml              mdns.xml         postgresql.xml  transmission-client.xml
http.xml               mountd.xml       proxy-dhcp.xml  vnc-server.xml
imaps.xml              ms-wbt.xml       radius.xml      wbem-https.xml

Para adicionar o remover los servicios a nuestra zona (por ejemplo el servicio http):

[root@localhost ~]# firewall-cmd --add-service=http
success
[root@localhost ~]# firewall-cmd --list-service
http ssh
[root@localhost ~]# firewall-cmd --remove-service=http
success
[root@localhost ~]# firewall-cmd --list-service
ssh

Si reiniciamos la máquina,  el servicio que adicionamos desaparece. Por tanto para que quede permanente solo necesitamos adicionar a nuestro comando la palabra “–permanent” y lo siguiente es hacer un reload del servicio.

[root@localhost ~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-service
http ssh

4. Puertas

Si queremos adicionar o remover una puerta (por ejemplo TCP 465), lo podemos hacer de la siguiente manera:

[root@localhost ~]# firewall-cmd --add-port=465/tcp
success
[root@localhost ~]# firewall-cmd --list-port
465/tcp
[root@localhost ~]# firewall-cmd --remove-port=465/tcp
success
[root@localhost ~]# firewall-cmd --list-port

Si queremos hacerla permanente:

[root@localhost ~]# firewall-cmd --add-port=465/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-port
465/tcp

5. ICMP Types

De igual manera para para adicionar o remover “ICMP Types”:

[root@localhost ~]# firewall-cmd --add-icmp-block=echo-request
success
[root@localhost ~]# firewall-cmd --list-icmp-blocks
echo-request
[root@localhost ~]# firewall-cmd --remove-icmp-block=echo-request
success
[root@localhost ~]# firewall-cmd --list-icmp-blocks
[root@localhost ~]# firewall-cmd --get-icmptypes
destination-unreachable echo-reply echo-request parameter-problem redirect 
router-advertisement router-solicitation source-quench time-exceeded

Como instalar webmin en CentOS 7

Webmin es una interfaz basada en web para administración de sistemas para servidores basados ​​en Linux. Es uno de los paneles de control de hosting de código abierto más populares. En este tutorial, vamos a mostrarle cómo instalar Webmin en un VPS Linux que ejecuta CentOS 7 como un sistema operativo.

Actualizando el sistema

Ingresa por ssh para actualizar tu distruciones de CentOS

yum -y update

Descargando e instalando el webmin desde un RPM

Para saber que version esta actualizada podemos buscar en el mismo Webmin los RPM son distruciones para RedHat, Fedore y CentOS para ello usamos el wget tambien debemos tener en cuenta que para webmin se necesita alguans librerias.

yum -y install perl perl-Net-SSLeay openssl perl-IO-Tty perl-Encode-Detect wget
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.840-1.noarch.rpm
rpm -U webmin-1.840-1.noarch.rpm

Para la instalacion se tiene que obtener el siguiente mensaje

[root@localhost ~]# rpm -U webmin-1.840-1.noarch.rpm
advertencia:webmin-1.840-1.noarch.rpm: EncabezadoV3 DSA/SHA1 Signature, ID de clave 11f63c51: NOKEY
Operating system is CentOS Linux
Webmin install complete. You can now login to https://fs01.insite.pe:10000/ as root with your root password.

Luego de esto debemos instalar la llave GPG firmada por los paquetes

wget http://www.webmin.com/jcameron-key.asc
rpm --import jcameron-key.asc

Y luego de esto se resuelven todas las dependencias.

Firewall

Ahora ejecutamos las reglas para que el firewall nos deje pasar

firewall-cmd --permanent --zone=public --add-port=10000/tcp
firewall-cmd --reload

Ingresando al WEBMIN

Para acceder al webmin solo debemos de acceder desde el navegador, nuestro caso esta configurado con el host 192.168.1.233 => webmail.clark.pe, para esto debes ingresar con el usuario root.

https://192.168.1.233:10000

Instalar Apache + PHP 7 en Centos 7.3

Aqui les dejo una pequeña guia para instalar Apache y PHP 7, esta version de PHP no esta en los repositorios oficiales, asi que para nuestro caso usaremos el repositorio de REMI.

Hay ejecutar con privilegios de root

rpm -qa |grep php
yum -y install httpd
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Antes de instalar la nueva version, primero debemos de desinstalar la version anterior, para esto usamos el siguiente comando:

[root@localhost ~]# rpm -qa |grep php
php-cli-5.4.16-42.el7.x86_64
php-mysql-5.4.16-42.el7.x86_64
php-soap-5.4.16-42.el7.x86_64
php-common-5.4.16-42.el7.x86_64
php-pdo-5.4.16-42.el7.x86_64
php-mbstring-5.4.16-42.el7.x86_64
php-xml-5.4.16-42.el7.x86_64
php-xmlrpc-5.4.16-42.el7.x86_64
php-5.4.16-42.el7.x86_64
php-gd-5.4.16-42.el7.x86_64

Luego de esto tenemos que deinstalar el paquetes:

yum -y remove php
yum -y remove php-common

Ahora instalamos PHP 7

rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum -y update
yum-config-manager --enable remi-php70
yum -y install php php-opcache
systemctl restart httpd.service
yum search php
yum -y install php-mysql
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
systemctl restart httpd.service

Ahora para verificar que version tenemos solo debemos ejecutar en la terminal

[root@localhost ~]# php -v
PHP 7.0.20 (cli) (built: Jun  7 2017 07:50:14) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.20, Copyright (c) 1999-2017, by Zend Technologies

VB6 – Ordenando una columna haciendo click al columnheader

Para este ejemplo tu ListView debe tener el nombre ListView1

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    With ListView1
        If .SortKey <> ColumnHeader.Index - 1 Then
            .SortKey = ColumnHeader.Index - 1
            .SortOrder = lvwAscending
        Else
            If .SortOrder = lvwAscending Then
                .SortOrder = lvwDescending
             Else
                 .SortOrder = lvwAscending
            End If
        End If
        .Sorted = -1
    End With
End Sub

Enjaulando a usuarios en Linux

En la seguridad de linux no se puede otorgar permisos para subir en el arbol del servidor y te permite navegar sin restricciones dentro de la consola.

La opcion mas segura es enjaular aun usuario, esta es la forma mas segura y evitamos al mismo tiempo que pueda subir por arriba del arbol de diretorio configurado.

Una forma de Enjaular usuarios CHROOT y permitirle usar SSH, SFTP y SCP en forma efectiva es usar JAULKIT.

Con JAULKIT podemos es construirle al usuario enjaulado un entorno de comandos básicos (ls, cp, find, etc.).

Sigue leyendo «Enjaulando a usuarios en Linux»

PHP Hacer consultas con PDO y dblib MSSQL

Para hacer conexiones y consultas a servidores SQL Server, se puede usar dblib en servidores linux (en mi caso estoy usando Centos 7) la libreria es proporcionado por FreeTDS, el PDO_DBLIB DSN son librerias de extension para poder conectar a servidores Microsoft SQL Server y Sybase.

En el siguietne ejemplo es una muestra de como puedes realiar DSN con PDO_DBLIB:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb

Sigue leyendo «PHP Hacer consultas con PDO y dblib MSSQL»

PHP Convertir un Array en XML

En nuestro ejemplo anterior donde esta la conexion de SQL Server http://blog.insite.pe/windows/sql-server/conectar-php-con-sql-server-usando-dblib/, podemos hacer la conversion tranquilamente y luego pasarlo a XML con el siguiente procedimiento:

<?php

function array_to_xml($array, $table='table',$field='row') {
    $xml = '';
    if ($table != null) {
        $xml .= "<$table>\n";
    }
    foreach ($array as $key=>$value) {
        $xml .= "<$field>";
		foreach($value as $key2 => $value2){
        	foreach($value2 as $key3 => $value3){
        		$xml .= "<$key3>" . htmlspecialchars(trim($value3)) . "</$key3>";
        	}
        }
		$xml .= "</$field>\n";
    }
    if ($table != null) {
        $xml .= "\n</$table>\n";
    }
    return $xml;
}

La forma de llamar a la funcion seria asi:

$array = array(
           array('Campo1'=>'Valor1',
                 'Campo2'=>'Valor2',
                 ),
          array('CampB1'=>'ValoB1',
                 'CampB2'=>'ValoB2',
                 )
         );
echo array_to_xml($rr,'table','row');

El valor que obtendremos seria el siguiente:

<table>
    <row>
        <Campo1>Valor1</Campo1>
        <Campo2>Valor2</Campo2>
    </row>
    <row>
        <CampB1>ValoB1</CampB1>
        <CampB2>ValoB2</CampB2>
    </row>
</table>