RSS

Squid - Restringindo o horário de acesso

terça-feira, 6 de abril de 2010

Aqui é onde nós citamos outro tipo interessante de controle que nós podemos implementar em um escritório ou em um meio acadêmico: o controle por horário.

Para nós fazermos isto, nós fazemos o uso da ACL do tipo time.

acl horariopermitido time MTWHF 08:00-18:00
http_access deny !horariopermitido

Interpretando a regra fica assim: Ele vai negar o uso do proxy em todos os horários, COM EXCESSÃO do horário especificado na ACL horariopermitido.

O "MTWHF" na frente da ACL especifica os dias da semana conforme esta tabela:

    S - Sunday (Domingo) M - Monday (Segunda) T - Tuesday (Terça) W - Wednesday (Quarta) H - Thursday (Quinta) F - Friday (Sexta) A - Saturday (Sábado) 
     

Squid - Bloqueando extensões e downloads

Muitas pessoas se infectam com vírus contidos em arquivos de extensões conhecidas por conter programas maliciosos, como o .bat o .pif e o .scr.

Mas por incrível que pareça, você pode bloquear extensões que os seus usuários baixam no computador por meio de HTTP ou de FTP e de quaisquer outros protocolos que o Squid suporte, fazendo os seguintes passos:

touch /usr/local/squid/etc/extensoes.txt
chmod 755 /usr/local/squid/etc/extensoes.txt

Feito isto, você deve escrever as extensões que você quer bloquear da seguinte maneira no arquivo extensoes.txt.

\.com$
\.pif$
\.bat$
\.src$
\.zip$
\.exe$

NOTA: O "\" é um eliminador de metacaracteres e serve para cancelar a função do ".". Já o "$" serve para que seja analizado até o final de string.

Agora nós vamos adicionar a ACL no Squid que vai bloquear as extensões efetivamente, juntamente com o seu http_access:

acl extensoes urlpath_regex -i "/usr/local/squid/etc/extensoes.txt"
http_access deny extensoes all
 

Squid - Liberando acessos (sites)

Primeiro criamos o arquivo texto com a  lista de sites e damos à ele permissão de leitura:

touch /usr/local/squid/etc/liberados.txt
chmod 755 /usr/local/squid/etc/liberados.txt

Nele insira todas as sites que serão liberados. Adicione um site por linha.

Após, crie a ACL da seguinte maneira:
acl liberados url_regex -i "/usr/local/squid/etc/liberados.txt"

O parâmetro "-i" serve para que o Squid não distingua entre maiúsculas ou minúsculas.

E libere o acesso com o http_access:
http_access allow liberados all
  

IPTables - Criando chains Personalizadas.

Script que permite acesso total a rede.

hostsliberados.sh 

for x in `cat /root/hostsliberados.txt`
   do
        iptables -t nat -A preHostsLiberados -s $x -j ACCEPT
        iptables -t nat -A posHostsLiberados -s $x -j MASQUERADE
   done


hostsliberados.txt (Ips que serão liberados)
192.168.0.2
192.168.0.4
192.168.0.6

Regras
iptables -t nat -N preHostsLiberados
iptables -t nat -N posHostsLiberados
/root/hostsliberados.sh

iptables -t nat -A PREROUTING -j preHostsLiberados
iptables -t nat -A POSTROUTING -j posHostsLiberados
  

IPTables - Redirecionar conexões

Regra redireciona conexões que chegam na porta 8000 do servidor para a maquina 192.168.0.100 na porta 22.

iptables -t nat -A PREROUTING -p tcp --dport 8000 -j DNAT --to 192.168.0.100:22
 

IPTables - Criando regras com mac address

O IPTABLES é uma ferramenta de edição da tabela de filtragem de pacotes, ou seja, com ele você é capaz de analisar o cabeçalho (header) e tomar decisões sobre os destinos destes pacotes.

O módulo mac serve para conferir com o endereço Ethernet dos pacotes de origem. Somente faz sentido se usado nos chains de PREROUTING (da tabela nat) ou INPUT (da tabela filter). Aceita como argumento a opção --mac-source endereço. O símbolo "!" pode ser usado para especificar uma exceção.

iptables -A FORWARD -s 192.168.0.2 -m mac --mac-source xx:xx:xx:xx -j DROP

Bloqueia o acesso da maquina, 192.168.0.2.
  

Samba - Compartilhando Arquivos.

segunda-feira, 5 de abril de 2010

SAMBA

O SAMBA é um servidor e conjunto de ferramentas que permite que máquinas Linux e Windows se comuniquem entre si, compartilhando serviços (arquivos, diretório, impressão) através do protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a implementação NetBEUI no Windows. O SAMBA é uma das soluções em ambiente UNIX capaz de interligar redes heterogênea.

Abaixo uma configuração do samba onde:

\\servidor
-programas (Acesso apenas a leitura)
-musicas (Acesso Liberado)
-documentos (Solicitado um usuário e senha)

[global]
workgroup = (seu_grupo_de_trabalho)
netbios name = servidor
security = user
smb passwd file = /etc/samba/smbpasswd
encrypt passwords = yes
log level = 3
syslog = 1
log file = /var/log/samba/log.%m
os level = 99

[programas]
comment = Troca de Arquivos
path = /home/programas
read only = yes
writable = no

[musicas]
comment = Musicas
path = /home/musicas
read only = no
writable = yes
guest ok = yes
browseable = yes
create mask = 0777

[documentos]
comment = Documentos
path = /home/documentos
read only = no
writable = yes
guest ok = yes
browseable = yes
create mask = 0777
valid users = user1,user2,user3 #usuários que podem gravar.

E se preciso verifique as permissões de cada diretório:

ls -ialh /home/convidados
ls -ialh /home/documentos

Se necessário:  chmod a+wrtx /home/documentos