Pular para o conteúdo

Adicionando Alias e Canonical no zimbra

dezembro 7, 2011

Algumas vezes é necessário a inserção de alias e canonicais em contas de e-mails, para quem tem interesse em conhecer, segue os comandos, vai que um dia seja preciso criar um script ou algo do tipo =)

Adicionando alias:

zmprov aaa conta@dominio.com.br alias@dominio.com.br

Adicionando Canonical:

zmprov ma canonical@dominio.com.br zimbraMailCanonicalAddress conta@dominio.com.br

Logwatch

novembro 10, 2011

O Logwatch é mais um utilitário para auxilio na monitoração e criação de reports de logs dos servidores. Sendo assim, como dica estarei mostrando um passo a passo da instalação desta ferramenta.

Atualizando o sistema
já é bem batido, mas é sempre importante esta sempre atualizado.

apt-get update
apt-get upgrade

Instalando Logwatch

Como estamos demostrando a instalação em maquinas debian vamos de apt.

apt-get install logwatch

obs:. É interessante que tenha algum serviço de e-mail configurado, pois assim os reports serão enviados via e-mail.

Configurando

Na configuração precisamos editar o arquivo de configuração do logwatch, no qual encontra-se em /usr/share/logwatch/default.conf/logwatch.conf. No arquivo de configuração iremos alterar as seguintes variaveis Output, Format, MailTo,MailFrom e vamos deixa-la como abaixo:

Output = mail
Format = html
MailTo = sysadmin@mydomain.com
MailFrom = logwatch@mydomain.com

Feitas as devidas configurações e salvas, vamos testar a ferramenta executando o comando:

logwatch

O comando sendo excutado com sucesso e tendo com certo que se possui um serviço de entrega de mensagens funcionando corretamente, é possível verificar no e-mails o report gerado.

Crontab

A configuração do crontab é importante para que vire uma rotina a criação dos reports, sendo assim vamos adicionar a seguinte linha:

# Logwatch
0 1  * * *          /usr/sbin/logwatch

Mais uma pra guardar..

Instalando Joomla no Debian Lenny.

julho 6, 2011

Nos últimos dias foi solicitado por um cliente a criação de uma maquina com o joomla, então resolvi documentar os passos básicos desta instalação.

Ambiente LAMP
O ambiente LAMP é a abreviação de Linux,Apache,Mysql,PHP|Perl|python, este é um otimo ambiente para trabalhar com um servidor Web de baixo custo.

Instalando pacotes necessários

apt-get install apache2 mysql-server-5.0 mysql-client-5.0 php5 php5-mysql unzip

Obs:. durante a instalando será pedido uma senha de root para o banco mysql

Configurando o Mysql
É preciso fazer algumas configurações no Mysql, tais como, criar base de dados, criar usuário e suas permissões.

Criando base de dados para o joomla

mysqladmin -u root -p create joomla

Criando usuário para administração da base de dados joomla

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER,\
CREATE TEMPORARY TABLES, LOCK TABLES ON joomla.* TO 'admin'@'localhost' \
IDENTIFIED BY '123456';

Instalando o joomla
Na instalação do Joomla vamos acessar a pagina do Joomla em joomla.org e baixar a ultima versão, no momento em que escrevo este post a ultima versão disponível é a Joomla_1.6.4-Stable-Full.

Criando diretório
Vamos criar o diretório para o Joomla.

cd /var/www/
mkdir -m 0755 joomla
cd joomla

Realizando download do joomla e descompactando
Como comentado anteriormente estamos usando a ultima versão disponível na data deste post.

wget http://joomlacode.org/gf/download/frsrelease/15063/65933/Joomla_1.6.4-Stable-Full_Package.zip

Restrigindo acesso
É importante manter o mínimo de segurança então estarei restringindo o acesso aos diretórios e revendo suas permissões.

chown -R root:root /var/www/joomla
cd /var/www/joomla
PLACES='
administrator/components
administrator/modules
administrator/templates
cache
components
images
images/banners
language
media
modules
templates
'
for i in $PLACES; do chown -R www-data:www-data $i; done
find /var/www/joomla -type f -exec chmod 0644 {} \;
find /var/www/joomla -type d -exec chmod 0755 {} \;

Finalizando
Depois de realizado os procedimentos acima basta acessar o endereço http://localhost/joomla e configurar de acordo com suas necessidades.
Apos finalizar a configuração remover o diretório de instalação para evitar futuros problemas

