Exemplo n.º 1
0
def grade_mx(site_run_id: int) -> None:
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_mx_records
    grade, errors = grade_mx_records(records, site.domain)
    _grade_errors(errors, 'mx', site_run_id)
    site_run.mx_grade = grade
    db_session.commit()
Exemplo n.º 2
0
def grade_spf(site_run_id: int):
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_txt_records
    grade, errors = grade_spf_record(records, site.domain, site_run.has_mx)
    site_run.spf_grade = grade
    db_session.commit()
    _grade_errors(errors, 'spf', site_run_id)
Exemplo n.º 3
0
def grade_bimi(site_run_id: int) -> None:
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_bimi_records
    grade, errors = grade_bimi_records(records, site_run.j_dmarc_record, site.domain)
    _grade_errors(errors, 'bimi', site_run_id)
    site_run.bimi_grade = grade
    site_run.has_bimi = grade == 100
    db_session.commit()
Exemplo n.º 4
0
def grade_soa(site_run_id: int) -> None:
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_soa_records
    grade = 0
    if not records:
        logger.debug("SOA Grade: {} - {} - {} - NO CAA".format(site.domain, site_run.ns_grade, 0))
        grade = 0
    else:
        logger.debug("SOA Grade: {} - {} - {}".format(site.domain, site_run.ns_grade, grade))
        grade, errors = grade_soa_records(records, site.domain)
        _grade_errors(errors, 'soa', site_run_id)
    site_run.soa_grade = grade
    db_session.commit()
Exemplo n.º 5
0
def grade_ns(site_run_id: int) -> None:
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_ns_records
    ip_addresses = site_run.ns_ip_addresses
    record_results = site_run.ns_server_ns_results
    grade = 0

    if not records:
        logger.debug("NS Grade: {} - {} - {} - NO CAA".format(site.domain, site_run.ns_grade, 0))
        grade = 0
    else:
        logger.debug("NS Grade: {} - {} - {}".format(site.domain, site_run.ns_grade, grade))
        grade, errors = grade_ns_records(records, ip_addresses, record_results, site.domain)
        _grade_errors(errors, 'ns', site_run_id)
    site_run.ns_grade = grade
    db_session.commit()
Exemplo n.º 6
0
def grade_dmarc(site_run_id: int):
    site, site_run = get_site_and_site_run(site_run_id)
    records = site_run.j_dmarc_record
    grade = 0
    dmarcs = list()
    if records:
        for record in records:
            record = record.replace('"', '')
            if record.startswith('v=DMARC1;'):
                logger.debug('DMARC - {} - {}'.format(site_run_id, record))
                dmarcs.append(record)
        if dmarcs:
            logger.debug('DMARC Count - {} - {}'.format(site_run_id, len(dmarcs)))
            grade, errors = grade_dmarc_record(dmarcs, site.domain)
            _grade_errors(errors, 'dmarc', site_run_id)
    site_run.dmarc_grade = grade
    db_session.commit()