# data[].attributes.attachment_link.readable_text
VirtualBox é um produto de virtualização da Oracle para expandir os recursos de utilização do seu computador.

Mas, o que é virtualização?

Virtualização trata-se da criação de um ou mais ambientes virtuais dentro de um mesmo computador físico, que funcionam de maneiras independentes.

Isso significa que neste mesmo computador, você pode ter várias "máquinas" diferentes, com sistemas operacionais, armazenamento, rede e programas distintos do hardware original.

Este processo é o que ocorre em servidores de hospedagem de sites ou no armazenamento em nuvem, por exemplo.

Há uma máquina física que é dividida em várias máquinas virtuais através de um software específico, para oferecer recursos dedicados e diferenciados para cada usuário.

Este recurso também é comumente utilizado por desenvolvedores e profissionais de TI, pois permite testes de softwares em vários sistemas operacionais a partir de um único desktop, para identificar falhas de funcionamento ou de compatibilidade.

Além disso, estes profissionais podem codar ou testar aplicativos diretamente em um computador ao invés de fazer este processo em uma tela pequena de smartphone, o que garante maior agilidade a essas operações.

Mas, diversos tipos de usuários dessas máquinas virtuais podem ser beneficiados com sua utilização para realizar diversas ações, inclusive para testar qual programa ou sistema operacional é mais adequado às necessidades ou para ter um servidor próprio para toda a corporação.

Então, entenda neste texto como aplicar o VirtualBox em seu hardware e quais são as vantagens proporcionadas por este software.

Quer ir para algum tópico específico? É só clicar aqui em baixo 👇

O que é VirtualBox?

VirtualBox é um software de virtualização desenvolvido pela empresa Innotek, comprado pela Sun Microsystems, que por fim, foi comprada pela Oracle.

É indicado tanto para pessoas físicas quanto para jurídicas de qualquer porte ou segmento, visando um bom desempenho em hardwares x86, voltado então para servidores, desktops e uso integrado.

Com o VirtualBox instalado em seu computador, você pode executar vários sistemas operacionais ao mesmo tempo ou individualmente, sem precisar instalar diretamente no seu dispositivo cada um deles.

Entre os sistemas operacionais suportados pelo software estão:

Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10 );

Android;

DOS / Windows 3.x;

Linux (2.6, 3.xe 4.x);

Solaris e OpenSolaris;

OS / 2;

OpenBSD.

Assim, se você possui um Mac, por exemplo, você também poderá executar ao mesmo tempo o Windows, o Linux e o Solaris.

Essa é apenas uma das várias combinações que podem ser feitas através do VirtualBox, que podem ser ajustadas conforme as necessidades.

Como funciona o VirtualBox?

O VirtualBox pode ser utilizado gratuitamente nos SO Windows, Linux, Mac OS e Solaris de 64 bits, com processadores Intel ou AMD, mas também depende de espaço em disco, memória e processamento potente para obter um bom funcionamento.

Para sua utilização, é necessário baixar e instalar o aplicativo diretamente da plataforma Oracle, então, é executado em uma janela à parte, como qualquer aplicativo, por isso não danifica ou faz qualquer alteração no seu computador.

Assim, ao finalizar sua utilização basta fechar essa janela e operar o dispositivo normalmente.

Quando o VirtualBox passar a ser executado, você consegue instalar dentro dele um ou todos os sistemas operacionais suportados, assim como pacotes de extensão para melhorar o desempenho de cada um.

Ao criar uma máquina virtual para cada sistema operacional convidado, é possível configurar vários parâmetros, como:

Definir nomes e descrições para cada uma;

Ajustar a memória de cada uma;

Criar perfil na nuvem;

Habilitar área de transferência compartilhada entre seu host (SO instalado no computador) e a máquina virtual;

Criar pastas para transferências de arquivos;

Estipular o número de núcleos de CPU virtuais de cada máquina;

Definir quantidade de monitores virtuais;

Habilitar gravação de vídeo e áudio para as máquinas virtuais;

Definir condições de armazenamento, disco virtual e rede;

Configurar acesso à dispositivos USB pelas máquinas virtuais;

Contando ainda com muitos outros tipos de configurações.

Você também pode remover máquinas virtuais a qualquer momento, com apenas alguns cliques.

Quais são as vantagens do VirtualBox?

Sem dúvidas, a utilização do VirtualBox para executar vários sistemas operacionais em um mesmo computador já é um enorme benefício, que ainda se ramifica em diversas outras vantagens, como:

