Instalação Firewall Pfsense no Azure

O que é o pfSense?

PfSense é um firewall OpenSource baseado em FreeBSD, que permite fazer várias configurações, desde o básico como: NATs, Filers, Aliases e etc, até funções mais avançadas como: VPN IKE2 baseado em rotas ou politicas, BGP, IDs, IPS, etc.

Mais informações: https://www.pfsense.org/

Porque usar o pfSense no Azure?

O Azure forne gratuitamente os NSGs (Network Security Groups) que podem ser associados a cada NIC (Network Interfaces Card) das máquinas virtuais ou a uma subnet inteira da virtual network.

Porem, a utilização de NSGs em arquiteturas grandes ou complexas pode dificultar a administração posterior das regras, além de ser limitado apenas para regras inbound e outbound, não permitindo a implementação de recursos mais avançados.

Então implementar um firewall de borda é a melhor alternativa para controlar o acesso a toda sua arquitetura no Azure Cloud, inclusive se tiver várias VNets.

Por ser OpenSource, o pfSense apresenta uma das melhores relações Custos x Benefícios para arquiteturas pequenas e médias ( em alguns casos até para grandes escopos.)

Instalação do pfSense no Hyper-V on-premises

Máquina virtual geração 1
Disco Tamanho Fixo (32 GB ou mais)
Disco Tipo VHD
2 NICS (network interface card)
Desativar Checkpoints
Download pfSense:  https://www.pfsense.org/download/

Criar máquina virtual do pfSense no Hyper-V onpremises.

01 – No Server Manager clique em Hyper-V Manager

02 – Na tela Hyper-V Manager, clique em New e Virtual Machine.

03 – Na tela Before You begin, clique em Next.

04 – Na tela Specify Name and Location, selecione um nome para a máquina virtual, local de armazenamento e clique em Next.

05 – Na tela Specify Generation, selecione a Generation 1 e clique em Next.

06 – Na tela Assign Memory, selecione a quantidade de memoria que sera alocada para máquina virtual e clique em Next.

07 – Na tela Configure Networking, selecione o switch virtual que deseja utilizar e clique em Next.

08 – Na tela Connect virtual hard Disk, selecione Attach a virtual hard disk later e clique em Next.

Teremos que criar um disco do tipo VHD com tamanho fixo.

09 – Na tela Summary, revise todas as configurações e clique em Finish.

Vamos criar o VHD para a máquina virtual VM-Firewall

10. Clique em New e Hard Disk.

11 –  Na tela Before You Begin, clique em Next.

12 – Na tela Choose Disk Format selecione VHD.

13 – Na tela Choose Disk Type, selecione Fixed size e clique em Next.

14 – Na tela Specify Name and Location, selecione um nome para o disco e um local para armazenar o vhd.

15 – Na tela Configure Disk, selecione um tamanho para o disco.
Em nosso ambiente vamos criar um disco de 32 GB para o pSsense.

16 – Na tela Summary revise todas as configurações e clique em Finish.

17 – Observe que nossa máquina virtual foi criada com sucesso.

Agora vamos adicionar o vhd a máquina VM-Firewall.

18 – Clique com botão direito na VM-Firewall em seguida clique em Settings.

19 – Clique em IDE Controller 1 –> Hard Drive e Add.

20 – Em Virtual hard disk clique em Browse, selecione o vhd (disk-firewall) e clique em OK.

Agora vamos adicionar o segundo Network Adapter  a nossa máquina virtual, essa adaptador será utilizado para rede LAN.

21 – Clique em Add Hardware –> Network Adapter e clique em Add.

22  – Clique no Network Adapter que adicionamos,  clique em virtual switch e selecione  o virtual switch referente a sua rede LAN.

Vamos adicionar a ISO do pfSense a  máquina virtual

23 – Clique com botão direito na VM-Firewall, em seguida clique em  settings , selecione DVD Drive e  Image file, selecione a imagem do seu pfSense e clique em OK.

24 – Vamos desabilitar os Chekpoints da máquina virtual.

Clique em Settings, selecione a opção Management em Checkpoints desmarque a opção Enabled checkpoints.

Nossa máquina virtual já esta configurada.

