>From c8cd7e6586e9faecfa78c3845f46086174be5a84 Mon Sep 17 00:00:00 2001
From: Shawn Wells <[email protected]>
Date: Sat, 20 Apr 2013 02:27:12 -0400
Subject: [PATCH] [bugfix] Ticket 381 - Rule "disable_telnet_service" always true
As ruchkinalexandr correctly pointed out, disable_telnet_service
was always true. Old OVAL checked for init, however proper method
is to check /etc/xinetd.d/telnet.
- Created new OVAL
- Deleted old, which didn't match XCCDF OVAL tag
- Removed telnet from the check/template macros
Testing:
[root@rhel6 checks]# chkconfig telnet on
[root@rhel6 checks]# ./testcheck.py service_telnetd_disabled.xml
Evaluating with OVAL tempfile : /tmp/service_telnetd_disabledvB75F5.xml
Definition oval:scap-security-guide.testing:def:347: false
Evaluation done.
[root@rhel6 checks]# chkconfig telnet off
[root@rhel6 checks]# ./testcheck.py service_telnetd_disabled.xml
Evaluating with OVAL tempfile : /tmp/service_telnetd_disabled2Q1CA_.xml
Definition oval:scap-security-guide.testing:def:347: true
Evaluation done.
---
RHEL6/input/checks/service_telnet_disabled.xml | 99 ------------------
RHEL6/input/checks/service_telnetd_disabled.xml | 106 ++++----------------
RHEL6/input/checks/templates/services_disabled.csv | 2 -
3 files changed, 19 insertions(+), 188 deletions(-)
delete mode 100644 RHEL6/input/checks/service_telnet_disabled.xml
diff --git a/RHEL6/input/checks/service_telnet_disabled.xml
b/RHEL6/input/checks/service_telnet_disabled.xml
deleted file mode 100644
index 0d71404..0000000
--- a/RHEL6/input/checks/service_telnet_disabled.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<def-group>
- <!-- THIS FILE IS GENERATED by create_services_disabled.py. DO NOT EDIT.
-->
- <definition class="compliance" id="service_telnet_disabled"
- version="1">
- <metadata>
- <title>Service telnet Disabled</title>
- <affected family="unix">
- <platform>Red Hat Enterprise Linux 6</platform>
- </affected>
- <description>The telnet service should be disabled if
possible.</description>
- </metadata>
- <criteria comment="package telnet-server removed or service telnet is not
configured to start" operator="OR">
- <extend_definition comment="telnet-server removed"
definition_ref="package_telnet-server_removed" />
- <criteria operator="AND" comment="service telnet is not configured to
start">
- <criterion comment="telnet runlevel 0" test_ref="test_runlevel0_telnet"
/>
- <criterion comment="telnet runlevel 1" test_ref="test_runlevel1_telnet"
/>
- <criterion comment="telnet runlevel 2" test_ref="test_runlevel2_telnet"
/>
- <criterion comment="telnet runlevel 3" test_ref="test_runlevel3_telnet"
/>
- <criterion comment="telnet runlevel 4" test_ref="test_runlevel4_telnet"
/>
- <criterion comment="telnet runlevel 5" test_ref="test_runlevel5_telnet"
/>
- <criterion comment="telnet runlevel 6" test_ref="test_runlevel6_telnet"
/>
- </criteria>
- </criteria>
- </definition>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel0_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel0_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel1_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel1_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel2_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel2_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel3_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel3_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel4_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel4_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel5_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel5_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel6_telnet"
- version="2">
- <unix:object object_ref="obj_runlevel6_telnet" />
- <unix:state state_ref="state_service_telnet_off" />
- </unix:runlevel_test>
- <unix:runlevel_object id="obj_runlevel0_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">0</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel1_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">1</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel2_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">2</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel3_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">3</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel4_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">4</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel5_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">5</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel6_telnet" version="1">
- <unix:service_name>telnet</unix:service_name>
- <unix:runlevel operation="equals">6</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_state comment="not configured to start"
id="state_service_telnet_off" version="1">
- <unix:start datatype="boolean">false</unix:start>
- <unix:kill datatype="boolean">true</unix:kill>
- </unix:runlevel_state>
-</def-group>
diff --git a/RHEL6/input/checks/service_telnetd_disabled.xml
b/RHEL6/input/checks/service_telnetd_disabled.xml
index 30dfd9b..55623fc 100644
--- a/RHEL6/input/checks/service_telnetd_disabled.xml
+++ b/RHEL6/input/checks/service_telnetd_disabled.xml
@@ -1,96 +1,28 @@
<def-group>
- <!-- THIS FILE IS GENERATED by create_services_disabled.py. DO NOT EDIT.
-->
- <definition class="compliance" id="service_telnetd_disabled"
- version="1">
+ <definition class="compliance"
+ id="service_telnetd_disabled" version="1">
<metadata>
- <title>Service telnetd Disabled</title>
+ <title>Disable telnet Service</title>
<affected family="unix">
<platform>Red Hat Enterprise Linux 6</platform>
</affected>
- <description>The telnetd service should be disabled if
possible.</description>
+ <description>Disable telnet Service</description>
</metadata>
- <criteria operator="AND" comment="service telnetd is not configured to
start">
- <criterion comment="telnetd runlevel 0"
test_ref="test_runlevel0_telnetd" />
- <criterion comment="telnetd runlevel 1"
test_ref="test_runlevel1_telnetd" />
- <criterion comment="telnetd runlevel 2"
test_ref="test_runlevel2_telnetd" />
- <criterion comment="telnetd runlevel 3"
test_ref="test_runlevel3_telnetd" />
- <criterion comment="telnetd runlevel 4"
test_ref="test_runlevel4_telnetd" />
- <criterion comment="telnetd runlevel 5"
test_ref="test_runlevel5_telnetd" />
- <criterion comment="telnetd runlevel 6"
test_ref="test_runlevel6_telnetd" />
+ <criteria operator="AND">
+ <criterion comment="Disable telnet Service"
test_ref="test_disable_telnet_service" />
</criteria>
</definition>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel0_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel0_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel1_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel1_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel2_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel2_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel3_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel3_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel4_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel4_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel5_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel5_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_test check="all" check_existence="any_exist"
- comment="Runlevel test" id="test_runlevel6_telnetd"
- version="2">
- <unix:object object_ref="obj_runlevel6_telnetd" />
- <unix:state state_ref="state_service_telnetd_off" />
- </unix:runlevel_test>
- <unix:runlevel_object id="obj_runlevel0_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">0</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel1_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">1</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel2_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">2</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel3_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">3</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel4_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">4</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel5_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">5</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_object id="obj_runlevel6_telnetd" version="1">
- <unix:service_name>telnetd</unix:service_name>
- <unix:runlevel operation="equals">6</unix:runlevel>
- </unix:runlevel_object>
- <unix:runlevel_state comment="not configured to start"
id="state_service_telnetd_off" version="1">
- <unix:start datatype="boolean">false</unix:start>
- <unix:kill datatype="boolean">true</unix:kill>
- </unix:runlevel_state>
+
+ <ind:textfilecontent54_test check="all"
+ check_existence="all_exist" comment="Disable Telnet Service"
+ id="test_disable_telnet_service" version="1">
+ <ind:object object_ref="obj_disable_telnet_service" />
+ </ind:textfilecontent54_test>
+ <ind:textfilecontent54_object comment="Disable Telnet Service"
+ id="obj_disable_telnet_service" version="1">
+ <ind:path>/etc/xinetd.d</ind:path>
+ <ind:filename>telnet</ind:filename>
+ <ind:pattern operation="pattern match">disable\s=\syes</ind:pattern>
+ <ind:instance datatype="int">1</ind:instance>
+ </ind:textfilecontent54_object>
</def-group>
diff --git a/RHEL6/input/checks/templates/services_disabled.csv
b/RHEL6/input/checks/templates/services_disabled.csv
index ac10178..74e93e4 100644
--- a/RHEL6/input/checks/templates/services_disabled.csv
+++ b/RHEL6/input/checks/templates/services_disabled.csv
@@ -4,7 +4,6 @@ autofs,
certmonger,
cgred,
sssd,
-telnetd,
atd,at
avahi-daemon,
bluetooth,
@@ -44,7 +43,6 @@ snmpd,net-snmp
squid,squid
sshd,openssh-server
sysstat,sysstat
-telnet,telnet-server
tftp,tftp-server
vsftpd,vsftpd
xinetd,xinetd
--
1.7.1
_______________________________________________
scap-security-guide mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/scap-security-guide