sexta-feira, 24 de outubro de 2008

Windows - Usando o comando NET (Configurando Manualmente)

NET.exe

The NET Command is used to manage network security resources as follows:

View user account password and logon requirements (also displays the machine type - NT Server or NT workstation)
NET ACCOUNTS

View password and logon requirements for the network domain.
NET ACCOUNTS /DOMAIN

Set the number of minutes a user has before being forced to log off when the account expires or valid logon hours expire
NET ACCOUNTS /FORCELOGOFF:minutes /DOMAIN

Prevent forced logoff when user accounts expire
NET ACCOUNTS /FORCELOGOFF:NO /DOMAIN

Set the minimum number of characters for a password.
NET ACCOUNTS /MINPWLEN:C /DOMAIN
The range is 0-14 characters; the default is 6 characters.

Set the maximum number of days that a password is valid.
NET ACCOUNTS /MAXPWAGE:dd /DOMAIN
The range is 1-49710; the default is 90 days.

Set passwords to never expire.
NET ACCOUNTS /MAXPWAGE:UNLIMITED /DOMAIN

Set a minimum number of days that must pass before a user can change a password (default = 0)
NET ACCOUNTS /MINPWAGE:dd /DOMAIN

Require that new passwords be different from 'x' number of previous passwords
NET ACCOUNTS /UNIQUEPW:x /DOMAIN
The range for 'x' is 1-24

Synchoronise the user accounts database (PDC and BDC)
NET ACCOUNTS /SYNC /DOMAIN

View user account details
NET USER [/DOMAIN]

Add a user account.
NET USER username {password | *} /ADD [options] [/DOMAIN]

Modify a user account.
NET USER [username [password | *] [options]] [/DOMAIN]

Delete a username
NET USER username [/DELETE] [/DOMAIN]

Add a Workgroup
NET GROUP groupname /ADD [/COMMENT:"text"] [/DOMAIN]

Edit a workgroup
NET GROUP [groupname [/COMMENT:"text"]] [/DOMAIN]

Delete a group
NET GROUP groupname /DELETE [/DOMAIN]

Add a user to a group
NET GROUP groupname username [...] /ADD [/DOMAIN]

Delete a user from a group
NET GROUP groupname username [...] /DELETE [/DOMAIN]

To View, Add or modify a local workgroup replace GROUP in the commands above with LOCALGROUP.

Examples

Create a group
C:\>NET LOCALGROUP spud /add

Add to guests
C:\>NET LOCALGROUP guests spud /add

Then remove
C:\>NET LOCALGROUP guests spud /delete
C:\>NET LOCALGROUP spud /delete

-----------------------------------------------------------------
Créditos:
Retirado do site: http://www.ss64.com/nt/net_useradmin.html
-----------------------------------------------------------------

Instalando o Ubuntu pelo Pendrive

Encontrei um programa chamado UNetbootin, que transfere a imagem (ISO) da distribuição Linux que você quer para o pendrive e cria um menu que permite bootar como se fosse do CD. Então, os simples passos para bootar e instalar a partir do pendrive são:
  1. Baixe a imagem da sua distribuição (.iso)
  2. Baixe o UNetbootin em http://unetbootin.sourceforge.net/
  3. Execute o mesmo e sete a distribuição e a localização da imagem como na figura e clique ok (vai demorar um pouquinho):
  4. Reinicie o computador, lembrando de setar na BIOS que ele deve bootar do pendrive!
  5. Agora, é só seguir como de costume.
Créditos para: Juliano M Martins
http://jmmwrite.wordpress.com/2008/10/17/instalando-o-ubuntu-pelo-pendrive/

quarta-feira, 15 de outubro de 2008

LINUX - BUSCA COM EXECUÇÃO

Veja como utilizar o comando de busca e executá algo em seguida, um exemplo bem interessante:
find /etc –name *.conf –exec ls –l {}\;

O comando locate é mais rápido, mas necessita que o banco de dados esteja atualizado. Utilize o comando updatedb para atualizar a base de dados do comando locate.

Outros Exemplos interessantes:
find / -name *.txt –exec cp {} /tmp \;
find / -name *.txt –exec rm –f {} \;

grep –l root /etc/* -> ver quais os arquivos contém a informação desejada.
whereis mv -> procura a documentação de um determinado comando
which mv -> Procura por um determinado comando.

LINUX - RODANDO PROCESSOS EM BACKGROUND

Executar processos em background, é bastante simples, basta você adicionar o caractere & ao final do comando.

Veja um exemplo de como redirecionar as mensagens gravadas pelo log do sistema, enviando-as para um determinado terminal.
tail –f /var/log/messages > /dev/tty12 &

Utilize o arquivo /etc/rc.d/rc.local para adicionar comandos que você queira que sejam executados todas as vezes que o computador for reiniciado.

OBS: O comando TAIL mostra as 10 últimas linhas de um arquivo e o comando HEAD mostra as primeiras 10 linhas de um arquivo, veja os exemplos abaixo:

tail –f –n 40 /var/log/messages | nl
head –f –n 40 /var/log/messages | nl

LINUX - TRABALHANDO COM O HISTÓRICO

Você poderá trabalhar também com o arquivo /home/usuário/.bash_history, use o comando abaixo:
cat /root/.bash_hostory | nl

Com o comando acima, você verá a relação de comandos que o usuário root executou, mostra os últimos 1000 comandos definidos na variável HISTSIZE=1000 (do arquivo /etc/profile).

Você poderá utilizar também o comando history que tem o mesmo efeito do comando acima.
Atenção, você poderá executar qualquer comando registrado em seu arquivo
/home/usuario/.bash_history, basta digitar o seguinte comando:
! -> Executa o comando número xxx do histórico do usuário.

terça-feira, 14 de outubro de 2008

LINUX - DICAS DO /ETC/PROFILE

O arquivo profile, é um arquivo onde serão inserido as variáveis que poderão ser utilizadas pelo shell, veja alguns exemplos:
Linux=principal_so -> isto é uma atribuição para o shell
Linux= principal_so -> neste caso não irá funcionar por causa do espaço em branco entre o igual e o conteúdo da variável.
set -> comando para visualizar as variáveis de ambiente
env -> mostra as variáveis de ambiente após o uso do comando export

Todas as declarações de variáveis de ambiente, devem ser inseridas dentro do arquivo /etc/profile, veja um exemplo interessante para a variável PS1:
PS1=’[\u@`/bin/pwd`]\$’ -> colocar um prompt personalizado.
PATH=$PATH:/novodiretorio/ -> coloca um novo diretório no PATH

A ordem de execução das configurações no Login do usuário:
/home/usuario/.bash_profile-> é apartir deste arquivo que é feito todas as outras chamadas.

LINUX - DICAS DO /ETC/BASHRC

Normalmente encontramos aliases definido no arquivo /etc/bashrc, e quando executamos tais comandos, estes são submetidos aos aliases, para você executar um comando sem ter que passar pelos aliases definidos no /etc/bashrc, você deverá utilizar a “\” (contra barra).

Um exemplo clássico deste é o uso do comando ls. Quando você utiliza o ls, na verdade está sendo executado da seguinte forma ls –-color como foi definido no arquivo /etc/bashrc, para ser executado o ls puramente, você deverá executar o comando da seguinte forma: \ls desta forma não será passado pelo alias definido em /etc/bashrc.

segunda-feira, 13 de outubro de 2008

LINUX - CHECAGEM E VERIFICAÇÃO DE FILE SYSTEM

Para iniciar-mos a verificação de uma file system, inicialmente devemos saber em que nível nos encontramos no sistema operacional, para isso, execute o comando runlevel para que você saiba em que nível se encontra atualmente.
Digite agora init 1 para reinicializar a máquina no modo single.
Desmonte a partição que será checada, em nosso caso /usr, utilize o comando umount /usr
Execute agora o utilitário de verificação:
fsck –f –C –a /dev/hda3 note que /dev/hda3 é o nosso device para o ponto de montagem /usr
Após a conclusão, execute init 3, para o Linux recarregar o sistema operacional.

Dicas do Editor VI (VIM)

:set nu
Numera as linhas do arquivo

:set nonu
Cancela a numeração das linhas

Q:
Mostra os históricos dos comandos digitados no arquivo aberto, selecione um comando e pressione ENTER para executá-lo.

:1,$s/linux/teste/
:1,$/linux/teste/g
Localiza e substitui as ocorrências dentro do arquivo.

:split arquivo
abre outro arquivo na mesma tela, utilize ^ww para mudar de um arquivo para outro.

:g/^/s//teste/g
insere em todas as linhas, no começo, a palavra teste.

^ Início das linhas do arquivo editado.
$ Final das linhas do arquivo editado.

COMO RECUPERAR SENHAS DO ROOT NO MYSQL

Primeiro mate o processo do mysql (não utilize a opção -9):
# killall mysqld

Agora inicie o MySQL em modo seguro (safe mode):
# safe_mysqld --skip-grant-tables &

Ou

# /usr/bin/safe_mysqld --skip-grant-tables &

Agora conecte-se ao servidor MySQL usando o cliente do mysql:
# mysql

Ou
# /usr/bin/mysql

Após conectar-se ao servidor MySQL, acesse o banco MySQL, digitando:
> use mysql;

Agora vamos definir a nova senha para o usuário root do MySQL:
> update user set password = password('digite sua nova senha aqui') where user='root' and host='localhost';

Ah, e não esqueça de recarregar os privilégios, digitando:
> flush privileges;

Agora você poder sair do cliente do MySQL, digite:
> quit

Agora vamos desligar o modo de segurança do MySQL, execute:
# /etc/init.d/mysqld stop

E enfim, vamos iniciar o MySQL com a nova senha de root:
# /etc/init.d/mysqld start

Bom, é isso, espero que minha dica seja de grande valor para todos.
Abraço e boa sorte =)

OUTRA DICA - TAMBEM É VÁLIDA

Algumas vezes você precisa recuperar sua senha de root do MySQL que você esqueceu ou foi perdida por algum motivo. Os passos para criar outra são os seguintes:

Páre normalmente o servidor MySQL:

# /etc/init.d/mysqld stop

Inicie o MySQL em modo seguro com o comando mysqld_safe e especifique para não ler as tabelas de permissões com todas as senhas do MySQL. Dependendo da versão, o comando pode ser safe_mysqld.

# mysqld_safe --skip-grant-tables &

Use o comando mysqladmin para mudar a senha. Neste caso, a senha será "swordfish".

# mysqladmin -u root flush-privileges password "swordfish"

Reinicie o MySQL normalmente.

# /etc/init.d/mysqld restart

O usuário root agora tem uma nova senha e você já pode voltar a administrar seu banco de dados.

Obs: Este tutorial não é meu, e não sei de onde peguei, caso alguém saiba, favor me dica para que eu coloque os devidos créditos. Abraço!

Sequência do Cabo UTP - PADRÃO 568-A


Sequência de cores a seguir para montagem de cabo de rede.


CABO PAR-TRANÇADO - PADRÃO 568-A
1 - Branco / Verde
2 - Verde
3 - Branco / Laranja
4 - Azul
5 - Branco / Azul
6 - Laranja
7 - Branco / Marrom
8 - Marrom
O padrão 568-A e utilizado para crimpagem de cabo UTP,
para conexão de micro a switch/hub/roteador, este padrão
não serve para conectar dois computadores (ponto-a-ponto).

quinta-feira, 9 de outubro de 2008

Como Bloquear o ULTRA-SURF


O processo foi realizado com sucesso, estou utilizando um servidor linux Debian instaldo.

1º Passo – Instalar o tcpdump (Sniffer)


apt-get install tcpdump


2º Passo – Instar o Snort (IDS)


apt-get install snort


3º Passo - vamos configurar a regra de identificação do
Ultra-Surf: Edite o arquivo dns.rules


vi /etc/snort/rules/dns.rules


Agora, adiciona a seguinte regra (lembrando que é tudo numa
única linha):


alert udp $HOME_NET any -> !$HOME_NET 53 (msg: "[OSSEC] Consulta de DNS Externo Possivel Ultrasurf"; content:"|00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00|"; classtype: policy-violation;threshold:type limit, track by_src, count 1, seconds 5; sid:1000059; rev:2;)


Salve o arquivo, reinicie o serviço:


/etc/init.d/snort stop


/etc/init.d/snort start


4º Passo – Instalar o OSSEC (HIDS)


Acesse o site: http://www.ossec.net/main/downloads, e baixe o arquivo: ossec-hids-1.6.1.tar.gz

ou


wget http://www.ossec.net/files/ossec-hids-1.6.1.tar.gz


Descompacte o arquivo baixado e acesse a pasta onde foi descompactado:


tar xvzf ossec-hids-1.6.1.tar.gz


cd ossec-hids-1.6.1


Agora, execute o instalador do hids:


./install.sh


No caso atual, pretende-se bloquear o Ultra-Surf, então, não vamos configurar os análises dos diversos logs, vamos nos ater apenas aos logs do snort.


Parâmetros da Instalação do OSSEC


Idioma: BR

Tipo de instalação: LOCAL

Envia Email: NÃO

Verificação de Integridade: NÃO

Detecção de rootkits: NÃO

Respostas Automáticas: SIM


Após a conclusão do OSSEC, você receberá a seguinte mensagem:


- Para iniciar o OSSEC HIDS:

/var/ossec/bin/ossec-control start


- Para parar o OSSEC HIDS:

/var/ossec/bin/ossec-control stop


5º Passo – Configurando o OSSEC (HIDS)


Edit o arquivo de configuração do ossec.


vi /var/ossec/etc/ossec.conf


O meu arquivo ficou assim, note que houve algumas modifficações no arquivo original, para adequar as minhas necessidades.


<ossec_config>

<global>
<email_notification>no</email_notification>
</global>

<rules>
<include>rules_config.xml</include>
<include>pam_rules.xml</include>
<include>sshd_rules.xml</include>
<include>telnetd_rules.xml</include>

<include>syslog_rules.xml</include>
<include>arpwatch_rules.xml</include>
<include>symantec-av_rules.xml</include>
<include>symantec-ws_rules.xml</include>
<include>pix_rules.xml</include>
<include>named_rules.xml</include>
<include>smbd_rules.xml</include>
<include>vsftpd_rules.xml</include>
<include>pureftpd_rules.xml</include>
<include>proftpd_rules.xml</include>

<include>ms_ftpd_rules.xml</include>

<include>ftpd_rules.xml</include>

<include>hordeimp_rules.xml</include>
<include>vpopmail_rules.xml</include>
<include>vmpop3d_rules.xml</include>
<include>courier_rules.xml</include>

<include>web_rules.xml</include>

<include>apache_rules.xml</include>
<include>mysql_rules.xml</include>
<include>postgresql_rules.xml</include>
<include>ids_rules.xml</include>
<include>squid_rules.xml</include>
<include>firewall_rules.xml</include>
<include>cisco-ios_rules.xml</include>
<include>netscreenfw_rules.xml</include>
<include>sonicwall_rules.xml</include>
<include>postfix_rules.xml</include>
<include>sendmail_rules.xml</include>
<include>imapd_rules.xml</include>
<include>mailscanner_rules.xml</include>
<include>ms-exchange_rules.xml</include>
<include>racoon_rules.xml</include>
<include>vpn_concentrator_rules.xml</include>
<include>spamd_rules.xml</include>
<include>msauth_rules.xml</include>
<include>mcafee_av_rules.xml</include>
<!--<include>policy_rules.xml</include> -->
<include>zeus_rules.xml</include>
<include>solaris_bsm_rules.xml</include>
<include>vmware_rules.xml</include>
<include>ossec_rules.xml</include>
<include>attack_rules.xml</include>
<include>local_rules.xml</include>
</rules>
<global>


<white_list>127.0.0.1</white_list>

<white_list>^localhost.localdomain$</white_list>
<white_list>200.165.132.155</white_list>
<white_list>200.149.55.140</white_list>
</global>

<alerts>
<log_alert_level>1</log_alert_level>
</alerts>

<command>
<name>host-deny</name>
<executable>host-deny.sh</executable>
<expect>srcip</expect>
<timeout_allowed>yes</timeout_allowed>
</command>

<command>
<name>firewall-drop</name>
<executable>firewall-drop.sh</executable>
<expect>srcip</expect>
<timeout_allowed>yes</timeout_allowed>
</command>

<!-- Active Response Config -->
<active-response>
<!-- This response is going to execute the host-deny
- command for every event that fires a rule with- level (severity) >= 6.
- The IP is going to be blocked for 600 seconds.-->
<command>host-deny</command>
<location>local</location>
<level>6</level>
<timeout>60</timeout>
</active-response>

<active-response>
<!-- Firewall Drop response. Block the IP for
- 600 seconds on the firewall (iptables, - ipfilter, etc).-->
<command>firewall-drop</command>

<location>local</location>
<level>6</level>
<timeout>60</timeout>
</active-response>
<!-- Files to monitor (localfiles) -->
<localfile>
<log_format>syslog</log_format><location>/var/log/squid/access.log</location>
</localfile>
<localfile>
<log_format>snort-full</log_format>
<location>/var/log/snort/alert</location>
</localfile>
</ossec_config>


OBS: Eu modifiquei basicamente nas tags COMMAND e ACTIVE-RESPONSE


Agora vamos configurar as regras para o ids: Edite o arquivo:


vi /var/ossec/rules/ids_rules.xml


adicione a seguinte regra:


<rule id="1000059" level="10">

<category>ids</category>
<description>Utilizacao do UltraSurf.</description>
</rule>

Salve o arquivo e vamos editar as regras de punição para os infratores:

vi /var/ossec/active-response/bin/firewall-drop.sh


Localize as duas linhas abaixo:


ARG1="-I INPUT -s ${IP} -j DROP"

ARG2="-I FORWARD -s ${IP} -j DROP"


E substitua por:


ARG1="-I INPUT -s ${IP} -p tcp --dport 443 -j DROP"

ARG2="-I FORWARD -s ${IP} -p tcp --dport 443 -j DROP"


Localize as duas linhas abaixo:


ARG1="-D INPUT -s ${IP} -j DROP"

ARG2="-D FORWARD -s ${IP} -j DROP"


E substitua por:


ARG1="-D INPUT -s ${IP} -p tcp --dport 443 -j DROP"

ARG2="-D FORWARD -s ${IP} -p tcp --dport 443 -j DROP"


Salve o arquivo, e edite o próximo arquivo de punição:


vi /var/ossec/active-response/bin/host-deny.sh


Localize a linha:


echo "ALL:${IP}" >> /etc/hosts.deny


e Substitua por:


echo "http:${IP}" >> /etc/hosts.deny


Localize a linha:


cat /etc/hosts.deny | grep -v "ALL:${IP}$"> /tmp/hosts.deny.$$


e Substitua por:


cat /etc/hosts.deny | grep -v "http:${IP}$"> /tmp/hosts.deny.$$


Salve o arquivo e inicie o OSSEC


/var/ossec/bin/ossec-control start


OBSERVAÇÔES: Se você fez tudo correto, seu snort e seu ossec estarão trabalhando em conjunto agora, o snort detectará o uso do ultra-surf, e o ossec bloqueará da seguinte forma: criará regras no IPTABLES fechando o acesso ao HTTPS da máquina requisitante, o bloqueio durará 60 segundos, mas lembre-se, o bloqueio será somente HTTPS, o http (web) funcionará normalmente se o usuário desligar o ultra-surf, com isso, você assegurará que o tráfego da máquina cliente não parará sua produção na empresa e ainda deixará o usuário
infrator com uma raiva danada do ultra-surf.


Agradecimentos especiais ao site:

http://listas.cipsga.org.br/pipermail/snort-ids/2008-August/001202.html

pela regra do snort para detectar o uso do ultra surf.




Artur Luís
Tecnólogo em Redes de Computadores