Instalar o pfSense na máquina virtual

25 – Selecione a máquina virtual  VM-Firewall, clique em Start e Connect.

25 – O processo de boot do pfSense foi iniciada como podemos observar na imagem abaixo, aguarde até a tela de instalação ser mostrada.

26 – Na tela pfSense Installer, selecione Accept.

27  – Selecione Install pfSense

28 – Selecione o keyboard Brazilian (accent keys), pressione Enter em Continue with default keymap.

29 – Na opção Partitioning, selecione Auto (UFS) Guided Disk Setup.

30 – Em Manual Configuration, clique em No.

31 – A instalação está completa vamos dar um Reboot na máquina.

32 – A máquina vai reiniciar e voltar para tela de instalação, desligue a máquina e remova a ISO de instalação do pfSense.

33 – Para remover a ISO do pfSense clique em Media, DVD Drive e Eject pfSense.

Nosso pfSense foi instalado com sucesso.

Configurar as interfaces LAN e WAN

34 – Na tela de configuração de VLANs selecione n (Não), em nosso cenário não vamos utilizar VLANs.

35 – Selecione as interfaces WAN e LAN, digite hn0 para a interface WAN e hn1 para a interface LAN e digite y (yes) para salvar as configurações.

36 – A Interface WAN recebeu o endereço IP por DHCP e foi atribuído um endereço IP default do pfSense (192.168.1.1) a nossa interface LAN.

O pfSense por padrão bloqueia os acessos a interface WAN, o acesso a página de configuração deve ser feito pela interface LAN, vamos colocar um endereço IP no pfSense da nossa rede local, assim teremos  acesso ao webConfigurator do pfSense.

37 – Vamos alterar o endereço IP default da rede LAN do pfSense.

Vamos selecione a opção 2 que é referente a opção Set interface(s) IP address e pressionar Enter.

 

38 – Selecione o número da interface que deseja alterar, nesse caso vamos alterar a interface 2 que é referente a interface LAN.

39 – Digite o endereço IP que deseja utilizar na interface LAN, em nosso exemplo vamos utilizar o endereço 10.0.0.254/24 e pressione enter para as configurações de upstream gateway address e LAN IPv6 address.

40 – Quando foi perguntado se deseja habilitar o servidor DHCP na LAN escolha n (Não).

Para utilizarmos nosso pfSense no azure nossa interface LAN não pode está com o DHCP habilitado, quem distribui DHCP para as máquinas virtuais  é o próprio azure.

41 – Na opção Do you want to revert to HTTP as the webconfigurator prtocolo, selecione y (yes).

