Arquivos de Tag: Linux

Proteger Diretórios do Apache com Senha …

Na empresa onde trabalho, uso Servidor Samba + Apache interligados, aí exibo os diretórios de Arquivos ou Programas que preciso usar Remotamente.

Mas sempre tive a preocupação com a Segurança desses arquivos e com o alto consumo de Link da Rede. Para isso vamos a pesquisa:

Em um Artigo no Blog de Wagner P. consegui o que precisava:

.

.

.

Entre na pasta do apache que deseja proteger, por exemplo /var/www/pasta_com_senha/

utilize o comando abaixo para criar o arquivo com a senha

# htpasswd -c /var/www/pasta_com_senha/.htpasswd user

Explicando:

/var/www/pasta_com_senha/.htpasswd é o arquivo que armazena a senha, você pode utilizar o nome que quiser porém por questões de segurança sempre o mantenha oculto. Obrigatoriamente ele deve estar na pasta que você deseja proteger.

user é o usuário que vai acessar a pasta, você pode escolher qualquer usuário.

após executar o comando ele vai pedir uma senha, que será a de acesso junto com o usuário user

Agora no arquivo de configuração do Apache 2, /etc/apache2/apache2.conf , adicione o seguinte trecho:

Explicando as últimas linhas:

AuthType Basic É o tipo de autenticação

AuthName “Acesso Restrito: ” É a mensagem que aparece quando pedir a senha

AuthUserFile “/var/www/pasta_com_senha/.htpasswd” É o arquivo que armazena a senha

Require valid-user Essa linha indica que usuário pode acessar, pode trocar valid-user pelo nome do usuário no caso user.

<directory “/var/www/pasta_com_senha/”>
AllowOverride None
Options Indexes MultiViews
Order allow,deny
Allow from all

AuthType Basic
AuthName “Acesso Restrito: ”
AuthUserFile “/var/www/pasta_com_senha/.htpasswd”
Require valid-user </directory>

Agora renicie o apache2

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

E tente acessar sua pasta que você colocou a política de segurança !

Virtualização com Virtual Box

Nos últimos dias tenho dependido muito dessa Solução.

Lembro-me que em 2004 eu tentei usar a Microsoft Machine Virtual, nossa achei fantástico ter um Computador rodando sob outro.

Mas ficou por aquilo, como não era minha necessidade naquela época prossegui.

Chego em 2008 e tenho a necessidade de ter mais computadores a minha disposição na empresa onde eu trabalhava. Aí começemos a acumular Máquinas, alto consumo de Energia, recursos de Hardware enfim … tudo voltou – me á Virtualização.

Foi aí que um amigo me apresentou Virtual Box …

Uma Solução Simples e Eficaz para a minha necessidade.

Na empresa onde trabalho eu necessitava de :

1 – Máquina para Router + NAT + Firewall – Mikrotik

1 – Máquina para VNC – Windows 7

1 – Máquina com LAMP + Proxy + Samba

1 – Máquina para testar Sistemas Operacionais

1 – Máquina para Monitoramento + Uso Diário

Nossa infraestrutura local é pequena, somos empresa de pequeno porte.

Como conseguir sanar minha necessidade, sem gastar muito ?

A minha resposta para isso foi Virtualização //

Me forneceram um Computador Básico :

* AMD Semprom LE 2.0 GHz

* Mobo Asus M4A7B

* VGA GFX 7200 – 256 MB

* HD 320 GB SATA

* 4 Gigabytes Memória RAM

* Monitor LCD  19″

* WebCam 2.0 mpx

Esse foi o meu início de estudo sobre Virtualização.

Como sou usuário iniciante no assunto, instalei o SO Base.

1. Ubuntu Linux Gnome – 9.04 / LAMP / Squid / Samba / Virtualbox modo Graphic

Com isso, aí montei 3 VMs

1 – Mikrotik OS Router – 256 MB – 1 GB Dis