Reduz custos de aquisição de diferentes hardwares e pode ser utilizado gratuitamente;

Reduz custos com eletricidade e otimiza espaço, uma vez que apenas um computador por usuário pode ficar ligado;

Reduz custos com servidores externos, já que você pode criar seu próprio servidor;

Pode-se utilizar até mesmo sistemas operacionais mais antigos, sem preocupação com a compatibilidade do seu hardware;

Não é necessário reiniciar o hardware para alternar entre sistemas operacionais, o que consequentemente aumenta a produtividade do usuário;

Os desenvolvedores podem fazer diversos testes em uma única máquina;

A segurança de cada máquina virtual é independente, sendo assim, caso uma delas sofra algum dano, as outras não serão impactadas.

Outra vantagem é que o VirtualBox possui um recurso chamado instantâneo, onde é possível salvar o estado de uma máquina virtual e voltar a esse estado em casos de ameaças ou outros contratempos, garantindo a segurança dos dados.

Dica B2B Stack: Como baixar o VirtualBox?

Para baixar o VirtualBox é necessário acessar a página de downloads do Oracle VM VirtualBox e clicar no ícone de download que for referente à sua plataforma, entre as opções:

Windows, Mac OS X, Linux e Solaris x86.

A versão mais recente do Oracle VM VirtualBox até o momento é a 6.1.26.

Nessa página, você ainda pode baixar pacotes de extensão e código fonte;

A instalação do Oracle VM VirtualBox vai variar conforme sua plataforma.

Como criar uma máquina virtual

Ao iniciar seu VirtualBox, você tem acesso a sua janela com as ferramentas de configuração, o chamado "Gerenciador VirtualBox".

É nesse Gerenciador onde você também visualiza e inicia suas máquinas virtuais que foram criadas.

Para adicionar uma nova máquina virtual, clique em "New";

Defina um nome e uma pasta onde será armazenada sua máquina virtual.

Nesta etapa você também escolhe qual sistema operacional e sua versão que será instalada no seu VirtualBox nos campos "Tipo" e "Versão".

Clique em "Next";

Nos próximos passos, você vai configurar o tamanho da memória, o armazenamento do disco rígido, que pode ser fixo ou flexível conforme a utilização, definir a quantidade de núcleos e a memória de vídeo.

Ao finalizar e voltar para a tela inicial, seu Gerenciador, você já consegue visualizar sua máquina virtual criada.

Clique em "Iniciar", depois no ícone de pasta na janela aberta, selecione o arquivo da máquina criada e clique em "Iniciar" novamente;

Das próximas vezes, o sistema operacional inicia automaticamente ao clicar no "Iniciar" da página inicial.

E abaixo está um exemplo de VirtualBox com várias máquinas virtuais.

Conclusão

A virtualização é uma técnica que oferece inúmeros benefícios para empresas, profissionais de desenvolvimento e TI e até para usuários comuns que buscam explorar o máximo de ferramentas possíveis.

Através da virtualização, pode-se executar os diversos sistemas operacionais em um único computador, eliminando a necessidade de adquirir várias máquinas e resolvendo os problemas de compatibilidade de softwares e aplicativos.

Isso acontece porque o hardware é dividido em diversas máquinas virtuais, cada uma com seu sistema operacional, espaço, núcleo e outras especificidades, sendo a base para a criação de servidores, inclusive dedicados, para testes de softwares e aplicativos, entre muitos outros usos.

Para usufruir deste recurso, é preciso ter um software de virtualização, como o Oracle VM VirtualBox, onde todos estes sistemas operacionais são instalados e máquinas virtuais para cada um podem ser criadas e configuradas, conforme suas particularidades.

E aí? O que achou do VirtualBox? Aproveite e navegue pela B2B Stack e descubra milhares de ferramentas indispensáveis para o seu dia a dia!

# data[].attributes.attachment_link.title
VirtualBox: Saiba o que é, como funciona e como instalar!

# data[].attributes.attachment_link.description
VirtualBox é um produto de virtualização da Oracle para expandir os recursos de utilização do seu computador. Mas, o que é virtualização? Virtualização trata-se da criação de um ou mais ambientes virtuais dentro de um mesmo computador físico, que funcionam de maneiras independentes.

# data[].attributes.attachment_link.readable_text
Introdução:

