**João Pessoa, 05 de Novembro de 2023
Aluno: Rodrigo Cavalcanti de Almeida Marinho
P1 Análise e Desenvolvimento de Sistemas
Faculdade: Estácio de Sá
Professor: Edson Belém**
* **TRABALHO SOBRE ARQUITETURA TCP/IP**
Este trabalho consiste na exemplificação dos temas abordados na matéria sobre a arquitetura TCP/IP no entendimento assim me assimilado. Lembrando que a matéria redes é muito ampla então focarei apenas nos assuntos abordados no curso.
### ***CAMADA APRESENTAÇÃO***
* ***Protocolo HTTP***
Protocolo de transferência de Hipertexto a função deste protocolo é transferir páginas web do servidor para o navegador. Este protocolo possui criptografia limitada fazendo com que atualmente venha a ser usado de forma não segura, recomendado usar este protocolo junto com uma VPN ou utilizar o protocolo seguro HTTPS.
Exemplo:

Este site está utilizando protocolo HTTP, portanto é um site no qual não devemos confiar em colocar informações importantes uma vez que a comunicação entre o servidor e o cliente não é segura. Faltando criptografia. Ressalto que a porta padrão do protocolo http é a 80.
* ***Protocolo HTTPS***
Protocolo de Transferência de hipertexto segura, este protocolo hoje amplamente usado possui criptografia na comunicação entre o servidor web e o navegador, trazendo assim a confiabilidade que a informação ali transmitida chegara ao seu destino evitando que terceiros manipulem as informações trocadas entre o site e o usuário:
Exemplo:

Site do google, possui criptografia que garantem que suas informações permaneceram privadas mesmo enviado para seus servidores. Ressalto que a porta padrão do protocolo https é a 443.
• ***PROTOCOLO FTP***
O protocolo de transferência de arquivos, este protocolo permite que usuários autorizados possam realizar a transferência de arquivos em um servidor que armazena dados. Seu padrão de é a 21.
Exemplo:

Neste exemplo realizamos uma conexão entre um cliente (meu computador) para um servidor FTP, note que antes da conexão ser feita é estabelecida uma comunicação de autenticação entre meu computador e o servidor. Neste caso houve realizado a identificação do usuário o servidor permitiu o acesso ao diretório.
• ***PROTOCOLO SMTP***
O Protocolo de transferência de Correio Simples, este protocolo é bem antigo, seu início de operação data do ano de 1980, claro que de lá para cá este protocolo vem passando por constantes evolução sendo hoje um dos protocolos mais usado no mudo este protocolo tem como referência o envio da mensagem, para o recebimento é necessário protocolos de recepção tais como POP e IMAP ambos os protocolos têm suas próprias características para o proposito final. Assim como aconteceu com o protocolo HTTP o SMTP também precisou ter um acesso seguro e para isso surgiu a necessidade de implementar camadas de criptografias em seu serviço. Seu porta padrão antiga era a 25 esta totalmente descontinuada por não apresentar nenhuma criptografia. Atualmente a porta padrão é a 587 no qual traz maior segurança ao envio de Email para um servidor, devido sua alta complexidade de operar o protocolo SMTP esta é constante evolução.
Um exemplo de operação deste protocolo:

Veja a complexidade que se dá a esta operação o usuário josé possui uma conta de Email hospedada em um servidor da google (GMAIL) e a Fernanda possui uma conta de Email em um servidor da Yahoo, veja que pra essa mensagem chegar até o destinatário irá passar por vários servidores de corporações distintas mesmo assim a mensagem ira chegar integra a seu destinatário.
### ***CAMADA TRANSPORTE***
* ***PROTOCOLO TCP/IP***
Este protocolo é responsável por garantir que um pacote sairá de um ponto de partida e chegara a um ponto de chegada integro.
***Estudo de caso***