43 – Pressione enter para continuar, e observe que o endereço de acesso as configurações do pfSense é  (http://10.0.0.254/), iremos utilizar esse endereço IP para realizar as configurações do pfSense pelo navegador.

Para acessar as configurações do pfSense pelo navegador teremos que atribuir um endereço IP estático a placa de rede do nosso computador no mesmo range de IPs do pfSense, como desabilitamos o DHCP na interface LAN a configuração de endereço IP deve ser feita manual.

42 – Clique em Open Network & Internet settings.

43 – Clique em Ethernet e Change adpater options.

44 – A tela Network Connections será aberta

O comando ncpa.cpl também abra o Network Connections.

45 – Altere os nomes das interfaces para WAN e LAN para melhor entendimento, a interface WAN vai esta com endereço IP atribuído por DHCP fornecido por nosso modem de internet e a interface LAN esta recebendo um endereço IP APIPA.

46 – Clique na interface WAN, status e Details e observe que a interface WAN está recebendo IP por DHCP.

47 – Clique na interface LAN,  Status e Details e observe que a interface LAN está recebendo o endereço IP APIPA.

46 – Vamos adicionar  o endereço IP 10.0.0.1/24 a nossa interface LAN, após adicionarmos o  endereço IP  a LAN já poderemos acessar a página web do nosso pfSense.

Clique em LAN,  Properties, Internet Protocol Version 4 (TCP/IPv4), Properties, em Use the following IP address  digite o endereço IP 10.0.0.1, em Subnet mask digite 255.255.255.0 e clique em OK.

47 – Vamos acessar a página web do pfSense digitando o endereço IP http://10.0.0.254 em nosso navegador.

48 – Vamos logar no pfSense  com o suário e senha padrão.

usuário: admin

Senha: pfsense

Após logarmos pela primeira vez  no pfSense  o Setup Wizard será aberto

49 – Na tela pfSense Setup clique em Next.

50 – Na tela Netgate Global Support is available, clique em Next.

51 – Na tela General Information, selecione um nome para o pfSense, um nome de domínio, o endereço IP dos servidores DNS e clique em Next.

52 – Selecione o Timezone de acordo com sua região, em nosso exemplo vamos utilizar o America/Bahia.

53 – Na tela Configure WAN Interface desmarque as seguintes opções:
Block private networks from entering via WAN
Block non-Internet routed networks from entering via WAN

54 – Na tela Configure LAN Interface não vamos fazer nenhuma alteração, clique em Next. 

55 – Na tela Set Admin WebGui Password, vamos alterar a senha default do pfSense.

56 – Na tela Reload configuration, clique em Reload.

57 – Finalizamos o wizard do pfSense.

58 – Baixe e instale o software putty.

Link para download https://www.putty.org/

59 – Selecione Enabled Secure Shell (sshd) para habilitar o acesso por ssh ao pfSense

A seguinte mensagem será apresentada:

SSHD está atualmente desativado. Você gostaria de habilitar?

Selecione y (yes)

59 – Execute o software putty, digite o endereço IP 10.0.254, será solicitado o usuário e senha do pfSense.

Agora já estamos conectados no pfSense por SSH.

Agora vamos instalar o Microsoft Azure Linux Agent em nosso pfSense

O Microsoft Azure Linux Agent (waagent) gerencia o provisionamento de Linux & FreeBSD e a interação de VM com o Azure Fabric Controller. Além doLinux Agent fornecendo a funcionalidade de provisionamento, o Azure também fornece a opção de usar a inicialização de nuvem para alguns OSes Linux.

Acesse o link https://github.com/Azure/WALinuxAgent para mais informações.

60 – Vamos selecionar a opção 8 que é referente ao Shell.

61 – Vamos atualizar os pacotes do pfSense com o seguinte comando:

pkg upgrade -y

62 – Vamos instalar  os pacotes sudo, bash e git

pkg install  -y sudo bash git 

63 – Agora vamos criar um link  para o python

ln -s /usr/local/bin/python3.7 /usr/local/bin/python

64 – Vamos fazer um git clone do WALinuxAgent.

git clone https://github.com/Azure/WALinuxAgent.git

65 – Podemos ver todas as versões  do WALinuxAgent com o seguinte comando:

cd WALinuxAgent
git tag

Vamos utilizar a ultima versão disponível:

66 – Execute o seguinte comando:

git checkout v2.2.49.2

Agora nossa instalação do WALinuxAgent está na ultima versão.

67 – O comando python setup.py install executa a instalação do WALinuxAgent.

python setup.py install

68 – Vamos criar um link do WALinuxAgent para fazermos a execução.

ln -sf /usr/local/sbin/waagent /usr/sbin/waagent

69 – Vamos verificar se o waagent foi instalado.

waagent version

Configurar Rotas (Outbound NAT)

70 – Clique em Firewall,  NAT, Outbound,  Hybrid Outbound NAT e clique em Save e Apply Changes.

71 – Vamos criar as seguintes regras de NAT.

Clique em Firewall,  NAT, Outbound e Add

72 – Para opção Interface selecione  WAN, protocolo selecione TCP, em source digite o range de IP 10.0.0.0/16, esse é o range de IP é da nossa virtual network no azure.

OBS: Se essa regra não for criada as máquinas virtuais atrás do firewall não conseguiram acessar a internet.

73  – Clique em Save e Apply Changes, observe como nossa regra ficou configurada.

Vamos configurar as regras de firewall que permite que  o pfSense seja utilizado no Azure

74 – Vamos liberar o acesso ao  firewall  pela internet, para isso vamos liberar o acesso a porta 80.

Clique em Firewall, Rules, WAN e Add

No campo Interface selecione a interface WAN, escolha o protocolo TCP, em source selecione any, em Destination selecione This firewall (self) e destination Port Range escolha HTTP (80).

75 – Clique em Save e Apply Changes,  observe como nossa regra ficou configurada.

Agora que liberamos o acesso do pfSense para WAN já podemos acessar nosso firewall pela internet.

76 – Em seu navegador digite o endereço IP da interface WAN do pfSense e observe que já temos acesso ao pfSense pela internet.

Cole o endereço IP 192.168.15.53 em seu navegador.

77 – Clique em Firewall, Rules e observe que  temos trafego na interface WAN.

78 – Para podermos acessar nosso pfSense no azure pelo IP publico, teremos que desabilitar o Browser HTTP_REFERER enforcement

Clique em System, Advanced e desmarque a opção Browser HTTP_REFERER enforcement

79 – Vamos criar a regra para a interface LAN.

Clique em Firewall, Aliases e Add

80 – Selecione um nome para o aliases, em Type selecione Network, na opção Network or FQDN selecione o range de IP da virtual network do azure 10.0.0.0/16 e clique em Save.

81 – Clique em Apply Changes, observe como nosso aliases ficou configurado.

82 – Agora vamos configurar a regra para rede LAN, clique em Firewall e Rules.

83 – Em protocol selecione any, em source selecione Single host or alias,  selecione LAN_Network em Destination selecione Single host or alias selecione LAN_Network, clique em Save e Apply Changes.

84 – Mova a regra que criamos para baixo da regra default, segure e arraste para mover.

85 – Clique em Add para adicionar uma segunda rede, em protocolo selecione Any, em Source selecione Single host or alias e  LAN_Network, em Destination marque Invert match e selecione Single host or alias e LAN Network, clique em Save e Apply Changes.

Essa regra permiti que as máquinas na rede LAN possam acessar a internet.

OBS: As regras de firewall devem ser definidas de acordo com a sua necessidade.

Vamos alterar o tipo de configuração IPv4 da  interface LAN para DHCP

86 – Clique em Interfaces e selecione a LAN

87 – Na tela de General Configuration em IPv4 Configuration Type selecione DHCP, clique em Save e Apply Changes.

Quando subirmos essa máquina para o Azure será associado um endereço IP dinâmico para LAN e um para WAN de acordo com nossas configurações da virtual network.

OBS: Quando aplicarmos essa configuração perderemos acesso ao portal web do pfSense pela rede LAN.

88 –  Desligue o PfSense, selecione a opção 6 halt system, digite y (yes)

Criar um Azure Storage account

Um storage account contém todos os seus objetos de dados do Armazenamento do Azure: blobs, files, queues, tables e disks. O storage account fornece um namespace exclusivo para seus dados de Armazenamento do Azure que pode ser acessado de qualquer lugar do mundo por HTTP ou HTTPS. Os dados em sua conta de armazenamento do Azure são duráveis e altamente disponíveis, seguros e extremamente escalonáveis.

88 – Vamos criar um resource group para o storage account com o seguinte comando:

O comando abaixo cria um grupo de recursos chamado RG-Storage localizado no leste dos Estados Unidos.

New-AzResourceGroup -Name RG-Storage -Location EastUS

Observe na imagem abaixo a execução do comando.

88 – Em seguida vamos criar um storage account v2 de uso geral com armazenamento localmente redundante.

Lembre-se de que o nome da sua conta de armazenamento deve ser exclusivo no Azure.

Execute o seguinte script para criar um storage account:

# Variaveis
$resourceGroup = “RG-Storage”
$location = “EastUS”

# Criar storage account
New-AzStorageAccount -ResourceGroupName $resourceGroup `
-Name stovmpfsense `
-Location $location `
-SkuName Standard_LRS `
-Kind StorageV2

Observe na imagem abaixo a execução do script

89 – Faça login no portal do Azure

90 – Clique no RG-Storage e observe que nosso storage account foi criado com sucesso.

Vamos criar um contêiner para armazenar o VHD do pfSense

Blobs são sempre carregados em um contêiner, você pode organizar grupos de blobs da mesma forma que organiza seus arquivos no computador em pastas.

90 – No portal do azure pesquise por storage account

91 – selecione o storage account stovmpfsense

92 – Na tela stovmpfsense vá até Blob service e selecione Containers.

93 – Clique em + Container, crie um nome para o container, em Public access level selecione Blob (anonymous read access for blobs only) e clique em Create.

94 – Observe que nosso container foi criado.

Agora vamos fazer o upload no  VHD do pfSense para o Azure

95 – Para fazer o upload do VHD  do pfSense para o Azure vamos utilizar o software Microsoft Azure Storage Explorer

Link para download: https://azure.microsoft.com/pt-br/features/storage-explorer/

96 – Para iniciar a instalação do Azure Storage Explorer execute o instalador StorageExplorer.exe

97 – Na tela Select install mode, clique em Install for all users.

98 – Na tela Licence Agreement, clique em I accept the agreement e clique em Install.

99 – Na tela Select Destination Location, deixe o local de instalação padrão e clique em Next.

100 – Na tela Select Start Menu Folder, deixe a configuração padrão e clique em Next.

101 – A instalação do Azure Storage Explorer foi concluída, clique em Finish.

102 – Execute o Azure Storage Explorer

103 – Na tela Connect to Azure Storage, selecione Add an Azure Account, em Azure enviromment selecione Azure e clique em Next.

104 – Faça login com uma conta do Azure.

105 – Selecione a assinatura que deseja utilizar.

106 – Selecione o storage account que criamos “stovmpsense”, clique em Blob containers, selecione o vm-pfsense, clique em Upload e Upload Files

107 – Selecione o VHD que deseja fazer upload, em tipo de blob selecione Page Blob e clique em Upload.

108 – Nosso VHD já está sendo transferido para o storage account no Azure.

109 – O processo de transferência do VHD para o storage account no azure  foi finalizado.

Agora vamos criar um disco gerenciável

111 – Vamos criar o resource RG-Security com o seguinte comando:

New-AzResourceGroup -Name RG-Security -Location EastUS

112 – Pesquise no Marketplace por Managed disks.

113 – Na tela Create a managed disk, selecione o resource group RG-Security, digite um nome para o disco, vamos nomeá-lo de vm-firewall-osDisk, em Source type selecione Sorage blob.

Na opção Source blob clique em Browse e navegue até o storage account stovmpsense, selecione o container vm-pfsense e selecione o arquivo disk-firewall.vhd.

Em OS type selecione Linux, em VM generation selecione a opção Gen 1, na opção Size clique em Change size e selecione Standard HDD e size 32 GiB.

A escolha do storage type depende da necessidade do seu projeto em nosso caso como é um ambiente de laboratório estamos utilizando Standard HDD por ser mais barato.

Deixe as demais configuração como padrão e  clique em Review + create.

114 – Na tela Review + create revise se todas configurações realizadas estão corretas e clique em create.

115 – Clique no resource group RG-Security e observe que nosso disco foi provisionado.

Vamos criar a virtual network e as subnets LAN-pfSense, WAN-pfSense e LAN

A subnet WAN-pfSense terá o IP publico do pfSense atribuído a ela, a subnet LAN-pfSense será a rede de comunicação do pfSense com os serviços do Azure como Rote table e a rede LAN será utilizada para as  máquinas virtuais e outro recursos.

116 – Crie o resource group RG-Networking

New-AzResourceGroup -Name RG-Networking -Location EastUS

117 – Execute o script abaixo para criar a virtual network Vnet-firewall  e as subnets LAN-pfSense,  WAN-pfSense, LAN

## Create virtual network e duas subnets ##

# Variáveis
$Resourcegroup = “RG-Networking”
$Location = “EastUS”
$Vnet = “Vnet-firewall”
$Sub1 = “LAN-pfSense”
$Sub2 = “WAN-pfSense”
$Sub3 = “LAN”

# Criar virtual network
$virtualNetwork = New-AzVirtualNetwork -ResourceGroupName $Resourcegroup -Location $Location -Name $Vnet -AddressPrefix 10.0.0.0/16

# Adicionar uma subnet
$subnetConfig = Add-AzVirtualNetworkSubnetConfig -Name $Sub1 -AddressPrefix 10.0.1.0/24 -VirtualNetwork $virtualNetwork

#Adicionar uma segunda subnet
$subnetConfig2 = Add-AzVirtualNetworkSubnetConfig -Name $Sub2 -AddressPrefix 10.0.2.0/24 -VirtualNetwork $virtualNetwork

#Adicionar uma segunda subnet
$subnetConfig3 = Add-AzVirtualNetworkSubnetConfig -Name $Sub3 -AddressPrefix 10.0.3.0/24 -VirtualNetwork $virtualNetwork

# Associar a subnet à virtual network
$virtualNetwork | Set-AzVirtualNetwork

117 – Clique no no resource group RG-Networking e observe que nossa virtual network e subnets foram criadas.

Criar a máquina virtual do pfSense

118 – Execute o script abaixo para criar a máquina virtual do pfSense utilizando o disco gerenciado vm-firewall-osDisk

## Variaveis ##
$ResourceGroupName = “RG-Security”
$vnetResourceGroupName = “RG-Networking”
$vnetName = “Vnet-firewall”
$location = “East US”
$vmName=”vm-firewall”
$vmSize=”Standard_B2s”
$osDiskName = “vm-firewall-osDisk”

$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $vnetResourceGroupName
$pubip = New-AzPublicIpAddress -Name “vm-firewall-wan-ipp” -ResourceGroupName $ResourceGroupName -Location $location -AllocationMethod Static
$nic1 = New-AzNetworkInterface -Name “vm-firewall-wan-nic” -ResourceGroupName $ResourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pubip.Id -EnableIPForwarding
$nic2 = New-AzNetworkInterface -Name “vm-firewall-lan-nic” -ResourceGroupName $ResourceGroupName -Location $location -SubnetId $vnet.Subnets[1].Id -EnableIPForwarding
$osDisk = Get-AzDisk -ResourceGroupName $ResourceGroupName -DiskName $osDiskName
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic1.Id
$vm = Add-AzVMNetworkInterface -VM $vmConfig -Id $nic2.Id
$vm = Set-AzVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -StorageAccountType Standard_LRS -DiskSizeInGB 32 -CreateOption Attach -Linux
$vm.NetworkProfile.NetworkInterfaces.Item(0).Primary = $true
Set-AzVMBootDiagnostic -VM $vm -Disable
New-AzVM -ResourceGroupName $ResourceGroupName -Location $location -VM $vm -Verbose

Observe na imagem abaixo a execução do script para criar a máquina virtual.

119 – Como podemos observar na imagem abaixo nossa máquina virtual foi provisionada.

Próximo passo será testar o acesso externo ao pfSense

120 – Clique na máquina virtual vm-firewall, copie o Public IP address e cole em seu navegador.

Vamos criar uma máquia virtual

Posteriormente tentaremos conectar nessa máquia por RDP utilizando o IP publico do pfSense.

121 – Vamos criar uma máquina virtual sem IP publico e network security group, já que todo o acesso a VM deve passar pelo nosso firewall pfSense.

O script abaixo cria uma máquina virtual e associa a subnet LAN

# Definindo as variáveis de rede
$vnetResourceGroupName = “RG-Networking”
$ResourceGroup = “RG-WEB”
$Location = “EastUS”
$vNetName = “Vnet-firewall”
$SubnetName = “LAN”

# Definindo as variáveis da máquina virtual
$vNet = Get-AzVirtualNetwork -ResourceGroupName $vnetResourceGroupName -Name $vNetName
$Subnet = Get-AzVirtualNetworkSubnetConfig -Name $SubnetName -VirtualNetwork $vNet
$vmName = “VM-01”
$pubName = “MicrosoftWindowsServer”
$offerName = “WindowsServer”
$skuName = “2016-Datacenter”
$vmSize = “Standard_DS2_v2”
$pipName = “$vmName-pip”
$nicName = “$vmName-nic”
$osDiskName = “$vmName-OsDisk”
$osDiskType = “Standard_LRS”

# Definindo as credenciais de administrador
$adminUsername = ‘jadson.alves’
$adminPassword = ‘Pa$$w0rd.qwe1234’
$adminCreds = New-Object PSCredential $adminUsername, ($adminPassword | ConvertTo-SecureString -AsPlainText -Force)

# Criando interface de rede NIC
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $ResourceGroup -Location $location -SubnetId $Subnet.Id

# Adicionando as configurações da máquina virtual
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id

# Setando os parâmetros do sistema operacional
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $adminCreds

# Setando a imagem utilizada na máquina virtual
Set-AzVMSourceImage -VM $vmConfig -PublisherName $pubName -Offer $offerName -Skus $skuName -Version ‘latest’

# Setando as configurações de disco
Set-AzVMOSDisk -VM $vmConfig -Name $osDiskName -StorageAccountType $osDiskType -CreateOption fromImage

# Desabilitando o diagnóstico de boot
Set-AzVMBootDiagnostic -VM $vmConfig -Disable

# Criando a máquina virtual
New-AzVM -ResourceGroupName $ResourceGroup -Location $location -VM $vmConfig

122 – Observe na imagem abaixo que nossa máquia virtual foi criada no resource group RG-WEB sem ip publico e network security group como definimos no script

Agora vamos configurar a rota da subnet LAN para o pfSense

Todo o trafego da rede LAN devera passar pelo pfSense

123 – No portal do azure pesquise por Route tables

124 – Na tela Route tables, clique em Create route table.

125 – Selecione o resource group RG-Networking, em região selecione East US e escolha um nome para tabela de rota, em nosso exemplo vamos usar Route-firewall, clique em Review + create.

126 – Na tela Review + create, clique em Create.

127 – Selecione o resource group RG-Network e clique no Route-firewall

128 – Em seguida clique em Routes e + Add

129 – Digite um nome para a rota, em nosso exemplo vamos utilizar o nome all-to-fw, em Address prefix digite 0.0.0.0/0 esse endereço IP é referente a qualquer endereço IP, em Next hop selecione virtual appliance, em Next hop address digite o endereço IP do pfSense da rede LAN-pfSense  (10.0.2.4).

Tudo que for com destino a qualquer  endereço IP vamos enviar para o firewall pfSense.

130 – Como podemos observar na imagem abaixo nossa rota está criada.

131 – Agora vamos associar a rota a subnet LAN, clique em subnets, + Associate, selecione a virtual network e subnet que deseja associar a rota, nesse exemplo vamos associar a subnet LAN.

Com essa configuração nossas máquinas virtuais que estiverem associadas a subnet LAN terão acesso a internet passando pelo firewall pfSense

Configurar o NAT para liberar acesso aos servidores no azure por RDP

Vamos criar uma regra no pfSense para liberar o acesso a porta  3389 (RDP)

132 – Clique em Firewall,  NAT e Add

Na opção Protocol selecione TCP, em source clique em Display Advanced e selecione Any, em Destination selecione WAN address, em destination port range selecione other, digite a porta que preferir em nosso exemplo vamos utilizar a porta 55522, Em Redict target IP digite o endereço IP do servidor VM-01 (10.0.3.4), em Redirect targe port selecione other e digite a porta 3389.

Nessa regra estamos dizendo que tudo que chegar na WAN address na porta 5522 direcione para o endereço IP 10.0.3.4 na porta 3389

133 – Agora vamos testar o acesso a VM-01  via RDP

Abra a conexão de Área de Trabalho Remota e digite o endereço IP publico do pfSense com dois pontos, conforme está sendo ilustrado na imagem abaixo.

Como podemos observar na imagem abaixo já temos acesso ao nosso servidor VM-01, as credências de administrador da máquina está sendo solicitado.

Como podemos observar na imagem abaixo fizemos o acesso a nossa máquina virtual por RDP e a mesma também está com acesso a internet.

Espero que este conteúdo tenha contribuído com o enriquecimento do conhecimento de vocês em Azure e Office 365.

Tem alguma sugestão ou observação, comente.

Forte abraço, obrigado e até o próximo post. 🙂

6 Replies to “Instalação Firewall Pfsense no Azure”

  1. Thanks a lot for this create work instruction. This is the first one I found where I can succesfully install the WALinuxAgent on the newest version of Pfsense. I now have running the PFsense firewall in Azure 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *