Arquivo da tag: linux

proteger pasta/arquivo contra gravação no linux

Para proteger uma pasta / arquivo no linux, que nem mesmo o root possa gravar (alterar) use o comando:
chattr +i data.txt
onde data.txt é o arquivo ou pasta
para remover a proteção:
chattr +i data.txt
onde data.txt é o arquivo ou pasta

como bloquear netflix na sua rede usando linux

O que ocorre com o netflix é algo semelhante ao facebook, os acessos são realizados utilizando HTTPS (o que dificulta pq não conseguimos bloquear usando proxy/squid). Além disso, para melhorar o desempenho do acesso, ambos os serviços possuem inúmeros servidores distribuídos geograficamente, o que dificulta o bloqueio por regra de firewall (iptables).
A Solução para isto é fixar o endereço IP do netflix (através do serviço de DNS) para que o acesso se de sempre através do mesmo IP, e assim você faça a gerencia de quem pode ou quem não pode acessar, utilizando regras de firewall (iptables)
O Bloqueio exige 3 fases:

1) Fixar o endereço IP do netflix:
se você não possui o bind instalado, vai precisar dele.
configure o arquivo de zonas:
crie e edite o arquivo /etc/bind/netflix.com
insira o seguinte conteúdo:

$TTL 604800
@ IN SOA netflix.com. root.netflix.com. (
2015080405 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS netflix.com.
@ IN A 54.214.42.81
IN MX 5 netflix.com.
* IN A 54.214.42.81

Salve o arquivo.

edite o arquivo de configuração do bind para ativar a zona:
edite : /etc/bind/named.conf , no final adicione:

zone "netflix.com" {
type master;
file "/etc/bind/db.netflix.com";
};

salve e reinicie o bind (/etc/init.d/bind restart)

2)Faça o bloqueio em seu firewall (iptables)
no meu caso, uso o shorewall para fazer o bloqueio , a regra dentro do /etc/shorewall/rules fica:
DROP:info loc net:54.214.42.81 tcp
DROP:info loc net:54.214.42.81 udp

3)Bloqueie o netflix em seu squid/proxy
adicione a url .netflix.com como site bloqueado do seu squid, para bloquear as requisições que serão feitas pela porta 80 (pois estas, não são serão tratadas pelo firewall)

java firefox e banco do brasil no linux

Instale o java:

# apt-get install sun-java6-bin sun-java6-fonts sun-java6-jre sun-java6-plugin

para testar se o java foi corretamente instalada:

# java -version
deve retornar algo do tipo:
java version “1.6.0_26”
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

Se não achar o pacote, edite o arquivo /etc/apt/source.list e descomente a linha de repositorios partner

como no exemplo:

 deb http://archive.canonical.com/ubuntu lucid partner

caso não funcione o site do banco do brasil, execute o procedimento abaixo para fazer o firefox “reconhecer” o java

#  update-alternatives –install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-6-sun/jre/lib/i386/libnpjp2.so 50

se mesmo assim não funcionar, crie um novo perfil no firefox, acessando pelo comando :

$firefox -p

recuperar senha do root

Inicie o computador com um CD do UBUNTU linux.

Ao carregar o ubuntu linux, um ambiente gráfico será apresentado.
Pressione < ALT >+< F2 > , esse é o atalho para executar um comando, abrirá uma tela pedindo o comando que você deseja executar, digite xterm

No terminal que abriu, digite: sudo su –
Esse procedimento é para se tornar root nesse terminal.

Crie uma pasta para posteriormente carregarmos o linux o qual não sabemos a senha:
mkdir /linux

Digite fdisk -l
Para listar os discos rigidos contidos no computador e suas partições

nessa lista procure uma linha com a palavra Linux
como no exemplo abaixo:
/dev/sda1 * 1 14603 117291008 83 Linux
/dev/sda2 14603 51076 292968448 83 Linux
/dev/sda5 51076 51197 976896 82 Linux swap / Solaris