Um dos fatores primordiais de qualquer sistema distribuido sempre foi a segurança dos dados.
Nos sistemas distribuídos temos que tomar muito cuidado especialmente com a segurança dos dispositivos, pois há muitos pontos (máquinas/softwares) sendo usados para um mesmo sistema e neste caso, todos os dispositivos devem estar seguros para que o sistema esteja seguro. De nada adianta ter um firewall bloqueando o acesso ao servidor de web, enquanto o servidor de banco de dados está desprotegido permitindo acesso aos dados daquele sistema. Nem o contrário, se preocupar apenas com a segurança do servidor de banco de dados, e deixar aberto os acessos ao servidor web ou outros pontos do sistema.
Tanto a segurança de cada máquina em si, quanto da comunicação entre elas devem ser seguras e para isso devemos pensar na segurança do sistema como um todo.
Quando falamos em segurança dos sistemas distribuídos, além de cuidar da segurança dos dados, também devemos planejar como este sistema vai escalar, para que ele aguente a demanda gerada pelos seus usuários.
Um sistema pode sofrer ataques de diversas formas, incluindo acesso aos dados, invasões, sobrecarga ou DOS(deny of service).
A segurança em um sistema distribuído pode ser dividida em duas partes, comunicação e autorização.

Ameaças de segurança

Existem 4 tipos de ameaças de segurança que devem ser consideradas:

Intercepção

Interrupção

Modificação

Fabricaçao

A intercepção é quando alguém, que não faz parte do sistema, ou seja, alguém não autorizado, ganha acesso a um serviço ou dados de um sistema. Como exemplo disto temos: quando um diretório de alguém é invadido e seus dados são copiados, um outro exemplo é o ataque Homem no Meio (Men In the Middle), que acontece quando a comunicação entre duas partes do sistema é interceptada por um terceiro (o homem do meio), que poderá ler e usar os dados desta comunicação.

A interrupção acontece quando um serviço, ou dados, ficam indisponíveis, inutilizáveis, ou são destruídos. Como exemplo temos o DDOS, ataque de negação de serviço, de maneira que eles não podem mais ser acessados. Neste tipo de ataque, o atacante executa muitas chamadas a algum serviço específico até que ele fique indisponível.

Modificação acontece quando uma alteração de dados, ou do sistema, não autorizada, fazendo com que o comportamento deste sistema seja alterado e eles não consigam mais realizar as operações para as quais foram designados. Como exemplo de modificações temos o ataque onde alguém intercepta a comunicação entre dois pontos e altera as mensagens que são enviadas entre eles. Um outro caso de modificação é quando o sistema é alterado, de maneira a logar secretamente os passos realizados pelos seus usuários.

No caso da fabricação, alguma coisa é adicionada ao sistema, que não existia lá. Por exemplo, quando um usuário consegue adicionar uma entrada na tabela de senhas. Também pode ser possível entrar em um sistema, ao repetir uma mensagem previamente enviada, como o reenvio de uma mensagem de login com o usuário e a senha.

Simplesmente dizer que um sistema deverá se proteger contra todos os tipos de ataques não é a melhor forma de se construir um sistema seguro. Já que ataques novos surgem a cada dia que passa. O primeiro passo para se construir um sistema seguro é descrever quais são os requisitos de segurança daquele sistema, ou qual será a sua política de segurança. A política de segurança irá descrever quais ações cada entidade do sistema pode realizar e quais ações serão proibidas. Depois de definidas a política de segurança de um sistema, pode-se concentrar nos mecanismos de segurança dele.

Os mecanismos de segurança mais importantes são:

A criptografia, ou a encriptação dos dados, é essencial para a segurança de um sistema, já que ela transforma os dados em algo ilegível para quem não possui a chave de segurança responsável por descriptografar aqueles dados. A criptografia é responsável pela confidencialidade dos dados.

Com a autenticação é possível verificar a identidade do usuário, servidor, host ou qualquer entidade do sistema. Tipicamente a autenticação é realizada através de uma senha, mas existem várias outras maneiras de se realizar uma autenticação, como os tokens bancários, muito comuns hoje em dia, ou através da utilização de chaves.

Depois que um cliente está autenticado, ainda assim é preciso verificar se aquele usuário possui autorização para realizar aquela operação no sistema. Podemos exemplificar isto em qualquer sistema, por exemplo, um usuário nunca poderá alterar a senha de outro usuário, ou então consultar dados pessoais de outro usuário, como email, endereço, etc. A não ser sob uma autorização expressa do usuário, o qual terá os seus dados exibidos.