rm -rf /var/www/joomla/installation/

Como já foi dito isto é apenas um documento básico de instalação do Joomla Baseado na documentação fornecida pela própria entidade. Vale ressaltar o quanto é importante um servidor Web ser realizado algumas configurações de segurança, nas quais não serão mostrados neste documento.

ACLs Linux

fevereiro 23, 2011

ACLs

Uma Alternativa ao controle de acesso a diretórios e arquivos é a criação de Acls, sendo assim estarei fazendo um pequeno resumo das funcionalidades das acls, lembre-se que é apenas um resumo, podendo ser melhor consultado em man pages e documentos oficiais da ferramenta.

A Red Hat e seus derivados por padrão incluem as funções de acl no sistema de arquivos durante a instalação.
Caso não venha instalado em seu sistema, basta instalar o pacote “acl” através do gerenciador de pacotes de sua distribuição Linux. Vamos aos exemplos do uso das acls.

Verificando a existência de acls no sistema de arquivos

Pode-se verificar a existência de acl em um sistema de arquivos através com tune2fs, como mostrado abaixo:

tune2fs -l /dev/hda1 | grep options

Caso tenha criado um sistema de arquivos após a instalação, podemos ativa-la como abaixo;

tune2fs /dev/hda2 -o acl

Criando acls

setfacl -m u:usuario:rw /opt/teste.txt

Obs:. Observe que foi setada a acl dando permissão de leitura e escrita ao usuário “usuario” ao arquivo teste.txt.

Podemos ainda criar uma acl padrão para um diretorio, assim todos os arquivos e sub-diretorios criados dentro deste terá as mesmas politicas aplicadas ao diretorio principal. segue um exemplo:

setfacl -m d:u:usuario:rw /opt/TI/

Obs:. com a acl acima, apenas o usuário “usuario” terá permissão de leitura e escrita no diretório /opt/TI/ e apenas ele podendo criar sub-diretorios e arquivos.

Verificando ACLs em arquivos e diretórios

É possível verificar as acls em arquivos e diretórios com o comando getfacl, como abaixo:

getfacl /opt/TI
# file: /opt/TI
# owner: root
# group: root
user::rwx
user:usuario:rw-
group::rwx
mask::rwx
other::rwx

Removendo acls

Para remover todas as acls é bastante simples, como mostrado abaixo:

setfacl -b  /opt/TI/

Para remover as acls de apenas um usuário basta seguir o exemplo:

setfacl -x -u:usuario /opt/TI/

Restringindo Shutdown

outubro 20, 2010

Restringindo o Shutdown

Geralmente quando estamos fazendo o Hardening de nossos servidores, removemos a opção de uso da combinação de teclas CRTL+ALT+DEL que é usada para dar shutdown na maquina. Mas também em alguns caso precisamos deixar alguns usuário com esta permissão então vamos permitir apenas estes usuários para uso desta função.

Dentro do arquivo /etc/inittab temos a linha:

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Obs:. Esta linha está permitindo o shutdown com a combinação de teclas CRTL+ALT+DEL, geralmente comentamos ela para desabilitar por completo.

Exite a opção -a na qual irá fazer referência ao arquivo /etc/shutdown.allow, sendo assim vamos adiciona-la, alterando a linha deixando como abaixo:

ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now

Agora temos que criar o arquivo /etc/shutdown.allow:

touch /etc/shutdown.allow

Dentro vamos colocar os usuário que terão permissão de dar shutdown:

vi /etc/shutdown.allow
#usuário com permissão
chico

Obs:. Agora apenas chico terá permissão de usar a combinação de teclas para shutdown.

vsftpd

outubro 8, 2010

vsftpd – Very Secure FTP Daemon

Um dos principais protocolos para transferências de dados é o FTP (File Transfer Protocol), tem como característica a transferência confiável de dados. O ftp pode ser classificado como ativo e passivo:

ftp passivo

No ftp passivo a conexão é feita através da porta 21, onde por ela também será gerênciado os comandos utilizados no servidor. O nome passivo é justamente pelo fato de não existir uma porta específica para gerência no tráfego de dados, o servidor fica no aguardo do cliente solicitar o tráfego dos dados por uma porta informada pelo próprio cliente.

ftp ativo

O modo ftp ativo a conexão é feita através da porta 21 do servidor, onde por ela também será gerenciado os comandos utilizados no servidor, também será usada a porta 20 para gerencia dos dados trafegados.