Neste caso usamos o comando Trace Route, enviamos um pacote para o DNS google e nele vemos que nosso pacote sai do ponto de partida, meu computador e trafega por várias rotas até chegar meu destino DNS google.
O protocolo TCP/IP desde sua concepção vem sempre passando por atualizações. Estando a mesma saindo da versão 4 e migrando para a versão 6, devido o esgotamento de endereçamento que o IPv4 já apresenta atualmente a IPv6 vem substituindo para resolver este problema uma vez que a IPv6 garantira um número 1028 vezes mais que o atual IPv4.
• ***PROTOCOLO UDP***
O protocolo UDP ele foi concebido para priorizar velocidade uma vez que ele não precisa estabelecer uma conexão para poder trabalhar. Vejamos como exemplo o seguinte caso:
Um serviço de streaming como o Youtube, precisa disponibilizar seu conteúdo para um número muito grande de dispositivos. Estes dispositivos só precisam estar conectados à rede de internet para poder acessar o seu conteúdo, imaginem se ao invés de usarmos o protocolo UDP usássemos o protocolo TPC, isso iria acarretar o colapso no site gerando um tráfego lento e custoso. O UDP veio justamente cobrir esta lacuna.
***Estudo de caso***

Estou assistindo a vídeo aula do professor Edson Belém no Youtube, esta aula já consegui identificar seu tráfego em minha rede:

Observe, o tráfego está sendo gerado e entregando o seu conteúdo sendo entregue:

Com este estudo de caso podemos afirmar que o protocolo UDP irá trabalhar muito bem neste caso uma vez que meu computador não precisou autenticar a um servidor para poder receber seu conteúdo. Este protocolo não traz a confiabilidade que o protocolo TCP pode nos proporcionar. Porém cada um protocolo surgiu com a necessidade do seu propósito específico.
* ***POTOCOLO P2P***
Protocolo par por par, este protocolo tem como principal objetivo estabelecer uma conexão onde não exista um intermediário, vamos exemplificar o protocolo P2P com um velho conhecido o Torrent. Vejamos na imagem abaixo:

Neste exemplo estou realizando o download de um arquivo via protocolo P2P, análise que ao baixar a fonte de dados eu não estou realizando um download em um servidor e sim em vários digamos mini servidores cada usuário neste caso está disponibilizando o dado para meu computador, fazendo assim com que este conceito faça com que o arquivo em questão estará sempre disponível em pares distintos.
### ***POLITICA DE CONTROLE DE USUARIOS***
Uma política de controle de senhas é um conjunto de regras e diretrizes que definem como as senhas devem ser criadas, usadas e gerenciadas. O objetivo de uma política de controle de senhas é proteger a segurança das informações e sistemas de uma organização, impedindo que pessoas não autorizadas tenham acesso.
As políticas de controle de senhas geralmente incluem os seguintes requisitos:
Tamanho mínimo: A senha deve ter um tamanho mínimo de caracteres, geralmente 8 ou 12.
Caracteres: A senha deve incluir uma mistura de letras, números e símbolos.
Requisitos de complexidade: A senha deve atender a certos requisitos de complexidade, como não incluir sequências de letras ou números, ou não ser baseada em informações pessoais.
Expiração: As senhas devem expirar após um determinado período de tempo, geralmente 90 dias.
Histórico de senhas: As senhas anteriores devem ser armazenadas em um histórico, para que não possam ser reutilizadas.
Bloqueio de conta: As contas devem ser bloqueadas após um determinado número de tentativas de login malsucedidas.
As políticas de controle de senhas devem ser implementadas em todas as organizações, independentemente do tamanho ou do setor. Elas são uma parte essencial da segurança da informação e podem ajudar a proteger as organizações contra ataques cibernéticos.
***Estudo de caso***
Neste exemplo estou demonstrando um modelo de acesso em sistema RouterOS baseado em kernel Linux.

Note que na imagem apenas existe um usuario "admin" onde o mesmo tem privilegios full.
Vamos criar um usuario e criar suas limitações;
Neste caso irei criar grupos de privilegios para que possamos criar nosso usuario de acordo com nossa necessidade.

Note na imagem que criamos três grupos de acessos,
* *"read"(apenas leitura)*
* *"write"(leitura e escrita)*
* *"full" (acesso com todos privilegios)*
Neste cenarios iremos criar um usuario com privilegios de apenas leitura.

Foi criado o usuario "serafim" com sua senha (**nunca usem este tipo de senha**) e o mesmo com privilegios de leitura apenas.
Feito, iremos logar com o usuario serafim e tentar realizar a remoção de uma arquivo armazenado em um diretorio no qual o mesmo so tem privilegios de leitura.