Não menos importante são as ferramentas de auditoria, as quais permitem ao administrador do sistema verificar quais operações cada usuário realizou no sistema. Com isso é possível detectar invasões depois de elas terem ocorrido. Um dos papéis de um bom hacker é nunca deixar rastros em um sistema acessado e isto só pode ser feito se ele conseguir apagar os logs deste sistema. Uma das formas de evitar isto é habilitar o log de acesso em um sistema, mas neste caso, o lugar onde este log será escrito e as permissões de acesso a este log, assim como os seus backups, são fatores primordiais para uma análise de uma invasão ao sistema.

Considerações de Design

Um sistema distribuído precisa ser implementado de maneira a permitir que um grande número de políticas de segurança sejam implementadas e para fazer isso existem algumas considerações de Design a serem feitas.

Controle do Foco

Ao planejar o desenvolvimento de um sistema distribuído, existem ter três diferentes maneiras de se resolver a segurança deste sistema.

A primeira delas é focar nos dados que estão associados à aplicação, o que significa que deveremos focar em manter a integridade dos dados, em todos os serviços que irão alterar os dados daquele aplicativo. Este tipo de segurança poderá ser implementado na base de dados do aplicativo, já que várias restrições (Constraints) e chaves podem ser implementadas (nos bancos SQL) de forma a garantir a integridade dos dados. Garantir a integridade dos dados é assegurar que quando um usuário for apagado, por exemplo, os dados relacionados a ele também serão apagados. Isso, que antes era um bom padrão de design, agora deverá ser implementado para que seu sistema permaneça de acordo com a LGPD (Lei Geral de Proteção de Dados), que entrou em vigor em Agosto de 2020. Não pode haver um endereço gravado na tabela de endereços, de um usuário que já foi removido do sistema. As chaves estrangeiras em um sistema de banco de dados SQL fazem isto.

Quando o sistema de armazenamento escolhido, for um sistema sem esquema (schemaless), alguns cuidados extras devem ser tomados, ou através de software, ou através de frameworks usados, para garantir que os dados, mantenham-se consistentes, não importa qual operação tenha sido realizada no banco. Apesar de facilitar algumas coisas no desenvolvimento, estes sistemas, explicados aqui, são menos seguros quanto a consistência dos dados.

Outra forma de se resolver a segurança é especificar exatamente quais operações poderão ser realizadas, e por quem, os dados poderão ser acessados. Aqui, na especificação do sistema, deverá constar quem pode acessar quais dados, e com isso esta implementação estará focada em mecanismos de controle de acesso. Em um webservice, podemos especificar quais usuários, ou grupos de usuários, poderão acessar cada serviço.

Uma terceira forma de se pensar a segurança de um sistema é focar nos usuários que devem ter acesso aos serviços do aplicativo, não se importando com quais serviços eles podem acessar. Por exemplo o banco de dados de uma escola alguns dados só podem ser acessados pelos gerentes. Em algumas escolas, o sistema guarda a diferença entre as notas lançadas pelos professores, nas alterações de nota realizadas no sistema. Relatórios são desenvolvidos para listar as alterações de notas cujos valores diferem muito, com isso os administradores das escolas podem intimar o professor a esclarecer o que aconteceu para a nota do aluno mudar tanto.

Neste tipo de controle é focado na definição de papéis dos usuários no sistema, por exemplo os alunos não terão acesso a estes relatórios de alteração de nota, neste caso existem três papéis, o do professor, o do aluno e o do gerente. Como parte do desenvolvimento de um sistema seguro, é necessário levantar quais serão os papéis dos usuários do sistema e definir quais dados cada papel poderá acessar ou não.

Camadas dos mecanismos de segurança

# data[].attributes.attachment_link.description
Um dos fatores primordiais de qualquer sistema distribuido sempre foi a segurança dos dados. Nos sistemas distribuídos temos que tomar muito cuidado especialmente com a segurança dos dispositivos, pois há muitos pontos (máquinas/softwares) sendo usados para um mesmo sistema e neste caso, todos os dispositivos devem estar seguros para que o sistema esteja seguro.

# data[].attributes.attachment_link.description
Middleware é um software que fornece serviços e recursos comuns a aplicações. Gerenciamento de dados, serviços de aplicações, sistema de mensageria, autenticação e gerenciamento de APIs são recursos comumente operados por um software de middleware.

# data[].attributes.attachment_link.title
Afinal o que é um sistema distribuído? - Pplware

# data[].attributes.attachment_link.description
Conheça alguns exemplos de sistemas distribuídos, características e também os desafios.