A Linha contendo Linux Swap DEVE SER IGNORADA
Temos então duas opções validas que podem conter nosso sistema linux o qual não sabemos a senha de root.
Na linha de exemplo temos 2 partições validas e uma partição de swap, ignore a partição de swap.
Nas duas opções validas temos a partição /dev/sda1 e /dev/sda2
vamos tentar a primeira:
Digite: mount /dev/sda1 /linux
caso não retorne nenhum erro, digite chroot /linux
caso retorne a msg: “CHROOT cannot rum command ….” , essa partição não é a qual procuramos.
Desmonte a partição e monte a outra:
Digite: umount /linux para desmontar
e mount /dev/sda2 /linux para montar a outra partição
como não temos outras opções de partição, essa deve ser a certa.
Rode o chroot novamente: chroot /linux
não retornando nenhum erro, estamos já apropriados do sistema linux o qual não sabemos a senha, nesse caso basta trocar a senha:
passwd
DIGITE A NOVA SENHA
REPITA A NOVA SENHA.
Reinicie o computador, removendo a midia bootavel.

dicas e comandos para vc usar no terminal

Algumas dicas e comandos para você se sair bem no terminal

cd

cd PASTA ( entra no diretorio/pasta, lembre-se da estrutura de diretórios… )
cd (se digitar apenas cd, você vai para o seu diretório home)
cd – (volta para o diretório que você estava antes)
pwd (mostra o diretório que você esta

df

df -h (mostra as partições montadas, espaço ocupado e espaço livre de cada partição)

du

du -sh (mostra o tamanho da pasta atual)

localizando arquivos

find / -name ARQUIVO (procura apartir do / )
se quiser localizar apenas em algum diretório , altere o / por /SEU_DIRETORIO

Localizando com o comando locate:
primeiro atualize a base de dados de arquivos:
updatedb
depois use o comando locate para localizar o arquivo desejado:
locate ARQUIVO

uptime

uptime (mostra o tempo que sistema esta ligado)

Manipulando processos

ps aux (visualiza todos os processos em execução de todos os usuários)
top -d1 (visualiza o uptime, junto com os processos em execução, vai atualizando de 1 em 1 segundo )
htop ( um top bonitinho, tem que instalar )
kill PID ( PID é o numero do processo, esta na segunda coluna do comando ps aux )
killall processo ( no caso do killall pode usar o nome, exemplo: killall apache2 )

Visualizar hardware

lsusb ( lista dispositivos conectado nas portas USB )
lspci ( lista dispositivos PCI )
cat /proc/sysinfo ( mostra informações sobre CPU e demais itens da placa mãe )
free -m (mostra informações da memoria RAM e SWAP, em Mb )
fdisk -l ( lista dispositivos de armazenamentos, rodar como root ou sudo )

mount

mount -a ( monta dispositivos usando o /etc/fstab, util para quando você altera o fstab e quer testar )

Gerenciamento de pacotes

dpkg -l ( lista pacotes instalados )
dpkg -l |grep palavra ( lista pacotes e filtra e mostra apenas os que contém PALAVRA )
dpkg -i arquivo.deb ( instala pacote .deb )
dpkg -P pacote ( remove pacote e arquivos por ele usado )
dpkg -r pacote ( remove apenas os binários do pacote )

Visualização de arquivos(logs)

tail -f arquivo ( fica acompanhando em tempo real as modificações do arquivo )
tail -n10 (visualiza apenas as ultimas 10 linhas, pode ser combinado com o -f para ficar acompanhando em tempo real)
cat arquivo (visualiza arquivo)
tac arquivo ( visualiza arquivo de de baixo para cima , ao contrario do cat )
Dica:
cat,tac assim como qualquer comando que exiba uma saída, pode ser combinado com:
| wc -l ( conta as linhas )
| wc -w (conta as palavras)
| grep palavra (filtra a palavra)
Exemplo:
delete@delete-notebook:~$ cat /etc/passwd |wc -l
46

ou
delete@delete-notebook:~$ cat /etc/passwd |grep root
root:x:0:0:root:/root:/bin/bash

relogio no linux, ntpdate, date e horário de verão

Acertando o dia:
date -s MM/DD/AAAA

delete@delete-notebook:~# date -s 10/30/2010

Para ajustar a hora no linux com o comando date:
date -s HH:MM:SS ( operação deve ser feita como root ou com o uso do comando sudo )

delete@delete-notebook:~# date -s 09:38:00

OBS: quando acertar o dia, a hora fica zerado, portanto depois acerte a hora. (pode ser feita no mesmo comando).

Bom se você administra servidores vai querer sincronizar a hora deles para não ter que acertar um por um quando chegar o horário de verão:
sincronizando a hora
delete@delete-notebook:~# ntpdate br.pool.ntp.org
Uma boa prática é colocar esse comando na cron

(OBS: se você achar interessante pode criar um servidor NTP para sua rede local e usar ele para que seus servidores/estações sincronizem a data/horário)

Resumindo rapidamente alguns serviços que podem falhar caso seus relógios não estejam sincronizados:
controle de versão de arquivos, analise de logs, estatísticas de acesso, agendamento de tarefas, relatórios etc…etc..

Por muitas vezes um script ou programa agendado, depende de resultados de outro programa ou tarefa. Essa mesma tarefa agendada pode causar problemas e/ou resultados errados se rodado fora de ordem ou hora de horário.
Por isso, cuide de seu relógio, ele é muito importante!

escaneando portas e ips com nmap

Para verificar quais hosts estão ativos na sua rede podemos usar o comando nmap ( se não tiver instalado , apt-get install nmap )
no exemplo abaixo, estamos levando em consideração que o endereço de sua rede é 192.168.0.0 e sua mascara é 255.255.255.0.

delete@delete-notebook:~$ nmap -v -sP 192.168.0.0/24

você pode conferir esses detalhes verificando sua configuração de rede com o comando ifconfig

delete@delete-notebook:~$ ifconfig

Se quiser filtrar a saída desse comando para mostrar apenas o ip e mascara podemos fazer da seguinte maneira:

delete@delete-notebook:~$ ifconfig |grep “inet end”

Verificando portas abertas em um host ( IP )

delete@delete-notebook:~$ nmap -p1-65535 localhost
Onde 1-65535 é o range de portas, no exemplo estamos escaneando TODAS as portas validas, podemos definir um range menor para que o comando seja executado mais rápido.
Substitua localhost pelo IP que deseja escanear , lembrando que esse tipo de pratica pode ser considerada ofensiva por alguns servidores causando assim um bloqueio da comunicação com esse servidor.

O nmap oferece muito mais opções , não deixe de consultar o help total do programa ( nmap –help )

entendendo o load average

Load Average é a média da soma do número de processos aguardando na fila para rodar mais o número atual de processos sendo executados nos últimos 1, 5 e 15 minutos.

load average: 4.20, 3.83, 3.90
(1min) (5min) (15min)

Em um ambiente com multiprocessadores podemos ter muitos serviços somando no load average mas não prejudicando no desempenho da maquina.
O importante ao analisar o load average é saber o peso dos processos, aconselho a usar ferramentas como top e htop para monitorar o uso de memoria e processamento pelos serviços em tempo real.

dica sudo para ubuntu

Se você é um usuário, que como eu, gosta de executar as tarefas rodadas no terminal como root, para evitar de sempre ter que colocar o comando sudo antes do comando a ser executado, ai vai uma dica simples e valiosa 😉

Ao instalar o ubuntu o próprio sistema se encarrega de criar um usuário, no qual você define o nome e senha, que será o usuário você irá logar no sistema. Esse não tem poderes de root, mas tem poder para usar o sudo.

Mas que diabos é o sudo?
(Super-Do)
sudo é um comando que permite usuários normais do linux rodar aplicativos como se estivessem logados como root, é uma solução interessante para segurança já que as demais tarefas são rodadas como usuário normal, evitando que o usuário execute uma tarefa indesejada acidentalmente ( como por exemplo um rm -rf /* ).
Para ter permissão de executar aplicativos usando o sudo, o usuário deve estar dentro de /etc/sudousers (use o comando visudo para edita-lo).
Se você estiver usando o Ubuntu Linux e quer adicionar mais usuários para a permissão de executar o sudo, basta adicionar o usuário no grupo sudo com o comando
#addgroup USUARIO sudo

A grande dica
Ao logar no Ubuntu você pode abrir um terminal ( alt+F2 e digite xterm ) e alterar a senha do root com o comando:
$sudo passwd
lembrando que quando você digita sudo COMANDO , esse comando será executado como root, então, no exemplo a cima, estamos executando o comando passwd como root ( alterando a senha do root )