IIRF per IIS 8.x Ionic’s – Isapi Rewrite filter

IIRF – Ionics Isapi Rewrite Filter – Home – è un efficente filtro ISAPI per il rewriting delle URL disponibile sia versione a 32 che a 64 bit.

Purtroppo l’ultima versione disponibile a 64 bit la 2.1.2.3-x64  non opera correttamente in IIS8.  Il problemi si manifestano per la parte che interessa il redirect mentre il rewrite si comporta adeguatamente.

Nelson Pires si è adoperato per rendere disponibile una versione libera di IIRF compatibile con IIS8. La versione del codice è stata curata da Pavel Surikov che ha aggiunto il supporto a IPv6.

La nuova versione è denominata IIRF-2.1.2.4-x64.

Un’altra possibilità per far girare IIRF su IIS8 consiste nell’utilizzare la versione IIRF-2.0.1.15 a 32 bit.
In questo è necessario impostare nell’Application pool
Enable 32-bit Application=true

 

Risorse:

 

Annunci

IIS in windows 10 preview

Per attivare in Windows 10 Windows Internet Information Services IIS ( versione 10.xx ) accedere a Windows Features .

IIS Internet Infrmation Services è accessibile al solito via:

1) Control Panel > System and Security > Administrative Tools

W10 IIS Interne Information Services

2) Computer Management  > Services And Applications

W10 Computer Management

Finestra Windows Features.in Windows 10

W10 Windows Fetures

Per accedere a Windows Features si può procedere nel modo seguente:

  • attivare il menu con il tasto windows
  • digitare Windows Features
  • clikkare su Windows Features on off e apparirà la finestra Windows Features che consentirà di installare IIS e selezionare le varie componenti.

W10_IIS enable Windows Features

Windows 10  Amministrative Tools

W10 Amministrative Tools

Risorse:

Remote Desktop su ssh tunnel

Con i tunnels ssh è possibile trasportare sessioni TCP all’interno di connessioni criptate. Questo consente di raggiungere in sicurezza computer protetti da firewall o di utilizzare computer gate per raggiungere computer con le porte bloccate verso l’esterno.

Di seguito viene indicato come utilizzare un tunnel ssh per connettersi utilizzando il protocollo RDP ( Desktop Remote Protocol )  ad un Server Windows 2012 in Remote Desktop ( RDP ) da un computer Debian 9.xx .

Le connessioni RDP avvengono normalmente utilizzando la porta 3389.

Situazione

[ local machine] Debian 8.xx    ——–>  [ 182.193.135.162 ] gate CentOS 7.xx  ———–>  10.20.5.152 [ server di destinazione ] Windows Server 2012

  • pc gate  ip  rete interna  = 10.20.5.156  –  ip rete esterna = 182.193.135.162
  • Server Windows ip  rete interna  = 10.20.5.152  .- ip rete esterna assente o porta verso l’esterno bloccata

Come premesso per raggiungere il pc target  non esposto sulla rete è possibile passare per il gate Centos e grazie ad un tunnel ssh avere la porta remota 3389 sulla porta locale 33890  .

ssh -fNg  -L33890:10.20.5.156:3389 root5@182.193.135.162

-L porta-locale:host-remoto:port-remota  (-L  Local port forwarding )
-f ssh va in background (demonize)
-g permette al computer remoto di connettersi alle porte locali inoltrate
-q quiet mode. Molti warning e messaggi vengono soppressi
-N informa OpenSSH che non si intende eseguire un commando nel host remoto
-i  identity file
-v verbose

Usando certificato .pem  ( scritto in ascii e codificato base-64 con prefisso )

ssh -fNg -L33890:10.20.5.156:3389 root5@182.193.135.162 -i "~/.ssh/WebKeyPair.pem" 

 

a questo punto utilizzando rdesktop oppure remmina oppure KRDC sara possibile raggiungere il server Windows puntanto alla porta 127.0.0.1:33890

KRDC

 

Elencare e Terminare connessione ssh

Elencare le connessioni “ssh” attive.

1) ps

ps -afx | grep [s]sh     # preferibile

2 )  pgrep

 
pgrep -af ssh 
677 /usr/sbin/sshd -D
1234 /usr/bin/ssh-agent /usr/bin/im-launch x-session-manager
1580 ssh -fN -L 33895:10.30.2.125:3389 centos@118.134.238.166 -i ~/.ssh/CorpWebKeyPair.pem
1617 ssh -i ~/.ssh/CorpWebKeyPair.pem centos@118.134.238.166

3) netstat

netstat -anpt | grep -E "ssh"
 
