Exemplo n.º 1
0
def scan_server(queue,
                hostname,
                add_users=False,
                remove_users=False,
                add_keys=False,
                remove_keys=False,
                debug=False):
    """
    Sets up a ServerScanner and scans the server using a multiprocessing queue.
    """

    server = internal_server.get_server_by_hostname(hostname)

    server_scanner = ServerScanner(queue,
                                   server,
                                   add_users=add_users,
                                   remove_users=remove_users,
                                   add_keys=add_keys,
                                   remove_keys=remove_keys,
                                   debug=debug)

    try:
        server_scanner.scan()
    except Exception, e:

        logging.exception(e)

        if debug:
            print_line("ERROR: Unable to contact server", server.hostname)

        queue.put({'hostname': server.hostname, 'state': 'error'})

        internal_scan_log.create_scan_log(server, SERVER_STATUS.UNREACHABLE)
Exemplo n.º 2
0
def fake_scans():
    from models.audit import ScanLog
    from internal.server import get_server_by_hostname

    server = get_server_by_hostname('vinz-ubuntu-12-04.student.iastate.edu')

    now = datetime.datetime.now()
    for day_index in xrange(7):
        day_delta = now - datetime.timedelta(days=day_index)

        print "working on %s days ago" % day_index

        number_of_servers = 814
        if day_index > 4:
            number_of_servers = 598

        print number_of_servers
        for log_index in xrange(number_of_servers):

            log = ScanLog(
                server=server,
                server_status=0,
                timestamp=day_delta,
                status=0,
                users_expected=[],
                actual_users=[],
                unexpected_users=[],
                keys_added=[],
                keys_removed=[],
                unexpected_keys=[],
            )

            log.save()
Exemplo n.º 3
0
def fake_scans():
    from models.audit import ScanLog
    from internal.server import get_server_by_hostname

    server = get_server_by_hostname('vinz-ubuntu-12-04.student.iastate.edu')

    now = datetime.datetime.now()
    for day_index in xrange(7):
        day_delta = now - datetime.timedelta(days=day_index)


        print "working on %s days ago" % day_index

        number_of_servers = 814
        if day_index > 4:
            number_of_servers = 598

        print number_of_servers
        for log_index in xrange(number_of_servers):

            log = ScanLog(
                server=server,
                server_status=0,
                timestamp=day_delta,
                status=0,
                users_expected=[],
                actual_users=[],
                unexpected_users=[],
                keys_added=[],
                keys_removed=[],
                unexpected_keys=[],
            )

            log.save()
Exemplo n.º 4
0
def scan_server(queue, hostname, add_users=False, remove_users=False, add_keys=False, remove_keys=False, debug=False):
    """
    Sets up a ServerScanner and scans the server using a multiprocessing queue.
    """

    server = internal_server.get_server_by_hostname(hostname)

    server_scanner = ServerScanner(queue,
                                   server,
                                   add_users=add_users,
                                   remove_users=remove_users,
                                   add_keys=add_keys,
                                   remove_keys=remove_keys,
                                   debug=debug)

    try:
        server_scanner.scan()
    except Exception, e:

        logging.exception(e)

        if debug:
            print_line("ERROR: Unable to contact server", server.hostname)

        queue.put({
            'hostname': server.hostname,
            'state':    'error'
        })

        internal_scan_log.create_scan_log(server, SERVER_STATUS.UNREACHABLE)
Exemplo n.º 5
0
def setup_dev():
    from internal import server as internal_server
    from internal import user as internal_user
    from internal import public_key as internal_public_key
    from internal.exceptions import ServerAlreadyExistsError
    from internal.exceptions import UserAlreadyExistsError

    system_user = internal_user.create_user(None, "Vinz", "System",
                                            "*****@*****.**", "vinz", "vinz")

    servers = []
    for name, url in DEV_SERVERS.iteritems():
        try:
            server = internal_server.create_server(system_user, name, url)
            servers.append(server)
            print "Created server %s: %s" % (name, url)
        except ServerAlreadyExistsError:
            print "Server %s already exists" % name
            server = internal_server.get_server_by_hostname(url)
            servers.append(server)

    for email, data in DEV_USERS.iteritems():
        user = None
        try:
            user = internal_user.create_user(system_user, data[0], data[1],
                                             email, data[2], data[3])
            print "Created user %s: %s" % (data[2], email)
        except UserAlreadyExistsError:
            user = internal_user.get_user_by_email(email)
            print "User %s already exists" % (data[2])

        if user:
            for server in servers:
                print "Adding %s to %s" % (user.username, server.hostname)
                internal_server.add_user_to_server(system_user, server,
                                                   user.id)

            if not user.key_list:
                print "Adding public key for %s" % user.username
                key = internal_public_key.create_public_key(
                    user, user, 'test key', VINZ_PUBLIC_KEY)
Exemplo n.º 6
0
def setup_dev():
    from internal import server as internal_server
    from internal import user as internal_user
    from internal import public_key as internal_public_key
    from internal.exceptions import ServerAlreadyExistsError
    from internal.exceptions import UserAlreadyExistsError

    system_user = internal_user.create_user(None, "Vinz", "System", "*****@*****.**",
                                            "vinz", "vinz")

    servers = []
    for name, url in DEV_SERVERS.iteritems():
        try:
            server = internal_server.create_server(system_user, name, url)
            servers.append(server)
            print "Created server %s: %s" % (name, url)
        except ServerAlreadyExistsError:
            print "Server %s already exists" % name
            server = internal_server.get_server_by_hostname(url)
            servers.append(server)

    for email, data in DEV_USERS.iteritems():
        user = None
        try:
            user = internal_user.create_user(system_user, data[0], data[1], email, data[2], data[3])
            print "Created user %s: %s" % (data[2], email)
        except UserAlreadyExistsError:
            user = internal_user.get_user_by_email(email)
            print "User %s already exists" % (data[2])

        if user:
            for server in servers:
                print "Adding %s to %s" % (user.username, server.hostname)
                internal_server.add_user_to_server(system_user, server, user.id)

            if not user.key_list:
                print "Adding public key for %s" % user.username
                key = internal_public_key.create_public_key(user, user, 'test key', VINZ_PUBLIC_KEY)