Macchina IIS Web Server

Da Webmobili Wiki.

Selezionare Windows Server 2022 Base, che è versione Datacenter,
licenza acquistata F4PRN-8JVGP-DFQ2F-346XR-7H9B7,
istanza con almeno 4GB di RAM t2.medium.
Assegnare l'IP 172.31.100.20

Dal pannello EC2

  • selezionare l'istanza, poi Connetti
  • tab Clienti RDP e scaricare
  • Scarica il file per il desktop remoto
  • Cliccare sotto su Ottieni Password
  • Inserire la chiave privata e proseguire
  • Password Q*v-mAfX$f57ExA;oT&DT9&)Sk*c.j7t

Configurazione Iniziale

Collegarsi via RDP.
Impostare la data e l'ora ITALIANA (region Italia).

Aggiornare (e riavvio)

Aprire Server Manager per installare IIS

  • Add Roles and Features
  • Avanzare fino alla scelta di Server Roles
  • Scegliere Web Server IIS
  • Arrangiarsi con le features (noi abbiamo copiato da ARIEL )

Installare IIS Url Rewrite Module da https://www.iis.net/downloads/microsoft/url-rewrite

Installare .Net Core 8 Hosting Bundle da https://dotnet.microsoft.com/en-us/download/dotnet/8.0
Installare .Net Core 9 Hosting Bundle da https://dotnet.microsoft.com/en-us/download/dotnet/9.0

Creare gli utenti sviluppatori con i privilegi Admin.

  • ComputerManagement
  • Local Users and Groups
  • Users , tasto destro New User
  • Tasto destro su utente creato e dalla tab Member Of aggiungerlo al gruppo Administrators

Disco Dati

Dopo aver aggiunto spazio a sufficienza, il disco è stato partizionato con

  • C: 50GB per il sistema operativo
  • D: 150GB per i siti e gli asset

Sul disco D:

  • Mettere i permessi a Users
  • Mettere i permessi IIS_IUSRS in D:\WWW

Da IIS impostare il salvataggio dei log in una cartella che si trovi sul disco D:

FTP Server

Windows Server implementa un servizio FTP che si integra in IIS.
Aprire Server Manager per installare FTP Service sotto IIS

  • Entrare in Windows Firewall
  • Alloware le porte 21,50000-50030
  • Aprire IIS
  • Cliccare sul sito principale e a destra su FTP Firewall Support
  • Inserire le porte passive 50000-50030
  • Destro sul sito principale e Add FTP Site
  • Procedere con la configurazione mettendo NO SSL
  • Alloware solo gli utenti allowabili
  • Provare

Remember: I virtual folder impostati in IIS devono avere una cartella fisica vuota corrispondente, altrimenti gli utenti in Filezilla non le vedranno.
Abbiamo creato uno scheletro vuoto così formato:

D:\FTP\
 |______ DesignbestResources\
 |______ Redazione\
          |___________ Designbest-Slider-Homepage
          |___________ Trovaprodotti-Font
 |______ www\

E da IIS abbiamo assegnato i virtual folder corrispondenti.

SAMBA abilitazione

A quanto pare Windows non abilita di default SAMBA.

È necessario

  • Aprire gpedit.msc ( Local Group policy Editor )
  • Navigare in Computer Configuration > Administrative Templates > Network > Lanman Workstation
  • Click destro su Enable insecure guest logons e cliccare Edit
  • Selezionare Enabled > OK

È possibile verificare la modifica dal registro di sistema sotto
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth

Fonte:
https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/guest-access-in-smb2-is-disabled-by-default

SMTP

AWS blocca la porta 25.
Non chiediamoci perché, ma con turbo smtp (e agli altri) bisogna usare la porta 587 per le connessioni non SSL negli applicativi.

Loopback

Inserire gli alias per le macchine database nel loopback.
Le connection string dei progetti li utilizzeranno

# Nome interno della macchina MSSQL
172.31.200.20	mssql
# Nome interno della macchina MSSQL Staging
172.31.200.120	mssqlstaging

WebSocket Protocol

Di default non è installato.

  • Aprire Server Manager
  • Add roles and features
  • Sotto

WebServer (IIS) => WebServer => Application Development => WebSocket Protocol

Installare.

Controllo del traffico

Siccome subiamo tanti attacchi da malware e spider aggressivi, è necessario configurare un controllo del traffico all'interno di IIS.

  • Aprire IIS
  • Cliccare sul sito in questione
  • Cliccare su IP Address and Domain Restriction
  • Edit Dynamic Restriction Settings
  • Abilitare Deny IP address based on number of requests of period of time
  • Inserire i valori che ci sembrano consoni
    • Maximum number of requests: 20
    • Time period: 1000

fonte: https://learn.microsoft.com/en-us/iis/configuration/system.webserver/security/dynamicipsecurity/denybyrequestrate