Tutorial CP+FreeRadius+Squid+SquidGuard com ACL por usuario e sem conf no client
-
Este tutorial é para aqueles igual eu que nunca acha nada sobre isso, você quer configurar um esquema em que segue os seguintes critérios.
- Não quero configurar nada no usuário final
- Não quero proxy transparente, pois quero monitorar o usuário final
- Não quero aquela telinha wapd ou qualquer coisa que só funciona no PC, ou seja quero que a autenticação funcione no Captive Portal
- Quero cadastrar usuario por usuario no PFSENSE e ter uma base unificada ( Eu ainda quero fazer autenticar no A.D mas nao tive tempo de ver como faz )
- Quero criar grupos ao qual determinado grupo acesse facebook e outros nao, ou pode ser usuario
Então para vocês, segue meu tutorial, claro que eu extrai informação de vários lugares, e montei a minha conf, o que eu não sei fazer ainda, mas seria muito util é que o RADIUS autentica-se no A.D, porque ai o usuario consegue gerenciar a sua senha, senão você administrador vai ter que por senha por senha aleatoria ai um colega do usuario descobre e usa a senha dele, depois o usuario vai da migué que usaram a senha dele, então se você por o Radius conectado no AD o usuario manipula sua propria senha.
OBS: Todos os campos que eu não coloquei é porque não faz nada.. não insere nenhuma informação.
Montando um Proxy HTTPS + Captive Portal no PFSENSE sem fazer nada no cliente
Ambiente
2 redes
WAN
LAN: 10.0.160.1Primeiro vamos baixar os pacotes necessarios no pfsense 2.4.2
-> System
-> Package Manager
-> Baixe primeiro o squidguard
-> Depois o squid
-> Depois o freeradius3– Congigurando o FreeRadius para contas locais ( no PFSENSE )
-> Services
-> FreeRADIUS
-> Users
Vamos criar 2 usuarios
username: joao
Password: 123
username: cesar
Password: 123
obs: O resto deixa como esta
-> NAS/Clients
Vamos adicionar um cliente
Client IP Address: 10.0.160.1
Client IP Version: IPv4
Client Shortname: teste
Client Shared Secret: senhadoclienteradius@@
obs: O resto deixa como esta
-> Interfaces
Interface IP Address:*
Port:1812
Interface Type: Authentication
IP Version: IPv4Crie outra
Interface IP Address:*
Port:1813
Interface Type: Accouting
IP Version: IPv4-> Settings
-> [ Miscellaneous Configuration ]
[ x ] Enable Plain MAC Authenticationobs: FreeRadius Pronto
– Configurando um certificado
-> System
-> Cert. Manager
-> CAs
Descriptive name: certificado-proxy
Create an internal Certificate Authority
obs: Insira todos os dados
Country Code:BR
State or Province: SP
e no final...
Common Name: certificado-proxy-- Configurando o Squid
-> Services
-> Squid Proxy Server-> Local Cahe
[Squid Cache General Settings]
Cache Replacement Policy: Heap LFUDA
-> General
[ Squid General Settings ]
Enable Squid Proxy [ x ]
Keep Settings/Data [ x ]
Proxy Interface(s) [ LAN e Loopbackp ]
Proxy Port: 3128
Allow Users on Interface [ x ]
Resolve DNS IPv4 First [ x ]
[ Transparent Proxy Settings ]
Transparent HTTP Proxy [ x ]
Transparent Proxy Interface(s) [ LAN ]
[ SSL Man In the Middle Filtering ]
HTTPS/SSL Interception [ x ]
SSL/MITM Mode: Splice ALL
SSL Intercept Interface(s) [ LAN ]
SSL Proxy Compatibility Mode: Modern
CA: certificado-proxy
SSL Certificate Deamon Children: 15
Remote Cert Checks: Accept remote server certificate with erros
Certificate Adapt: Sets the "Not After" (setValidAfter)
Sets the "Not Before" (setValidBefore)
-> Authentication
[ Squid Authentication General Settings ]
Authentication Method: Captive Portal– Configurando o SquidGuard
-> Services
-> SquidGuard Proxy Filter
-> General settings
[ General Options ]
Enable [ x ] Check this option to enable squidGuard.
obs: Toda vez que fizer uma mudança mesmo clicando em SAVE tem que clicar em [Apply]
[Blacklist options]
Blacklist [ x ] Check this option to enable blacklist
Blacklist URL: http://www.shallalist.de/Downloads/shallalist.tar.gz
-> Common ACL
[Target Rules List] ( + )
Default access [all] [ allow ]
obs: Esta ACL é a padrao, entao eu liberei tudo mas você pode querer que ninguem acesse por exemplo o facebook, então clique para [DENY] para a categoria [blk_BL_socialnet] todos da empresa nao acessa mais Facebook
Do not allow IP-Addresses in URL [ x ] To make sure that people do not bypass the URL filter by simply using the IP-Addresses instead of the FQDN you can check this option. This option has no effect on the whitelist.
Redirect mode: int error page (enter error message)
Use SafeSearch engine [ x ] Enable the protected mode of search engines to limit access to mature content.
Log: [ x ] Check this option to enable logging for this ACL.-> Group ACL
Name: acl-teste
obs: nesta acl eu quero que um usuario especifico não acesse a categoria pornografia
Client (source): 'joao'
obs: tem que por estas aspas simples
[Target Rules List] ( + )
blk_BL_porn] [deny] nas duas colunas -> Target Categories/Target Categories for off-time
Do not allow IP-Addresses in URL [ x ] To make sure that people do not bypass the URL filter by simply using the IP-Addresses instead of the FQDN you can check this option. This option has no effect on the whitelist.
Log [ x ] Check this option to enable logging for this ACL.– Configurando o Captive Portal
-> Services
-> Captive Portal
-> Configuration
[Captive Portal Configuration]
Enable [ x ] Enable Captive Portal
Interfaces: LAN
[ Authentication ]
Authentication Method: RADIUS Authentication
RADIUS protocol: [ x ] PAP
[Primary Authentication Source]
Primary RADIUS server: 10.0.160.1 – 1812 -- senhadoclienteradius@@
obs: A senha é aquela do cliente Radius e não dos usuarios criados
[Accounting]
RADIUS [ x ] Send RADIUS accounting packets to the primary RADIUS server.
Accounting updates [ x ] No updates
[RADIUS Options]
[ x ] Reauthenticate connected users every minute
[ x ] Enable RADIUS MAC authentication
MAC authentication secret: senhadoclienteradius@@
obs: A senha é aquela do cliente Radius e não dos usuarios criados
RADIUS NAS IP Attribute: LAN 10.0.160.1
MAC address format: IETF
-> MACs
Action: Pass
MAC Address: xx:xx:xx:xx:xx
obs: Eu adicionei o MAC do A.D/LDAP porque senão o usuario não consegue logar no dominio
-> Allowed IP Addresses
IP Address: ip_do-A.D /24
Direction: Both
obs: Eu adicionei o IP do A.D/LDAP porque senão o usuario não consegue logar no dominioOBS: Sempre checar se os serviços estão no ar quando fizer alteração em
-> Status
-> Services
OBS: O Captive Portal é chato, quando fizer qualquer alteração o ideal é ir em
-> Services
-> Captive Portal
-> Configuration
Enable Captive Portal
[ save ]
E depois clicar e salvar novamente só dando reset nele não funciona, e tambe é interessante deslogar o usuario logado no Captive Portal da seguinte forma
-> Clique no logo do PFSENSE para pagina inicial
[ Status / Dashboard ] ( + )
Adicione o Painel do [Captive Portal Status]
Feito isso selecione todos os usuarios e clique na lixeira no canto direito de cada login para remover todos.Qualquer duvida se virem kkk não tenho tempo de tirar. :P
Gostaria se alguem quiser participar de inserir o Radius no AD porque eu não consigo.
-
Alguém conseguiu fazer funcionar? Para mim abre somente o google e quando vou tentar acessar outra pagina retorna em branco escrito reset.
-
Não estou conseguindo configurar o CP comunicar com o FreeRadius 3. Quando tento acessar alguma página aparece a mensagem "RADIUS MAC Authentication Failed". Não vai para página de login. Estou com a versão 2.3.5. Alguém já passou por esse problema? Obrigado.