Instalando e configurando o FTP Server no Microsoft Azure


Olá Pessoal,

Vamos a mais um artigo, dessa vez vamos falar da instalação e configuração do FTP Server no Microsoft Azure, o objetivo do artigo é ser o mais simples possível, e claro que mantenha a qualidade e não comprometa o conteúdo.

Primeiro passo, conecte na máquina virtual (com Windows Server 2012 R2) que está hospedada no Microsoft Azure, em seguida abriremos o powershell como Administrador, depois executaremos o seguinte comando: Install-WindowsFeature Web-FTP-Server

image

Ao final da instalação será apresentada a mensagem abaixo, perbeca que a instalação foi feita com sucesso e não necessita de restart.

image

OBS¹: Lembrando que a instalação do FTP Server pode ser feita via GUI, preferi o powershell por ser mais prático.

Aproveitando que já estamos com o powershell aberto, digite: inetmgr e tecle <ENTER>, a janela de gerenciamento do IIS será aberta e é nela que vamos trabalhar algumas configurações de FTP Server. Após a instalação do FTP, vamos criar um site de FTP, seguindo o seguinte procedimento:

 

Com a pasta de sites selecionada, clique com o botão direito, depois Add FTP Site. Preencha todas as informações, como o nome do site de FTP e o caminho que será armazenado os arquivos, clique em Next.

image

Agora vamos fazer algumas configurações básicas do FTP, a principio por se tratar de um ambiente de laboratorio utilize as mesmas informações da imagem abaixo. Next.

image

Na próxima janela configuramos as opções de Autenticação e Autorização (Utilize as informações abaixo), Finish.

OBS²: As informações abaixo, caso seja configuração para o ambiente de produção, vai fazer com que qualquer um tenha acesso e possa fazer operações de escrita e leitura.

image

Pronto, FTP Server configurado, porém so pode ser acessador internamente, para tirarmos a prova real, podemos utilizar uma ferramebta muito conhecida pelos ITPRos, que é o telnet, aproveite a janela do powershel que está abertaw e digite o seguinte comando: telnet localhost 21

O que será apresentado a você tem que ser identico a janela abaixo:

image

Bom, tudo funcionado, porém eu quero que esse FTP esteja publicado externamente, bem simples, basta criar um endpoint para essa máquina virtual, acesse o portal do azure (http://manage.windowsazure.com), navegue até o menu Virtual Machines, clique na máquina virtual que foi utilizada para configurar o FTP, clique em Endpoint, na parte de baixo da janela, utilizaremos a opção Add –> ADD A STAND-ALONE ENDPOINT

image

Clique em Next, e siga as opções da imagem abaixo:

image

Clique em Finish e aguarde por alguns instantes até a configuração do endpoint, para testar seguimos a mesma lógica do teste interno, porém para que seja eficaz o teste deve ser feito de um computador fora do azure e utilizaremos o IP Público e/ou DNS para acessa-lo.

OBS³: Caso tenha problema para acessar o FTP de uma rede pública, certifique-se que a porta configurada no endpoint esteja liberada no firewall local do Window, para isso, abra o powershell e/ou prompt de comando como administrador e execute o abaixo e faça o teste novamente.

netsh advfirewall firewall add rule name=”FTP (non-SSL)” action=allow protocol=TCP dir=in localport=21

image

image

OBS4: O nome pode ser qualquer um, inclusive algum customizado, o protocolo é TCP, e um ponto importante é relacionado a public port e private port, onde public port é a porta que ficara aberta para a internet e a private port é a porta que configuramos internamente. Lembrando que a porta pode ser qualquer uma (diferente de 21), isso ajuda a mitigar ataques de força-bruta, por exemplo, que normalmente usam portas padrões de mercado. Aproveitando o gancho de segurança, ainda podemos disponibilizar esse FTP a partir de uma VPN Site-to-Site ou Cliente-to-Site, assim isolamos o FTP e acessamos de uma forma segura. Caso você não utilize uma VPN ou até mesmo um certificado SSL, lembre-se o trafego que acontece entre o client-server não é criptografado e pessoas mal intencionadas podem intercepetar os dados que estão sendo trafegados.

Até a próxima,

Erick Albuquerque | MVP
@_ealbuquerque | linkedin

Conheça as novidades do IIS 8.0


IIS 8

Após um pouco mais de um mês sem postar nenhum artigo, estamos de volta!! A ausência foi por um bom motivo, eu estava dedicando meu tempo para o projeto do Windows 8 Dicas (http://windows8dicas.com.br) , portal totalmente em Metro Style, com altas dicas de Windows 8 e Windows Server 2012.
Bom agora vamos focar neste artigo, que são as novidades do IIS 8 que veio juntamente com o lançamento do Windows Server 2012, veja abaixo em detalhes as novas features e as que foram melhoradas.

CPU Throttling

CPU Throttling permite que os clientes possam limitar a quantidade de CPU que cada site pode consurmir por CPU, isto é possível configurar por application pool, o que significa que cada site pode ter um limite diferente, se for pensar pelo lado do negócio, quem está comprando pode pagar mais por limites muito mais alto. Apenas salientando que o CPU Throttling não é uma reserva de recursos de CPU e sim uma maneira de limitar a utilização máxima de CPU.

Figura 1 – CPU Throttle

Multicore Scaling on NUMA Hardware
“Non-Uniform Memory Access (NUMA) é um desenho de memória de computador usado no multiprocessamento, onde o tempo de acesso de memória depende da localização de memória em relação a um processador. Sob NUMA, um processador pode acessar sua própria memória local mais rápido do que outros locais de memória, isto é, a memória local para outro processador ou memória compartilhada entre processadores. ”
Na versão anterior do IIS era possível alterar o número de núcleos no application pool para aumentar o desempenho, mas no entanto pode chegar a um ponto que o aumento de CPUs pode gerar degradação no desempenho, pois você pode estar usando recursos de outro recurso, com a implementação do NUMA no IIS 8 isto não ocorre, pois existe uma inteligência na distribuição dos recursos.


Figura 2 – Maximum Worker Processes

Centralized SSL Certificate Support: SSL Scalability and Manageability

Essa é uma das novidades, possibilita a centralização de certificados digitais, facilita o gerenciamento em um ambiente que possui milhares de certificados digitais, imagina o trabalho que esse povo tem para administratar certificados digitais servidor por servidor, complicado não? Para utilizar este novo recurso devemos seguir algumas regrinhas, que veremos nos próximos artigos.
Para habilitar este recurso é bem simples, é feito atráves do Server Manager, dentro das features do IIS 8, marque a caixa de Centralized SSL Certificate Support.


Figura 3 – Centralized SSL Certificate Support

IIS 8 FTP Logon Attempt Restrictions

Esta feature é muito interessante, pois é uma implementação a mais nos quesitos de segurança dentro do FTP. Funciona da seguinte forma, quando se configura um FTP a intensão é a troca de arquivos entre 2 pontos diferentes ou N pontos, e muitas vezes este serviço precisar ficar online, o que significa que muitos “hackerzinhos” irão tentar fazer ataques de brute force, primeiro irão testar o acesso na porta 21, tendo sucesso vão pegar um wordlist que tenha milhares de usuários e passwords e começaram a fazer ataques no FTP para tentar descobrir o usuário e senha. Está nova funcionalidade bloqueia tentativas de logon seguidos em um periodo X de tempo, por padrão está configurado como 4 tentativas em 30 segundos. Em próximos artigos veremos está funcionalidade no “live”.

Dynamic IP Address Restrictions

O módulo do Dynamic IP Address Restrictions já existia em outras versãoes do IIS (7 e 7.5), pórem era uma extensão do IIS, ou seja, era necessário fazer o download pelo WPI ou direto pelo site, no IIS 8 ja vem embutido, cabendo ao Administrador fazer a instalação e configurar conforme suas politicas de segurança, além de vim embutido com o IIS 8, foram criados mais alguns recursos, como: Filtragem de IP em modo proxy, ou seja, permite bloquear não somente endereços IPs, mas tambéms pelo cabeçalho “x-forwarded-for”. O Dynamic IP Address Restrictions trabalha de forma parecida com a funcionalidade acima (FTP), pórem o que ele vai bloquear são requests, em um espaço de tempo, ou seja, se eu tiver 20 requests em um periodo de 200ms, o IP será bloqueado! Nós próximos artigos veremos está funcionadade.

Bom pessoal, existe mais algumas outras funcionalidades, que abordaremos de forma prática, pois facilita o entendimento.
Obrigado pela leitura e até a próxima!

Erick Albuquerque | MVP, MCT, MCTS, MCSA, MCITP SA, MCITP EA
https://iisbrasil.wordpress.com | http://windows8dicas.com.br

Configurando o serviço de FTP com portas passivas no IIS 7.0 e 7.5


Se aplica no Windows 2008 Server e Windows 2008 Server R2 com IIS 7.0 e 7.5

Introdução

Neste artigo configuraremos o FTP do IIS em modo passivo

Prática

Passo 1:

Do passo 1 até o 3 definiremos o range de portas

– Entre no console de Gerenciamento do IIS

– No painel de Connections, selecione o Web Sever

– Duplo clique no icone FTP Firewall Support, localizado na lista de features

Passo 2:

– Em Data Port Range entre com o range de portas

– Para salvar as configurações clique em Apply localizado no Painel a direita em Actions

OBS: O range valido de portas varia de 1024 até 65535

Se for definido como 0-0, o range de portas será dinamico!

Passo 3:

Próximo passo configurar o endereço de IP externo.

– Selecione o site de FTP criado no painel de Connections

– Duplo clique em FTP Firewall Support

Passo 4:

– Entre com o endereço de IP em External IP Address of Firewall

– Para salvar as configurações definidas, clique em Apply no painel de Actions

Conclusão

Neste artigo aprendemos a configurar um range de portas fixas, dinâmicas e à definir endereços externos para utilização do FTP.

 

Erick Albuquerque

MVP, MCTS, MCITP SA, MCITP EA

 

Comandos utilizado no FTP


ABOR

Aborta a transferência de arquivos

Sintaxe: ABOR

CWD

Faz um diretório com que ele seja o atual

Sintaxe: CWR Diretorio

DELE

Exclui um arquivo remoto

Sintaxe: DELE NOME DO ARQUIVO

LIST

Lista arquivos remoto

MDTM

Retorna a última data de modificação do arquivo

Sintaxe: MDTM ARQUIVO

MKD

Exclui o diretório com o nome no host remoto.

Sintaxe: MKD diretório

NLST

Retorna uma lista de nomes de arquivos em um diretório especifico

Sintaxe: NLST [diretório]

PASS

Após o envio da conexao do usuário, envia o comando PASS para completar o processo de login.

Sintaxe: PASS senha

PASV

Envia o ‘modo passivo’

Sintaxe: PASV

PORT

Abre uma porta de dados

Sintaxe: PORT port, port1,port2…

PWD

Mostra diretorio atual

Sintaxe: PWD

QUIT

Fecha a conexão

Sintaxe: QUIT

RETR

Começa a transmissão de um arquivo a partir do host remoto

Sintaxe: RETR Arquivo

RMD

Exclui o diretório com o nome no host remoto.

Sintaxe: RMD diretório

SIZE

Retorna o tamanho do arquivo remoto como um número decimal.

Sintaxe: SIZE arquivo

STOR

Inicia a transmissão de um arquivo para o site remoto.

Sintaxe: STOR arquivo

TYPE

Define o tipo de arquivo a ser transferido

A – texto ASCII
E – texto EBCDIC
I – imagem (dados binários)
L – formato local

Sintaxe: TYPE [A, E, i, L]

USER

Envia este comando para iniciar o processo de login. O nome deve ser um nome de usuário válido no sistema, ou “anônimo” para iniciar uma conexão anónima.

Sintaxe: USER usuário

Métodos de acesso no FTP (IIS 7/7.5)


Introdução

Conceitos sobre o método de acesso no FTP

 

Conceito

O IIS da suporte a 2 tipos de conexão:

  • Modo ativo
  • Modo passivo

 

Por padrão a porta 21(TCP) e’ utilizada para controle da conexão, mas a transmissão de dados e’ determinada de acordo com o método que o cliente utilizara para conectar no FTP.

 

Modo Ativo

O cliente envia um comando ‘PORT’ para o servidor através da conexão de controle na porta 21, que solicita ao servidor para estabelecer uma conexão na porta 20, o qual fará a transferência de arquivos pela mesma.

 

Modo Passivo

O cliente envia um comando ‘PASV’, o servidor responde a instrução ‘PASV’ com uma porta que será usada pelo cliente para a transferência de dados

 

PASV

Diz ao servidor para conectar no “modo passivo”.  No modo passivo, o servidor irá aguardar o cliente para estabelecer uma conexão com ele ao invés de tentar se conectar a uma porta do cliente especificado.

PORT

Especifica o host e a porta à qual o servidor deve conectar para a transferência de arquivos.

 

Erick Albuquerque | Moderator at Technet Brasil
https://iisbrasil.wordpress.com/ | http://erickalbuquerque.com.br/