Módulo time iptables

Bom dia pessoal,

Passando por uma dificuldade com a utilização do módulo time do iptables v1.4.8 (versão testada), venho trazer está dica para quem também passa por isso.

Em diversos testes notei que o módulo time não funcionava com a hora local, por default este módulo já seleciona a hora local do servidor, mesmo adicionando –localtz no final, também não funcionou.

A solução que encontrei foi converter a hora, no comando não no servidor, para UTC!

Lembrando que o UTC utiliza 3 horas a mais.

Caso tenha duvida se sua região é também 3 horas a mais, só verificar o final do comando “date -R”.

root@infra:~# date -R
Tue, 20 May 2014 11:44:18 -0300

ficaria assim para liberar das 11:00 às 12:00 a porta 443:

/sbin/iptables -I FORWARD -s $RedeLocal -p tcp –dport 443 -m time –timestart 14:00 –timestop 15:00 –utc -j ACCEPT

Qualquer duvida só deixar um comentário abaixo!

Publicado em Firewall, Linux | Deixe um comentário

Liberação total do Skype e Skype MSN 2014

Boa tarde pessoal,

Para finalizar a semana vai um post utilizando o Iptables para bloquear o Skype e Skype MSN e liberar somente para alguns colaboradores.

Essa regra usada é para iptables com INPUT e FORWARD bloqueados.

Caso tenha os dois liberados, tem que fazer o bloqueio antes.

Versão utilizada Iptables 1.4.8

CHipt = /sbin/iptables

$CHipt -P INPUT DROP
$CHipt -P FORWARD DROP
$CHipt -P OUTPUT ACCEPT

### Bloqueia Skype total e Msn
$CHipt -N SKYPE
$CHipt -I FORWARD -s $CHrede0 -j SKYPE
for i in `cat /etc/squid3/bloqueios/skype`;do
$CHipt -I FORWARD -s 192.168.1.35 -d $i -j ACCEPT #IP Liberado Ti01
done

##################################################

Lista do arquivo /etc/squid3/bloqueios/skype

134.170.24.0/24
134.170.0.0/24
168.61.160.0/24
23.199.242.0/24
31.13.73.0/24
65.52.108.0/24
131.253.40.0/24
23.199.229.0/24
23.200.10.0/24
23.199.255.0/24
93.184.215.0/24
157.55.133.0/24
65.55.68.0/24
65.54.240.0/24
134.170.25.0/24
23.199.231.0/24
23.4.40.0/24
65.55.163.0/24
131.253.61.0/24
2.93.193.0/24
62.21.55.0/24
95.31.70.0/24
46.146.101.0/24
188.242.87.0/24
178.150.190.0/24
87.69.40.0/24
157.56.108.0/24
134.170.19.0/24
157.56.53.0/24
46.121.206.0/24
176.36.252.0/24
1.173.194.0/24
89.42.157.0/24
88.163.11.0/24
212.161.8.0/24
23.199.230.0/24
200.162.199.0/24

200.20.108.0/24
157.56.116.0/24
157.56.106.0/24
178.90.29.0/24
121.73.153.0/24
124.149.103.0/24
98.216.99.0/24
58.7.194.0/24
213.166.51/24
71.50.64.0/24
212.187.172.0/24
119.154.230.0/24
193.95.154.0/24
63.251.34.0/24
212.8.166.0/24
64.4.23.0/24
65.55.223.0/24
64.4.23.0/24
157.55.56.0/24
111.221.77.0/24
207.46.39.0/24
134.179.24.0/24
207.46.47.0/24
111.221.74.0/24
111.221.77.0/24
157.55.130.0/24
157.55.235.0/24
157.55.56.0/24
157.56.52.0/24
194.165.188.0/24
195.46.253.0/24
213.199.179.0/24
63.245.217.0/24
64.4.23.0/24

13.146.167.0/24
92.41.255.0/24
92.41.254.0/24
91.190.218.0/24
91.190.218.0/23
91.190.216.0/24
91.190.216.0/23
82.101.61.0/24
213.146.189.0/24
213.146.188.0/24
213.146.167.0/24

Fonte: http://www.vivaolinux.com.br/dica/Bloqueando-Skype-em-definitivo-no-IPtables

Lista refeita utilizando o tcpdump e testando!

Bom feriado a todos.

