Está en la página 1de 10

Diseño de la solución: Entorno único de enlace.

Con esta solución se busca brindar a cada empresa la facilidad de tener organización y gestión

de sus datos en un solo lugar, en principio se plantea enlazar a todos los computadores en una red

única cifrada de Ethernet. Además, cada computador, Tablet y celular que sea parte de la

organización contará con una aplicación de inicio la cual tendrá en su entorno las utilidades

estrictamente necesarias para la empresa.

Detallando lo anterior se busca que la aplicación se inicie con el arranque de cada dispositivo

y mediante un Usuario con respectiva Contraseña asignados de acuerdo a los rangos de manejo

de información estipulados empresa de acceso a las diversas herramientas de la aplicación.

Herramientas:

 Acceso a plataforma de Google y sus herramientas: De este modo se pretende

aprovechar la diversidad y seguridad que provee las diferentes herramientas que

provee este servidor, por ejemplo, cada archivo trabajado en las jornadas laborales es

subido en simultaneo y puede ser supervisado en paralelo por los que tengan los

permisos requeridos. Además, gracias a que Google puede proveer correos a cada

empresa con su dominio de allí podemos clasificar y otorgar usuarios a cada

trabajador.

Herramientas como Calendar, Hangouts, Noticias pueden usarse de manera efectiva

para control de tiempo y actualizar información en tiempo real para los usuarios de la

aplicación.

 Bloqueo de acceso a paginas innecesarias de internet: Con esta utilidad se pretende

que los usuarios no visiten páginas y sitios web que no son de provecho para la utilidad
de la empresa, este bloqueo no solo implica bloqueo de redes sociales sino también de

cada página que pueda ser usada de forma deliberada para el ocio. De este modo se

garantiza que el tráfico de datos sea estrictamente para el trabajo además de evitar

correr el riesgo de que datos de la empresa se filtren en otras páginas maliciosas.

 Control del tráfico de datos: A través del monitoreo continuo de la red Wifi que

capture los paquetes de datos que se están enviado y recibiendo por cada computador

conectado a la red se pretende vigilancia continua que puede llegar a la red de la

empresa. Aquí se debe tener acceso a una base de datos que muestre los sitios

peligrosos y nocivos para los datos. De esta forma se buscaría integrar diversas bases

constantemente actualizadas para brindar un mejor servicio de alertas ante cualquier

posible amenaza.

Para llevar a cabo esta solución se divide en tres etapas las cuales son primordiales para su

ejecución y todas están estarán enlazadas entre si mediante un seudocódigo en pseint, esto con el

fin de conservar la estructura lógica del programa y no desviarnos en el camino.

1. Arranque y acceso en los dispositivos: Aquí se diseña y ejecuta el arranque del

programa el cual debe iniciar junto con el inicio de los dispositivos, lo primordial es

lograr que el programa bloquee el computador desde su arranque, además en este paso se

reciben las claves de acceso para los usuarios.

2. Permiso y Loguin de usuarios: Se otorgan acceso a diferentes herramientas de acuerdo

al rango del usuario asignado.

3. Bloqueo de aplicaciones innecesaria y sitios web: En este paso una vez reconocido el

usuario se le permite o denegá el acceso a los programas del computador y acceso a

internet si es necesario.
 Plano General en Pseint

Bosquejo general del funcionamiento del programa con la secuencia que debe seguir:

 Algoritmos (Diagrama de bloques y código)

 Arranque y acceso en los dispositivos: La aplicación debe iniciar automáticamente con

el inicio de Windows, esto se puede llevar a cabo de manera manual en cada computador
que se instale la aplicación o colocando unas líneas del código al inicio del diseño de la

aplicación.

 Forma Manual para el arranque de la aplicación: Se debe digitar en el inicio:

Regedit

Una vez en el editor de registro seleccionamos: HKEY_LOCAL_MACHINE, luego

seleccionamos la carpeta SOFTWARE luego MICROSOFT, seguido de WINDOWS y

CURRENTVERSION y finalmente en RUN.


Una vez aquí podemos seleccionar y crear una nueva cadena y el espacio de seleccionar valor

colocamos la ruta de nuestro programa ejecutable.

 Método con línea de código: Esta instrucción debe ser dada al inicio del programa

para que siempre se ejecute junto con el encendido de Windows:

#include <iostream>
#include <windows.h>

using namespace std;

int main (int argc, char *argv[])


{
HKEY * key;

LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");


long status = RegOpenKey(HKEY_LOCAL_MACHINE, C\\Programfiles\\seguridadUNAD,
key);
if (status != 0)

{
status = 1
}

else
{
status = 1
}
RegCloseKey(*key);
system("PAUSE");
return 0;
}
 Permiso y Loguin de usuarios: En este punto es de vital importancia definir quien, y

como se otorgan los usuarios a cada trabajador de la empresa, se debe busca que esto sea

de gran responsabilidad y de un monitoreo constante para evitar que los usuarios evadan

el sistema, en procura de una mayor seguridad a futuro se planeara asignar a cada usuario

una MAC determinada y denegar acceso en otros dispositivos.

El reto es equilibrar el acceso restringido a los privilegios especiales para hacer mas segura la

red, en definitiva, solo se deben otorgar los permisos suficientes para cumplir a cabalidad con las

tareas necesarias.

Se debe crear una base de datos con los usuarios y el nivel de cada uno de estos, para este caso

se definen tres rangos de usuarios:

1. Rango 1: De acceso administrativo, es decir tienen acceso a toda la información y

todas las aplicaciones del dispositivo además de libre acceso a la web.

2. Rango 2: De acceso limitado, se otorgan los permisos solo de aplicaciones de

office y un acceso limitado a internet.

3. Rango 3: Exclusivo para trabajo, solo se concede acceso a las herramientas de

Office.

El código para esta parte del programa se inserta en el siguiente paso, pues solo depende de un

condicional de acuerdo al tipo de rango, es decir podría hacerse por casos y del mismo se van

asignando permisos para cada tipo de usuario, Sin embargo, es necesario un programa capaz de

capturar y guardar los datos de registro para los usuarios y la asignación del rango de cada uno.
Para ello se propone el siguiente programa en Java:

String nombre, dirección, teléfono, user, pass, rango;


nombre = txt_nombre.getText();
dirección = txt_domicilio.getText();
teléfono = txt_telefono.getText();
user = txt_nick.getText();
pass = txt_password.getText().toString();
rango = cmb_rango.getSelectedItem().toString();
if (txt_nombre.getText().equals("") || (txt_direccion.getText().equals("")) ||
(txt_telefono.getText().equals("")) || (txt_user.getText().equals(""))
|| (txt_pass.getText().equals("")) || (cmb_rango.getSelectedItem().equals(null))) {
javax.swing.JOptionPane.showMessageDialog(this,"Se deben digitar todos los
campos \n","AVISO!",javax.swing.JOptionPane);
txt_nombre.requestFocus();
}
else {
try {
String url = "jdbc:mysql://localhost:3306/FormulariodeUsuarios ";
String usuario = "root";
String contraseña = "pass";
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url,user,pass);
if ( con != null )
System.out.println("SE LOGRO CONECTAR " +
"\n " + url );

stmt = con.createStatement();
stmt.executeUpdate("INSERT INTO usuarios VALUES('" + 0 +
"','"+direccion+"','"+telefono+"','"+user+"','"+pass+"','"+rango+"')");
System.out.println("Los valores han sido agregados a la base de datos ");
} catch (InstantiationException ex) {
Logger.getLogger(nombre_de_la_clase.class.getName()).log(Level.SEVERE, null,
ex);
} catch (IllegalAccessException ex)
{
finally {
if (con != null) {
try {
con.close();
stmt.close();
} catch ( Exception e ) {
System.out.println( e.getMessage());
}
}
}
javax.swing.JOptionPane.showMessageDialog(this,"Registro exitoso!
\n","AVISO!",javax.swing.JOptionPane.INFORMATION_MESSAGE);
}
 Bloqueo de aplicaciones innecesaria y sitios web

En primer lugar, es importante validar la información recibida por el usuario y determinar el

rango de cada usuario y de acuerdo ello el programa tomara las decisiones, además debemos

bloquear el acceso a teclas como Ctrl, Alt, Sup para que el usuario no pueda evadir el acceso a la

aplicación y este “Obligado” a ingresar los datos en la aplicación y así obtener el acceso

determinado, también se utiliza el método toFront() para que el JFrame este siempre visible, esto

impide que una persona haga uso del escritorio.

A continuación, se muestra el código para solicitar el usuario y la contraseña y mantenga la

pantalla superpuesta sobre todo en el escritorio y evite ser cerrada bloqueando accesos a el

administrador de tareas o Alt+F4.

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.swing.JFrame;
public class jBlocked {

private JFrame jframe=null;


public jBlocked( JFrame f )
{
this.jframe = f;
}
public void block()
{
ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(
new Runnable()
{
@Override
public void run() {
front();
}
500, 50 , TimeUnit.MILLISECONDS );
}
public void front()
{
jframe.setExtendedState( JFrame.MAXIMIZED_BOTH );//maximizado
jframe.toFront();
}

}
public jFrameBlocked() {
this.setUndecorated(true);
initComponents();

this.setDefaultCloseOperation( DO_NOTHING_ON_CLOSE );
this.setExtendedState( MAXIMIZED_BOTH );
this.setAlwaysOnTop(true);
new jBlocked( this ).block();

}
private void btnSalirActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void btnEntrarActionPerformed(java.awt.event.ActionEvent evt) {
if( this.user.getText().equals("user") &&
this.pass.getText().equals("Admin1234") )
{
new jFrameGUI().setVisible(true);
this.dispose();
if( this.rango=1.getText().
System.exit(0)
elseif (this.rango=2)
/////////////////////////////

elseif (this.rango=3)
new Thread(new Runnable() { 
     public void run()
 { 
         Robot r = new Robot();
         Image i = r.getSreenCapture(); 
        if ( ! estaOfficeEnPantalla( i ) ) {  
           ProcessBuilder.newProcess("C:\Program Files(x86)\Microsoft
Office\root\Office16\WINWORD.EXE"").run();
       }
   }
start();
}
else
{
JOptionPane.showMessageDialog( this, "Access denied");

Nota: Para el caso en que el usuario sea de rango 3 solo se verifica que el usuario este siempre

sobre las aplicaciones de office, esto se hace con el condicional allí mencionado, en caso de ser

de rango 1 el programa muestra el dispositivo normal con todas sus herramientas y si es de rango

2 el programa usa las herramientas de control parental para bloquear las paginas innecesarias y

para bloquear el acceso e instalación de aplicaciones innecesarias.

También podría gustarte