1 – Windows 7 + Ultra VNC + No-IP / 1024 MB / 10 GB Disk

1 – Google Chrome OS – Teste – 1024 MB / 10 GB Disk

Pra configurar esse Parque de Máquinas foi meio chato, porque uso 4 Placas de Redes

E tenho 2 Links

1 – ADSL 4 MB

1 – ADSL 8 MB

Meu Router Load Balance não está funcionando perfeitamente ainda porque uso uma Versão anterior do MK, mas em breve vou migrar meus S.O.s

Na saída de Rede uso :

1 – Hotspot

1 – DHCP Full

Meu Processador é meio limitado ao Nível de Máquinas e como me aprofundei no Tema, e a Oracle comprou a Sun , estou lendo bastante e Pretendo Migrar para XEN …

Só que em Partes, pois pra mim é um assunto novo, e minha Estrutura Atual está Rodando, aí preciso para Migrar, fazer muitos Testes antes e ter a Documentação em mãos.

Aqui fica a minha Dica caso tenha o mesmo problema que eu … Virtualize //

VPN PPTP Server em Ubuntu

Após meses de tentar configurar uma VPN (Server x Client) achei um tutorial no Blog de um Linuxer que foi mão na massa.

http://www.ciberjohn.com/?p=245

Segue Configuração Citada por John Abaixo:

A necessidade por vezes, coloca-nos em frente a coisas que se resolvem de maneira rápida e eficaz. Neste caso, eu preciso de aceder do meu Iphone por VPN a casa por várias razões. A principal é o facto de ter um Draytek 2700V já com dois tuneis IPSEC ligados entre a minha casa e dois escritórios. Como tal, tive de aproveitar o meu servidor caseiro ( Ubuntu 9.04 onde está o zoneminder – dvr do alarme -, maquinas virtuais – ippbx e blueonyx de testes, XBMC, samba etc…) para criar um pequeno servidor PPTP para aceder a casa e consequentemente aos recursos que não quero ter mapeados numa NAT Forward.

Tendo em conta que vão utilizar Ubuntu ( a partir da 7.10 podem usar etes tuturial ) vamos instalar o Poptop, que é um servidor PPTP bem conhecido para linux. Este suporta:

* MSCHAPv2, MPPE 40 – 128 bit RC4 encryption

* Multiplos Cliente

* Integração total com Redes Microsoft ( AD ) utilizando LDAP, SAMBA com um plugin RADIUS

* Funciona com clientes PPTP Windows 95/98/Me/NT/2000/XP/Vista/windows 7/ Iphone etc…

* É gratuito sob licença Geral GNU

* Para instalar e configurar chegam cerca de 2 minutos, os passos são:

# sudo apt-get install pptpd -y

este comando vai instalar o servidor.

Após instalado vamos configurar o servidor para as nossas necessidades, para isso basta editar o ficheiro que está em: /etc/pptpd.conf

# vim /etc/pptpd.conf

Este ficheiro tem o seguinte aspecto:

localip 192.168.101.1 <— THIS IS YOUR SERVER IP

remoteip 192.168.101.200-245 <—- THIS WILL BE THE IP’S FOR THE CLIENTS

Aqui interessa editar as ultimas linhas, que vão definir exactamente qual é o ip do nosso servidor pptp e qual a pull de ips a atribuir a clientes ( no fundo detrminar quantos vão poder-se ligar )

Depois temos de tr atenção ao ficheiro onde serão colocados os utilziadores:

# vim /etc/ppp/chap-secrets

Que é deverá ser configurado desta forma:

# Secrets for authentication using CHAP

# client server secret IP addresses

user pptpd password “*”

No campo IP addresses como entendem, também podemos limitar o acesso a partir de um ip ouuma rede. Neste caso permite ligações de todo o lado “*”

Feito isto basta reiniciar o nosso novo servidor, para tal basta:

# sudo killall pptpd