Note que ao dar o comando remove em um determinado arquivo o mesmo reportou a negação do comando uma vez que o sistema entendu que este usuario nao tem permissão para tal privilegio.
*Resumo*
Com este estudo de caso entendemos o quão fundamental é aplicação de politicas de acesso para usuarios. Sabemos que um usuario não qualificado para tal privilegios pode trazer grandes problemas para toda uma estrutura.
### ***APLICAÇÃO DE FIREWALL***
Uma aplicação de firewall é fundamental e de extrema necessidade nos dias atuais onde ataques cibernéticos em aumentando drasticamente dia apos dia.
Esta ferramenta vem ao encontro das boas praticas de uso em rede suas caracteristas são:
* Proteção contra ataques cibernéticos
* Controle de acessos
* Auxiliando na conformidade
Das ferramentas de firewall existestens no mercado duas se destacam por atuar entre a entrada e a estação o **Firewall de rede** que são instalados entre a rede interna e a rede externa fazendo todo o controle do tráfego baseado no protocolo ou endereço IP.
***Estudo de caso***
Neste exemplo estamos realizando o bloqueio total do protocolo icmp fazendo com que o ping seja negado ao tentar realizar o comando, tanto para acesso interno quanto para acesso externo.

Ao tentar realizar o comando ping para o ip do gateway o mesmo reportou como tempo perdido ou esgotado, isso ocorreu pois a politica de firewall entrou em ação bloqueando todo o trafego deste protocoloco.

*Resumo*
Com este estudo de caso vimos a importancia de aplicarmos regras firewall inteligentes em nossos roteadores para proteger e auxiliar as demais ferramentas de proteção de uma infra estrutura de redes.
**Firewall de Aplicação**
São instalados entre uma aplicação e a rede. Eles controlam o tráfego de rede baseado no conteúdo da mensagem. Firewalls de aplicação são geralmente usados para proteger aplicações web contra ataques específicos, como injeção de SQL ou cross-site scripting (XSS).
***Estudo de caso***
Neste exemplo iremos utilizar a ferramenta Firewall Norton Ultra, e iremos exemplificar um bloqueio de uma plicação neste exemplo o teamview:


Verifique que ao aplicar a regra de bloqueio na plicação firewall conseguimos realizar o isolamento deste programa da rede mesmo estando conectado a uma rede.
*Resumo*
Com este exemplo vimos a importância de ter uma ferramenta que possamos controlar de acordo com a necessidade e segurança o tráfego em uma determinada aplicação.
### ***UMA APLICAÇÃO MODELO DE CHAT***
Neste tópico realizei o implemento de um sistema de chat simples temático em homenagem a região onde nasci e vivo atualmente, Nordeste. Para demonstrar o funcionamento de um chat uma troca de informação entre ponto para ponto.
Neste cenário foi utilizado as seguintes ferramentas:
XAMPP --> APACHE SERVER, MYSQL
LINGUAGEM EMPREGADA --> PHP,HTML

Foi criado uma base de dados no Mysql
Feito toda a programação em php com seus devidos css
A demonstração deste sistema está hospedada em meu domínio:
https://ajeitatudo.com.br/oxentechat/
Código usado esta disponivel em meu github
https://github.com/rodxjp/chatoxente
### ***QUAL O CAMINHO QUE DESEJO SEGUIR NA INFORMÁTICA***
Me chamo Rodrigo Cavalcanti de Almeida Marinho, tenho atualmente 38 anos e pai de uma filha de 13 anos, a primeira oportunidade que tive com um computador foi no ano de 1997 onde tive a oportunidade de fazer um curso básico de informática e desde a primeira vez que vi aquele computador eu vi que minha profissão seria nesta área, dai fiz alguns cursos técnicos como redes de computadores, e comecei a trabalhar na área, atualmente trabalho com infra estrutura de redes, mas nunca me acomodei sei que esta área sempre está em constante evolução e com este desejo de evoluir estou aqui para mais um desafio e pronto para absorver todos os conhecimentos possíveis, como atuo na área de infra por alguns anos tenho interesse em evoluir minha carreira profissional para a área de **DevOps**.
**Meus Planos de estudos para alcançar esta meta:**
* Obter certificação AZ-400 (obter em 1 ano esta certificação)
* Obter certificação Associate Cloud Engineer (obter em 1 ano esta certificação)
* Obter certificação AWS Certified Cloud Practitioner (Obter em 1 ano e meio esta certificação).