Publicado em Firewall | Deixe um comentário

Downgrade de pacotes do Debian Wheezy para o Debian Squeezy

Boa tarde pessoal,

Este artigo é para quem precisou atualizar o Debian Squeeze para o Wheezy e precisa manter alguns pacotes na versão antiga ainda.

Adicione em /etc/apt/sources.list

deb http://ftp.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free

Ou

echo “deb http://ftp.debian.org/debian/ squeeze main contrib non-free” >> /etc/apt/sources.list

echo “deb http://security.debian.org/ squeeze/updates main contrib non-free” >> /etc/apt/sources.list

Crie ou edite o arquivo /etc/apt/preferences.d/preferences e adicione os pacotes de acordo com suas necessidades, o exemplo criado foi para manter o LAMP na versão do Debian Squeeze

Package: liblocale-gettext-perl

Pin: release a=oldstable

Pin-Priority: 700

Package: linux-base

Pin: release a=oldstable

Pin-Priority: 700

Package: libapache2-mod-php5

Pin: release a=oldstable

Pin-Priority: 700

Package: libdbi-perl

Pin: release a=oldstable

Pin-Priority: 700

Package: perl*

Pin: release a=oldstable

Pin-Priority: 700

Package: libdbd-mysql-perl

Pin: release a=oldstable

Pin-Priority: 700

Package: mysql-server*

Pin: release a=oldstable

Pin-Priority: 700

Package: mysql-client*

Pin: release a=oldstable

Pin-Priority: 700

Package: mysql-common*

Pin: release a=oldstable

Pin-Priority: 700

Package: php5*

Pin: release a=oldstable

Pin-Priority: 700

Package: libapache2-mod-php5

Pin: release a=oldstable

Pin-Priority: 700

Package: php-pear

Pin: release a=oldstable

Pin-Priority: 700

Package: php-apc

Pin: release a=oldstable

Pin-Priority: 700

Package: *

Pin: release a=stable

Pin-Priority: 600

Caso já tenha o pacote instalado, utilize para reinstalar na versão antiga:

apt-get –reinstall mysql-server

Ou também pode excluir os pacotes e reinstalá-los novamente.

Caso não saiba se o pacote está instalado ou não, use o comando:

dpkg -l | grep pacote

Um problema que encontrei foi que o perl-base 5.10 não é compativel com kernel 3.1

Caso for instalar o perl-base 5.10, ocorrerá o seguinte erro:

E: Erro, pkgProblemResolver::Resolve gerou falhas, isto pode ser causado por pacotes mantidos (hold).

Resolvi com os seguintes comandos:

aptitude install -f

apt-get install aspell-en

apt-get install –reinstall perl-base -> escolha “No” para remover o kernel 3.1

Caso queira recuperar o kernel excluído

apt-get install -t oldstable libuuid-perl

apt-get install –reinstall linux-base

apt-get install linux-image

Tive problemas também que o teclado desconfigurou que foi resolvido da seguinte forma:

apt-get install liblocale-gettext-perl

apt-get install keyboard-configuration

Isso ai pessoal, qualquer duvida só postar ou me mandar um e-mail!

Abs,

Publicado em Linux | Deixe um comentário

Compartilhamento com Samba

Bom dia pessoal,

Esse é o primeiro post do meu blog. Resolvi criá-lo para compartilhar o pouco de conhecimento que tenho e contribuir com a comunidade!

Nesse primeiro post, vamos ver sobre compartilhamento com o Samba, utilizando recursos como lixeira, auditoria de acessos e alterações, acesso por IP ou por login.

A versão do S.O utilizado por mim é o Debian Squeezy (6.0.5) e a versão do samba é a 3.5.6.

Instalação:

apt-get install samba

Estrutura do Samba:

/etc/samba

/usr/lib/samba

/usr/share/samba

/var/log/samba

Se caso você for utilizar o acesso por login e senha, veremos abaixo os comandos para a criação dos logins:

adduser –disabled-login –no-create-home –home=/home/luna luna

–disable-login → Utilizado para não ter permissão de acesso ao S.O, somente pelo Samba.

–no-create-home → Não cria o diretório padrão do usuário.

–home → Diretório a qual o login pertencerá.

Para ativar o usuário no samba:

smbpasswd -a login criado anteriormente, ex: smbpasswd -a luna