netstat -anpl | grep  [s]sh
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      677/sshd            
tcp        0      0 127.0.0.1:33895         0.0.0.0:*               LISTEN      1580/ssh            
tcp        0      0 192.168.5.89:33776      118.134.238.166:22       ESTABLISHED 1580/ssh            
tcp        0      0 127.0.0.1:33895         127.0.0.1:48294         ESTABLISHED 1580/ssh            
tcp        0      0 192.168.5.89:33780      118.134.238.166:22       ESTABLISHED 1617/ssh            
tcp6       0      0 :::22                   :::*                    LISTEN      677/sshd            
tcp6       0      0 ::1:33895               :::*                    LISTEN      1580/ssh            
unix  2      [ ACC ]     STREAM     LISTENING     20893    1234/ssh-agent       /tmp/ssh-cPUkJ3zPtqaw/agent.1179
unix  2      [ ACC ]     STREAM     LISTENING     22567    1163/systemd         /run/user/1000/gnupg/S.gpg-agent.ssh
unix  3      [ ]         STREAM     CONNECTED     14006    677/sshd   

 

per chiudere  una connessione ssh basta killare  il processo  individuato con   ps -afx | grep  [s]sh .

kill 6726   # se il processo è dell'utente     
o    
su
kill 6726   # va bene per tutti i processi

per chiudere tutti le connessioni ssh possiamo fare il “killall” di tutti i processi ssh

killall ssh

quindi per terminare con kill il processo ssh sulla porta 33895 ID 1580

kill 1580

Risorse:


					

WordPress password dimenticata

wordpress.org Se si è dimenticata la password di amministratore di wordpress e il servizio di posta non è disponibile, per  recuperare l’accesso e l’installazione è possibile:

1) accedere al file wp-config.php
2) generare una nuova password inserendola direttamente nel database mysql.

1 ) accedere al file wp-config.php nella directory principale di wordpress. Il file wp-config contiene le informazioni di accesso al database grazie alle quali è possibile accedere alla tabella  _users con i dati e le password degli utenti

// ** MySQL settings - You can get this info from your web host ** //
 /** The name of the database for WordPress */
 define('DB_NAME', 'wpblog');
/** MySQL database username */
 define('DB_USER', 'wpdbadmin');
/** MySQL database password */
 define('DB_PASSWORD', 'miapassword');
/** MySQL hostname */
 # define('DB_HOST', 'localhost');
 define('DB_HOST', '192.168.1.100:3306');

WordPress passwords basate sul php password hashing.

Le password in word press sono memorizzate nella tabella xx_users

wp_passwd_adminer_1

2) Se si dispone dell’accesso al database mysql via phpMyAdmin o Adminer è possibile recuperare l’accesso a wordpress sostituendo la vecchia password ( dimenticata ) con una nuova password. Per la “crittografia” delle password wordpress utilizza il Portable PHP password hashing framework  ( le prime versioni utilizzavano invece MD5 ).

Il formato di una password che utilizza il php password hashing è facilmente distinguibile dal formato MD5.

php password hashing:   $P$BEMeAQICR602UR9RGRYtzzGz9SNKVA.
MD5 :  551583c11e1e3c9d8e6aeea9a84fe143

La classe con l’algoritmo per la gestione delle password è contenuta nel file ./wp-includes/class-phpass.php. Quindi per generare ad esempio la password di “MyPassword” è sufficiente disporre del file class-phpass.php e includerlo ad esempio nel file passwd_wp.php contenente uno script del tipo:

<!–?php

/** We want to hash password using the current DEFAULT algorithm. */
require(‘./class-phpass.php’);

/** Simple  instruction to generate password and/or to check password. */
$wp_hasher = new PasswordHash( 8, TRUE );
$password = ‘MyPassword‘;
$hashed_password = $wp_hasher->HashPassword( $password );

$checkpass = $wp_hasher->CheckPassword($password, $hashed_password) ;

echo “check result = “ . $checkpass ;
echo “\n”;
echo “password = “ . $password . “\n” ;
echo “hashed_password = “ . $hashed_password ;
echo “\n”;

?>

ll file può essere eseguito da terminale con

$ php passwd_wp.php

oppure può essere reso disponibile via webserver .

La password dimenticata può essere sostituita da una nuova password generata utilizzando lo script soprariportato e adminer o phpMyAdmin

wp_passwd_adminer_2

 

Risorse:

Ridimensionare una macchina virtuale

Virsh è un tool da linea di comando che consente di gestire le macchine virtuali nell’ambiente di emulazione kvm.

Per ridimesionare il disco di una VM  ubuntu 12.02 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

:~$ virsh vol-info /media/VM/libvirt/images/Ubuntu12s.img
 Name: Ubuntu12s.img
 Type: file
 Capacity: 10.00 GiB
 Allocation: 10.00 GiB

Quindi ridimensioniamo con

:~$ virsh vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 14G --allocate
 Size of volume 'Ubuntu12s.img' successfully changed to 14G

La VM può essere avviata con il comando virsh start  oppure si può utilizzare il tool grafico virt-manager

:~$ virsh vol-info /media/VM/libvirt/images/Ubuntu12s.img
 Name: Ubuntu12s.img
 Type: file
 Capacity: 14.00 GiB
 Allocation: 14.00 GiB

 

E’ possibile utilizzare anche il terminale virsh è digitare successivamente il comando

:~$ virsh
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
 'quit' to quit

Per ridimesionare il disco di una VM windows 7 visualizzare dapprima le informazioni del disco da ridimensionare con virsh vol-info

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 48.00 GiB
 Allocation: 48.00 GiB

Quindi ridimensioniamo con

virsh # vol-resize /media/VM/libvirt/images/W7-64b-ETH.img 55G --allocate
 Size of volume 'W7-64b-ETH.img' successfully changed to 55G

se siamo dentro virsh possiamo controllare le nuove dimensioni con  vol-info:

virsh # vol-info /media/VM/libvirt/images/W7-64b-ETH.img
 Name: W7-64b-ETH.img
 Type: file
 Capacity: 55.00 GiB
 Allocation: 55.00 GiB

Possiamo visualizzare tutte le VM con

virsh # list --all

Avviamo la macchina virtuale W7-64b-ETH.img con  virsh start
virsh # start win7
 Domain win7 started

Adesso è necessario estendere la partizione utilizzando Disk Management di Windows

wirsh resize disk win7 CM1

Extend Volume per estendere il volume della partizione C di Windows 7

resize disk win7 CM2-virsh

Apparirà il Wizard

resize disk win7 CM3-virsh

resize disk win7 CM4-virsh

Partizione disponibile di 55 GB

resize disk win7 CM-f-virsh

Risorse:

 

 

 

 

IIS 8.0 There is a duplicate ‘system.web.extensions/scripting/scriptResourceHandler’ section defined

Trasferendo una web application ASP.NET da Windows 2008 server con IIS 7.5  a Windows Server 2012 con  IIS 8.0 può capitare di riscontrare il seguente messaggio di errore

There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' 
section defined

Due soluzioni possibili:

1) L’applicazione è assegnata ad un’ Application Pools non appropriato:
I progetti sviluppati con i frameworks dalla versione  2.0 alla verione 3.5 vanno assegnati ad un Application Pools con .NET FRAMEWORK VERSION v2.0.xxxx

I progetti sviluppati con in 4.0 e seguenti vanno assegnati ad un Application pools con .NET FRAMEWORK VERSION v4.0.xxxxx

Application Pools in Windows 2012 server con IIS 8.0

Application Pools
Applications Pools

2) Disabilitare commentando con <!–   –> le righe della sezione <sectionGroup name=”system.web.extensions”…> per le quali viene presentato il messaggio. Valutare adirittura di estendere il commento a tutta la sezione system.web.extension presente all’inizio ovviamente del file di configurazione web.config.

Esempio di commento

<!–section name=”scriptResourceHandler” type=”System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35″ requirePermission=”false” allowDefinition=”MachineToApplication” /–>

Una volta commentate le righe ho sperimentato il funzionamento di applicazioni ASP.NET versione 3.5 anche una volta associate ad Application Pools 4.0

...
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
   <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
      <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
         <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
         <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
         <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
         <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
      </sectionGroup>
    </sectionGroup>
</sectionGroup>
...

Risorse:

Windows 2012R2 Gestione semplice dei dischi

Per gestire i dischi associati ad un server Windows 2012R2 si può utilizzare File and Storage Services in Server Manager:

File and Storage Services
File and Storage Services
Volumes Disks
Windows 2012 Volumes Disks

L’inizializzazione di un nuovo disco prevede come modalità di default il partizionamento GPT:

Windows 2012 Initialize Disk
Windows 2012 Initialize Disk

Per utilizzare il partizionamento MBR utilizzare la power shell con un comando del tipo:

Initialize-Disk -Number 2 -PartitionStyle MBR

Initialize-Disk Power Shell 

Una volta inizializzato il disco procedere con le impostazioni del Volume:

>  New Volume
>  Size  
>  Drive Letter or Folder
>  File System Setting  ( I file system disponibili sono NTFS e ReFs ) 

In > Confirmation è possibile vedere riepilogate le impostazioni e procedere con il [create]:

Disk new volume Comfirm selctions

Risorse: