<def-group>
  <!-- THIS FILE IS GENERATED by create_services_disabled.py.  DO NOT EDIT.  -->
  <definition class="compliance" id="service_unencrypted_ftp_disabled"
  version="1">
    <metadata>
      <title>Service Unencrypted FTP Disabled</title>
      <affected family="unix">
        <platform>CentOS 4</platform>
		<platform>CentOS 5</platform>
		<platform>Red Hat Enterprise Linux 4</platform>
		<platform>Red Hat Enterprise Linux 5</platform>
      </affected>
      <description>The gssftp and vsftpd services should be disabled if possible.</description>
    </metadata>
   <criteria>
	   <criteria comment="package krb5-workstation removed or service gssftp is not configured to start" operator="OR">
		<extend_definition comment="krb5-workstation removed" definition_ref="package_krb5-workstation_removed" />
			<criteria operator="AND" comment="service gssftp is not configured to start">
			  <criterion comment="gssftp runlevel 0" test_ref="test_runlevel0_gssftp" />
			  <criterion comment="gssftp runlevel 1" test_ref="test_runlevel1_gssftp" />
			  <criterion comment="gssftp runlevel 2" test_ref="test_runlevel2_gssftp" />
			  <criterion comment="gssftp runlevel 3" test_ref="test_runlevel3_gssftp" />
			  <criterion comment="gssftp runlevel 4" test_ref="test_runlevel4_gssftp" />
			  <criterion comment="gssftp runlevel 5" test_ref="test_runlevel5_gssftp" />
			  <criterion comment="gssftp runlevel 6" test_ref="test_runlevel6_gssftp" />
			</criteria>
		</criteria>
	   <criteria comment="package vsftpd removed or service vsftpd is not configured to start" operator="OR">
		<extend_definition comment="vsftpd removed" definition_ref="package_vsftpd_removed" />
			<criteria operator="AND" comment="service gssftp is not configured to start">
			  <criterion comment="vsftpd runlevel 0" test_ref="test_runlevel0_vsftpd" />
			  <criterion comment="vsftpd runlevel 1" test_ref="test_runlevel1_vsftpd" />
			  <criterion comment="vsftpd runlevel 2" test_ref="test_runlevel2_vsftpd" />
			  <criterion comment="vsftpd runlevel 3" test_ref="test_runlevel3_vsftpd" />
			  <criterion comment="vsftpd runlevel 4" test_ref="test_runlevel4_vsftpd" />
			  <criterion comment="vsftpd runlevel 5" test_ref="test_runlevel5_vsftpd" />
			  <criterion comment="vsftpd runlevel 6" test_ref="test_runlevel6_vsftpd" />
			</criteria>
		</criteria>
	</criteria>
  </definition>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel0_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel0_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel1_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel1_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel2_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel2_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel3_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel3_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel4_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel4_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel5_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel5_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel6_gssftp"
  version="2">
    <unix:object object_ref="obj_runlevel6_gssftp" />
    <unix:state state_ref="state_service_gssftp_off" />
  </unix:runlevel_test>
  <unix:runlevel_object id="obj_runlevel0_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">0</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel1_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">1</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel2_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">2</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel3_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">3</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel4_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">4</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel5_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">5</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel6_gssftp" version="1">
    <unix:service_name>gssftp</unix:service_name>
    <unix:runlevel operation="equals">6</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_state comment="not configured to start" id="state_service_gssftp_off" version="1">
    <unix:start datatype="boolean">false</unix:start>
    <unix:kill datatype="boolean">true</unix:kill>
  </unix:runlevel_state>
  
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel0_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel0_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel1_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel1_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel2_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel2_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel3_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel3_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel4_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel4_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel5_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel5_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_test check="all" check_existence="any_exist"
  comment="Runlevel test" id="test_runlevel6_vsftpd"
  version="2">
    <unix:object object_ref="obj_runlevel6_vsftpd" />
    <unix:state state_ref="state_service_vsftpd_off" />
  </unix:runlevel_test>
  <unix:runlevel_object id="obj_runlevel0_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">0</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel1_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">1</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel2_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">2</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel3_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">3</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel4_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">4</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel5_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">5</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_object id="obj_runlevel6_vsftpd" version="1">
    <unix:service_name>vsftpd</unix:service_name>
    <unix:runlevel operation="equals">6</unix:runlevel>
  </unix:runlevel_object>
  <unix:runlevel_state comment="not configured to start" id="state_service_vsftpd_off" version="1">
    <unix:start datatype="boolean">false</unix:start>
    <unix:kill datatype="boolean">true</unix:kill>
  </unix:runlevel_state>

</def-group>