Pedirá a senha para o acesso.

smbpasswd -d luna → Desabilitará temporariamente o login, como por exemplo, se o usuário pegar férias e querer garantir que ninguém usará o seu acesso.

smbpasswd -e luna → Habilita o login quando ele estiver desabilitado.

smbpasswd -x luna → Exclui o usuário do Samba.

Também é possível a criação e edição de grupos em /etc/group

ex: comercial:x:123:luna,stark,myagi

Ou por comando:

grupadd comercial → Criará o grupo

usermod -G comercial luna → Adiciona o usuário luna ao grupo comercial

Na seção global, fiz alguns comentários que podem ser alterados

Na parte para habilitar os módulos para o samba, deverão ser separados por “,”, não crie dois “vfs objects” pois o debaixo vai substituir o de cima.

O módulo “recycle” é o utilizado pela lixeira, e o “full_audit” é utilizado para fazer auditoria.

Na parte de bloquear extensões, utilizado na sessão global, afetará todos os diretórios compartilhados, não precisa de espaço ou vírgula para fazer a separação das extensões. Como por exemplo:

veto files = /*.mp3/*.avi/*.flv/*.mpg/*.wma/*.wav/*.mpeg/*.bmp

Na parte da lixeira temos os itens:

  • recycle:repository → Onde será gravado os arquivos excluídos e o %U significa que será criado diretório dos usuários para fazer a divisão dos arquivos excluídos e deixar mais organizado, facilitando na hora de recuperar os arquivos.
  • recycle:exclude → Extensões que não devem ir para a lixeira e serão excluídos totalmente.
  • recycle:exclude_dir → Diretórios que não devem ir para a lixeira e que também serão excluídos totalmente.

Na parte de autoria temos os itens:

  • full_audit:success → Funções que serão auditadas
  • full_audit:prefix → Modelo do log %u|%I|%S , ficaria usuário|IP|compartilhamento.
  • full_audit:failure → Não audita erros.
  • full_audit:facility → Nível do log
  • full_audit:priority → Nível do log

Existem outras opções do prefix em:

http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#FULL_AUDIT:PREFIX

Na sessão “VARIABLE SUBSTITUTIONS”.

Possíveis opções no success:

  • open → Abertura de um arquivo ou diretório
  • opendir → Visualiza os arquivos dentro de um diretório
  • write → Alterações realizadas em arquivos e diretórios
  • unlink → Deletar um arquivo ou diretório
  • rename → Renomeia um arquivo ou diretório. Quando a lixeira é ativada, o rename é utilizado no log para identificar o arquivo sendo enviado para a lixeira .
  • mkdir → Criar um diretório.
  • rmdir → Remover um diretório.
  • chmod → Alteração das permissões de arquivo ou diretório.
  • chown → Mudança de dono do arquivo ou diretório.

Para ativar a auditoria, teremos que fazer uma modificação no arquivo /etc/rsyslog.conf e adicionar a seguinte linha embaixo de “user.* -/var/log/user.log” da sessão “Rules”:

local5.notice /var/log/samba//smb_audit.log

Sessão Global finalizada, vamos para a sessão “Share Definitions” que é a sessão usada para o compartilhamento dos diretórios.

Exemplo de diretório publico:

[Publico] → Nome que aparecerá quando acessar o computador compartilhado.

comment = Publico → Comentário sobre o diretório.

path = “/home/Publico”

# veto files =

guest ok = Yes

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create mode = 0777

writable = Yes

browseable = Yes

public = Yes

Um pouco sobre os campos:

[Diretório] → Nome que aparecerá quando acessar o computador compartilhado.

comment → Comentário sobre o diretório.

Path → Caminho do diretório completo, eu gosto de utilizar o caminho entre aspas por causa de utilizar diretórios com mais de uma palavra ou com acento, para funcionarem corretamente.

veto files → bloqueio de extensão de arquivos.

guest ok → Permite usuário sem login.

create mask → Permissão do arquivo quando criado.

directory mask → Permissão do diretório quando criado.

force directory mode Força a permissão do diretório quando criado.

force create mode → Força a permissão do arquivo quando criado.

writable → Permite ou nega a escrita

browseable → Visibilidade do diretório, permite ou não o diretório ser visualizado quando é acessado o IP ou Host do computador sem o caminho completo. Por exemplo, caso o browseable for “no”, se acessado smb://192.168.1.5 esse diretório não aparecerá, mas será possível acessar com o caminho smb://192.168.1.5/diretorio

public → O diretório pode ser acessado por qualquer pessoa.

Exemplo de diretório com permissão e bloqueio por login e por IP:

[Comercial]

comment = Setor comercial

path = “/home/Comercial”

veto files = /*.mp3/*.avi/

valid users = luna,stark,myagi,pipoca

guest ok = No

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create mode = 0777

browseable = Yes

writable = Yes

write list = stark,pipoca

read list = luna,myagi

Caso queira utilizar grupo, utilize +grupo, por exemplo: write list = +comercial

Foi removido o item “public” e adicionado os itens “valid users”, “write list” e “read list”.

Foi alterado o campo “guest ok” para “no”, para não permitir login de visitante.

valid users → Todos os usuários que terão algum acesso no diretório.

write list → Usuários que poderão modificar e criar arquivos e diretórios.

Read list → Usuários que poderão visualizar o conteúdo dos arquivos e diretório mas não poderão fazer qualquer modificação neles.

Essa foi as permissões por login e senha, caso utilize o “security = share”, ficaria deste modo:

[Comercial]

comment = Setor comercial

path = “/home/Comercial”

valid users = luna,stark,myagi,pipoca

guest ok = No

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create mode = 0777

browseable = Yes

writable = Yes

hosts allow = 192.168.1.23, 192.168.1.30, 192.168.1.9

hosts deny = 192.168.1.90

Pode-se também liberar por faixa de IP e bloquear alguns, por exemplo:

hosts allow = 192.168.1. EXCEPT 192.168.1.90, 192.168.1.92

Ou também desta forma, o que ficar melhor para você organizar

hosts allow = 192.168.1.

hosts deny = 192.168.1.23, 192.168.1.24

Pode-se também utilizar o mesmo método para o bloqueio

hosts deny = 192.168.1. EXCEPT 192.168.1.90, 192.168.1.92

Abaixo o smb.conf utilizando o acesso por login e senha.

Não esquecendo de reiniciar os serviços!

/etc/init.d/samba restart

/etc/init.d/rsyslog restart

Espero que gostem deste primeiro post! Agradeço a leitura e qualquer sugestão ou critica é bem-vinda =)

#======================= Global Settings =======================

# Seção das configurações gerais do samba

[global]

#Grupo a qual pertence o servidor

workgroup = INFRAESTRUTURA

#Descrição do servidor

server string = Documentos

dns proxy = no

#Local de gravação do log

log file = /var/log/samba/log.%m

#Tamanho do log

max log size = 1000

#Tipo de seguranção “user”, utilizado para login e senha, e o “share” utilizado com o IP

security = user

encrypt passwords = true

obey pam restrictions = yes

unix password sync = yes

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

#Banco de dados do smbpasswd

passdb backend = smbpasswd

pam password change = yes

unix extensions = no

wide links = yes

#Nome do usuário para o visitante

user guest account = guest

### Habilita módulos

vfs objects = recycle, full_audit

### Bloquear extensões

#veto files = /*.mp3/*.avi/*.flv/*.mpg/*.wma/*.wav/*.mpeg/*.bmp

### Lixeira

recycle:keeptree = yes

recycle:versions = yes

recycle:repository = /cfile/lixeira/%U

recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso, *.mp3, *.wav

recycle:exclude_dir = tmp, cache

### Log

log level = 1

log file = /var/log/samba.log

max log size = 1000

### Auditoria

full_audit:success = open, opendir, write, unlink, rename, mkdir, rmdir

full_audit:prefix = %u|%I|%S

full_audit:failure = none

full_audit:facility = local5

full_audit:priority = notice

#======================= Share Definitions =======================

[Publico]

comment = Publico

path = “/home/Publico”

# veto files =

guest ok = Yes

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create mode = 0777

writable = Yes

browseable = Yes

public = Yes

[Comercial]

comment = Setor comercial

path = “/home/Comercial”

veto files = /*.mp3/*.avi/

valid users = luna,stark,myagi,pipoca

guest ok = No

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create mode = 0777

browseable = Yes

writable = Yes

write list = stark,pipoca

read list = luna,myagi

Publicado em Linux | 4 Comentários