# sudo pptpd

Se quiserem alterar parametros específicos, que vão desde o nome do servio aos tipos de encriptação permitidos na ligação, está tudo no ficheiro:

/etc/ppp/options.pptpd

E ao fim de menos de dois minutos, temos o nosso servidor VPN PPTP pronto e a correr. Temos agora apenas nos nossos routers certeficar-nos de que:

As portas 1723 e 47 ( ligação e GRE ) estão encaminhadas para o nosso IP interno

Que existe um PassTrough no nosso router para poder encaminhar pedidos de ligação PPTP para dentro da nossa rede (no caso do meu draytek tem de ser ).

Proximos passos agora, pretendo ler sobre OpenVPN

Configurações de Rede

Sempre temos que ter de onde copiar e colar as configurações prontas …

Então aqui vai …

*********************************************************

auto lo eth0 eth1
iface lo inet loopback

#Rede Externa (vamos dizer que seja a rede que você se conecta à internet)
iface eth0 inet static
address 192.168.1.249
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 201.10.120.2 201.10.128.3

#Rede interna (se tiver )
iface eth1 inet static
address 192.169.0.1
netmask 255.255.255.0

********************************************************

Feliz 2010 á todos!!!

Configurações do LAMP!

Apesar de a configuração de Instalação Padrão ser muito fácil, deixarei postado aqui quando eu precisá-las.

Instalação LAMP

#apt-get install apache2 mysql-server-5.0 phpmyadmin php5

Testando:
Em um browser, coloque o IP da máquina:
http://ip.do.servidor
Deve aparecer a palavra It works!. Isso quer dizer que o apache está operacional.

Para testar o PHP e Mysql juntos, use o Phpmyadmin. Lembre-se da senha que você atribuiu na instalação do LAMP. Para acessar coloque:

http://ip.do.servidor/phpmyadmin
usuário: root
senha: a senha que você atribuiu na instalação

Pode Testar o PHP criando um scrip de configuração do PHP em #/var/www/info.php

<?php
phpinfo();
?>

http://ipdoservidor/info.php

E aparecerá os Arquivos de Configuração do LAMP.

Um recurso que acho interessante é esconder as informações do Apache:

#/etc/apache2/conf.d/security

SERVER SIGNATURE: Off

Reinicie o Apache, e OK

Outra coisa é colocar seu e-mail como Adminsitrador do LAMP

#/etc/apache2/sites-available/default

SERVER ADMIN: user@user.com

squid.conf

Após várias e várias tentativas de configurar um Proxy … finalmente hoje fiz um funcionar …

Segue Abaixo as config.

#Proxy by Junior PH

#REGRAS PADRÁO SQUID

http_port 3128
visible_hostname proxy.juniorphy.net
cache_dir ufs /cache 5000 16 256
cache_mem 150 MB
maximum_object_size 256 MB
minimum_object_size 0 KB

#ACLS

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # swat
acl purge method PURGE
acl CONNECT method CONNECT

#direitos de acesso
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge

#BLOQUEIO DE SITES
acl palavrasproibidas dstdom_regex “/etc/squid/palavrasproibidas”
http_access deny palavrasproibidas

acl bloqueados url_regex -i “/etc/squid/bloqueados”
http_access deny bloqueados

#LIBERAÇAO REDE LOCAL
acl redelocal src 10.1.1.0/24
http_access allow localhost
http_access allow redelocal
http_access deny all

#OPCOES ADMINISTRATIVAS
cache_mgr underphy@gmail.com
error_directory /usr/share/squid/errors/Portuguese

Próximo passo agora, seria Limpeza de Cache e Transparent … + Redirecionamento IPTABLES

Enfim … vamos indo devagar ….

Theluhps

Luiz Henrique

Universidade Federal do Paraná

Docente no Ensino Superior

SCI&ORG - Ciência e Organizações

Descomplicando a Ciência da Administração