Neste resumo vou configurar um servidor ftp vsftpd basico.

Instalando

yum install vsftpd -y

Após instalado temos os seguintes arquivos principais:

/etc/init.d/vsftpd No qual será usado para inicialização e paralização do serviço.
/etc/vsftpd/vsftpd.conf sendo o arquivo de configuração principal.
/etc/vsftpd/ftpusers arquivo no qual será informado os usuários que não terão permissões de acesso.(Geralmente estarão listados usuarios como root).
/etc/vsftpd/user_list Neste arquivo estão os usuário que poderão ou não acessar o ftp.

Configurando

No arquivo vsftpd.conf faremos as seguintes alterações:

Vamos tirar a permissão para autenticação anônima mudando

anonymous_enable=YES

para

anonymous_enable=NO

Vamos Força o usuário a permanecer apenas em seu home adicionando a seguinte linha

chroot_local_user=YES

Colocaremos uma banner alterando a variável abaixo para

ftpd_banner= TESTE FTP service.

Vamos retringir o acesso apenas aos usuários autorizados adicionando as seguintes linhas:

userlist_file=/etc/vsftpd/user_list #informa o arquivo onde será listado os usuário com ou sem acesso.
userlist_enable=YES #Aqui será habilitado o uso da lista de acesso.
userlist_deny=NO #Aqui com a variavel habilitada pra NO ele só permitirá o acesso aos usuários listados dentro do arquivo user_list

Onde:
userlist_file=/etc/vsftpd/user_list Será informado o arquivo onde será listado os usuário com ou sem acesso.
userlist_enable=YES Será habilitado o uso da lista de acesso.
userlist_deny=NO Com a variavel habilitada pra NO ele só permitirá o acesso aos usuários listados dentro do arquivo user_list

Com a configuração basica feita,vamos criar o arquivo user_list dentro do diretório /etc/vsftpd/

touch /etc/vsftpd/user_list

Agora que estamos com uma configuração bastante simples pronta, vamos adicionar um usuário e da suas devidas permissões:

useradd ftpuser2 --shell /sbin/nologin
passwd ftpuser2

E então adiciona-lo na lista de acesso ao ftp.

echo ftpuser2 >> /etc/vsftpd/user_list

Acessando o FTP
Agora basta ir no nagevador e digitar o endereço do seu servidor da seguinte forma.

ftp://192.168.0.1

NFS – Network File System

setembro 20, 2010

NFS – Network File System

Revisando Red Hat

Os sistemas linux utilizam do nfs(Network File System) para compartilhar de arquivos via rede. Estarei descrevendo um pequeno resumo da configuração de um servidor nfs em sistemas baseados em Red Hat.

Instalação

vamos instalar os seguintes pacotes:

#yum install nfs-utils.i386 nfs-utils-lib.i386 portmap.i386

Configurando o Servidor NFS
O diretório /etc/exports irá controlar os diretório no qual serão exportados, ou seja, onde será adicionado os compartilhamentos e quem terá acesso. como o exemplo abaixo:

#vim /etc/exports
/tempo		192.168.0.2(rw,sync)

Obs.: Observe que informei o diretório e o endereço ip que terá acesso ao mesmo,entre parênteses estão suas permissões e a função sync para sincronismo, como existe o async. é aconselhado utilizar o comando sync pois assim as alteração são imediatamente inseridas no disco.

Obs2.: O rw quer dizer leitura/escrita ,ou seja, será permitido ler e escrever no diretório, pode-se também usar o ro,que dizer, apenas leitura.

Fazendo o NFS ler os arquivos de configuração

#service nfs reload

Obs.:É necessário sempre que for feita alteração no arquivo de configuração usar este comando.

Configurando o cliente
Primeiro vamos instalar o pacote seguinte:

yum install nfs-utils.i386

Criando diretório onde será exposto os arquivos

#mkdir /mnt/teste

Montando o sistema de arquivos

#mount -t nfs 192.168.0.1:/tempo /mnt/teste

com o comando mount podemos ver se foi criado corretamente, irá aparecer algo como abaixo:

#mount
#192.168.0.1:/tempo on /mnt/teste type nfs (rw,addr=192.168.0.1)

Agora o diretório /tempo que está na maquina 192.168.0.1 ficará com o compartilhamento diponível para a maquina 192.168.0.2
Isso é mais um pequeno resumo.O comando “man exportfs” também ajudará.

TCP Wrappers

setembro 14, 2010

TCP Wrappers

Uma das melhores formas de se ter controle de acesso aos serviços de rede é com o “TCP wrappers”, funcionando como uma barreira dizendo quais hosts terão ou não acesso aos serviços de rede.

O TCP Wrapper utiliza dos arquivos /etc/hosts.allow e /etc/hosts.deny , onde os mesmos são consultados nesta ordem para determinar se um determinado host tem ou não acesso ao serviço desejado(Caso um host esteja liberado no allow e negado no deny,o allow prevalece por ser checado primeiro).

O arquivo de configuração do TCP Wrappers tem o formato seguinte abaixo:

lista-de-daemons: lista-de-clientes [: opção:opção : ...]

E os seguintes Curingas

ALL - Corresponde a tudo.
LOCAL - Qualquer host que não um ponto(.). Por exemplo localhost
KNOWN - Qualquer host onde usuário e endereço do host é conhecido.
UNKNOWN - Qualquer host onde usuário e endereço do host não é conhecido.
PARANOID - Qualquer host onde o nome de host não corresponde ao endereço do host.

Exemplos de configuração

Negando acesso à todos os serciços a um determinado host

vim /etc/hosts.deny
ALL: 10.10.10.10

Negando acesso ssh a uma faixa de ips

vim /etc/hosts.deny
sshd: 192.168.0.

Permitindo acesso de um host ao ssh

vim /etc/hosts.allow
sshd:192.168.0.2

Fazendo um backup das configurações de rede

setembro 13, 2010

Revisando Red Hat

Algumas vezes precisamos fazer uma migração nos servidores, e a configuração de rede é umas das coisas que temos sempre que está mantendo. No Red Hat e derivados podemos fazer esse backup de forma rapida e simples. Como abaixo:

Exportando configuração

system-config-network-cmd -e > /tmp/networkconf

Obs.: A opção -e de export, assim exportando a configuração.

Importando configuração

system-config-network-cmd -i -c -f /tmp/networkconf

Obs.: As opções são as seguintes -i import , -c clear , -f file este ultimo é para informar que será importado por um arquivo.

Com o comando system-config-network-cmd –help você terá outras opções.

Resumo RPM

setembro 8, 2010

Revisando Red Hat
rpm

Distribuições baseadas em Red Hat, utilizam um sistema de empacotamento chamado de RPM Package Manager, o RPM é distribuido sob a GPL, e é bastante usado, tendo como principais funções a instalação,atualização,consulta e remoção de pacotes. podemos encontrar mais detalhado as funções do rpm com o comando abaixo:

rpm --help

Agora vou descrever suas principais funções.

Instalando pacotes

na instalação podemos usar os seguintes comandos:

rpm -U pacote.rpm
rpm -i pacote.rpm

Obs:. A diferença é que o -U tanto instala, como atualiza os arquivos mantendo a configuração atual encontrada no sistema, já o -i apenas instala o pacote.

Dependências

Durante a instalação de um pacote, é possível que apareça algum problema de um pacote depender de outro para instalação. Por Exemplo:

instalando o pacote “pacote1″

rpm -Uvh pacote.1.rpm
error: Failed dependencies:
        pacote.2 is needed by pacote.1
Suggested resolutions:
	pacote2.rpm

Como Solução instalamos os dois pacotes:

rpm -Uvh pacote.1.rpm pacote.2.rpm

No caso do proprio sistema nao informar nenhuma sugestão de pacote, você mesmo pode procurar pelo pacote necessário com o comando abaixo:

rpm -q --redhatprovides pacote.2

Se o pacote ja estiver instalado você irá força a instalação sem a dependência:

rpm -Uvh --nodeps pacote.1.rpm

Buscando pacotes

O RPM possui uma base de dados com todos os pacotes instalados em seu sistema em /var/lib/rpm, assim sendo possível descobrir se um pacote esta instalado ou não.

Exemplo:

rpm -q pacote1

listando todos pacotes instalados:

rpm -qa

Removendo pacotes
Para desisntalar um programa também é bastante simples, como o exemplo abaixo:

rpm -e pacote.1

Existem varias maneiras de se usar o rpm, como falei anteriormente com o comando rpm –help você terá vários parâmetros para testar, aqui é apenas mais um pequeno resumo. =)

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.