From 87dc8ebb6aab0c9e1a03e5595f8860636968e067 Mon Sep 17 00:00:00 2001 From: Francesco Mecca Date: Thu, 7 Feb 2019 00:11:49 +0100 Subject: [PATCH] sicurezza 29 --- .../esercizi/sicurezza2/apache2.conf | 222 +++++ .../sicurezza2/conf-available/charset.conf | 8 + .../conf-available/localized-error-pages.conf | 81 ++ .../other-vhosts-access-log.conf | 4 + .../sicurezza2/conf-available/php7.0-fpm.conf | 19 + .../conf-available/phpldapadmin.conf | 1 + .../sicurezza2/conf-available/security.conf | 73 ++ .../conf-available/serve-cgi-bin.conf | 20 + .../sicurezza2/conf-enabled/charset.conf | 1 + .../conf-enabled/localized-error-pages.conf | 1 + .../conf-enabled/other-vhosts-access-log.conf | 1 + .../sicurezza2/conf-enabled/phpldapadmin.conf | 1 + .../sicurezza2/conf-enabled/security.conf | 1 + .../conf-enabled/serve-cgi-bin.conf | 1 + .../sicurezza2/docs/1_usermanagement.doc | Bin 0 -> 153600 bytes .../esercizi/sicurezza2/docs/3_webserver.doc | Bin 0 -> 65536 bytes .../mie/Sicurezza/esercizi/sicurezza2/envvars | 47 + anno2/mie/Sicurezza/esercizi/sicurezza2/magic | 935 ++++++++++++++++++ .../mods-available/access_compat.load | 2 + .../sicurezza2/mods-available/actions.conf | 11 + .../sicurezza2/mods-available/actions.load | 1 + .../sicurezza2/mods-available/alias.conf | 24 + .../sicurezza2/mods-available/alias.load | 1 + .../mods-available/allowmethods.load | 1 + .../sicurezza2/mods-available/asis.load | 2 + .../sicurezza2/mods-available/auth_basic.load | 2 + .../mods-available/auth_digest.load | 2 + .../sicurezza2/mods-available/auth_form.load | 2 + .../sicurezza2/mods-available/authn_anon.load | 1 + .../sicurezza2/mods-available/authn_core.load | 1 + .../sicurezza2/mods-available/authn_dbd.load | 2 + .../sicurezza2/mods-available/authn_dbm.load | 1 + .../sicurezza2/mods-available/authn_file.load | 1 + .../mods-available/authn_socache.load | 1 + .../mods-available/authnz_fcgi.load | 1 + .../mods-available/authnz_ldap.load | 2 + .../sicurezza2/mods-available/authz_core.load | 1 + .../sicurezza2/mods-available/authz_dbd.load | 2 + .../sicurezza2/mods-available/authz_dbm.load | 2 + .../mods-available/authz_groupfile.load | 2 + .../sicurezza2/mods-available/authz_host.load | 2 + .../mods-available/authz_owner.load | 1 + .../sicurezza2/mods-available/authz_user.load | 2 + .../sicurezza2/mods-available/autoindex.conf | 96 ++ .../sicurezza2/mods-available/autoindex.load | 1 + .../sicurezza2/mods-available/buffer.load | 1 + .../sicurezza2/mods-available/cache.load | 1 + .../sicurezza2/mods-available/cache_disk.conf | 27 + .../sicurezza2/mods-available/cache_disk.load | 2 + .../mods-available/cache_socache.load | 2 + .../sicurezza2/mods-available/cgi.load | 1 + .../sicurezza2/mods-available/cgid.conf | 4 + .../sicurezza2/mods-available/cgid.load | 1 + .../mods-available/charset_lite.load | 1 + .../sicurezza2/mods-available/data.load | 1 + .../sicurezza2/mods-available/dav.load | 1 + .../sicurezza2/mods-available/dav_fs.conf | 3 + .../sicurezza2/mods-available/dav_fs.load | 2 + .../sicurezza2/mods-available/dav_lock.load | 1 + .../sicurezza2/mods-available/dbd.load | 1 + .../sicurezza2/mods-available/deflate.conf | 14 + .../sicurezza2/mods-available/deflate.load | 2 + .../sicurezza2/mods-available/dialup.load | 1 + .../sicurezza2/mods-available/dir.conf | 5 + .../sicurezza2/mods-available/dir.load | 1 + .../sicurezza2/mods-available/dump_io.load | 1 + .../sicurezza2/mods-available/echo.load | 1 + .../sicurezza2/mods-available/env.load | 1 + .../sicurezza2/mods-available/expires.load | 1 + .../sicurezza2/mods-available/ext_filter.load | 1 + .../sicurezza2/mods-available/file_cache.load | 2 + .../sicurezza2/mods-available/filter.load | 1 + .../sicurezza2/mods-available/headers.load | 1 + .../sicurezza2/mods-available/heartbeat.load | 3 + .../mods-available/heartmonitor.load | 3 + .../sicurezza2/mods-available/ident.load | 1 + .../sicurezza2/mods-available/include.load | 2 + .../sicurezza2/mods-available/info.conf | 15 + .../sicurezza2/mods-available/info.load | 1 + .../mods-available/lbmethod_bybusyness.load | 2 + .../mods-available/lbmethod_byrequests.load | 2 + .../mods-available/lbmethod_bytraffic.load | 2 + .../mods-available/lbmethod_heartbeat.load | 2 + .../sicurezza2/mods-available/ldap.conf | 6 + .../sicurezza2/mods-available/ldap.load | 1 + .../sicurezza2/mods-available/log_debug.load | 1 + .../mods-available/log_forensic.load | 1 + .../sicurezza2/mods-available/lua.load | 1 + .../sicurezza2/mods-available/macro.load | 1 + .../sicurezza2/mods-available/mime.conf | 249 +++++ .../sicurezza2/mods-available/mime.load | 1 + .../sicurezza2/mods-available/mime_magic.conf | 5 + .../sicurezza2/mods-available/mime_magic.load | 1 + .../sicurezza2/mods-available/mpm_event.conf | 18 + .../sicurezza2/mods-available/mpm_event.load | 2 + .../mods-available/mpm_prefork.conf | 16 + .../mods-available/mpm_prefork.load | 2 + .../sicurezza2/mods-available/mpm_worker.conf | 22 + .../sicurezza2/mods-available/mpm_worker.load | 2 + .../mods-available/negotiation.conf | 20 + .../mods-available/negotiation.load | 1 + .../sicurezza2/mods-available/php7.0.conf | 25 + .../sicurezza2/mods-available/php7.0.load | 2 + .../sicurezza2/mods-available/proxy.conf | 27 + .../sicurezza2/mods-available/proxy.load | 1 + .../sicurezza2/mods-available/proxy_ajp.load | 2 + .../mods-available/proxy_balancer.conf | 15 + .../mods-available/proxy_balancer.load | 2 + .../mods-available/proxy_connect.load | 2 + .../mods-available/proxy_express.load | 2 + .../sicurezza2/mods-available/proxy_fcgi.load | 2 + .../mods-available/proxy_fdpass.load | 2 + .../sicurezza2/mods-available/proxy_ftp.conf | 8 + .../sicurezza2/mods-available/proxy_ftp.load | 2 + .../sicurezza2/mods-available/proxy_html.conf | 75 ++ .../sicurezza2/mods-available/proxy_html.load | 2 + .../sicurezza2/mods-available/proxy_http.load | 2 + .../sicurezza2/mods-available/proxy_scgi.load | 2 + .../mods-available/proxy_wstunnel.load | 2 + .../sicurezza2/mods-available/ratelimit.load | 2 + .../sicurezza2/mods-available/reflector.load | 1 + .../sicurezza2/mods-available/remoteip.load | 1 + .../sicurezza2/mods-available/reqtimeout.conf | 27 + .../sicurezza2/mods-available/reqtimeout.load | 1 + .../sicurezza2/mods-available/request.load | 1 + .../sicurezza2/mods-available/rewrite.load | 1 + .../sicurezza2/mods-available/sed.load | 1 + .../sicurezza2/mods-available/session.load | 1 + .../mods-available/session_cookie.load | 2 + .../mods-available/session_crypto.load | 2 + .../mods-available/session_dbd.load | 2 + .../sicurezza2/mods-available/setenvif.conf | 32 + .../sicurezza2/mods-available/setenvif.load | 1 + .../mods-available/slotmem_plain.load | 1 + .../mods-available/slotmem_shm.load | 1 + .../mods-available/socache_dbm.load | 1 + .../mods-available/socache_memcache.load | 1 + .../mods-available/socache_shmcb.load | 1 + .../sicurezza2/mods-available/speling.load | 1 + .../sicurezza2/mods-available/ssl.conf | 85 ++ .../sicurezza2/mods-available/ssl.load | 2 + .../sicurezza2/mods-available/status.conf | 29 + .../sicurezza2/mods-available/status.load | 1 + .../sicurezza2/mods-available/substitute.load | 1 + .../sicurezza2/mods-available/suexec.load | 1 + .../sicurezza2/mods-available/unique_id.load | 1 + .../sicurezza2/mods-available/userdir.conf | 17 + .../sicurezza2/mods-available/userdir.load | 1 + .../sicurezza2/mods-available/usertrack.load | 1 + .../mods-available/vhost_alias.load | 1 + .../sicurezza2/mods-available/xml2enc.load | 1 + .../mods-enabled/access_compat.load | 1 + .../sicurezza2/mods-enabled/actions.load | 1 + .../sicurezza2/mods-enabled/alias.conf | 1 + .../sicurezza2/mods-enabled/alias.load | 1 + .../sicurezza2/mods-enabled/auth_basic.load | 1 + .../sicurezza2/mods-enabled/authn_core.load | 1 + .../sicurezza2/mods-enabled/authn_file.load | 1 + .../sicurezza2/mods-enabled/authz_core.load | 1 + .../sicurezza2/mods-enabled/authz_host.load | 1 + .../sicurezza2/mods-enabled/authz_user.load | 1 + .../sicurezza2/mods-enabled/autoindex.conf | 1 + .../sicurezza2/mods-enabled/autoindex.load | 1 + .../esercizi/sicurezza2/mods-enabled/cgi.load | 1 + .../sicurezza2/mods-enabled/deflate.conf | 1 + .../sicurezza2/mods-enabled/deflate.load | 1 + .../esercizi/sicurezza2/mods-enabled/dir.conf | 1 + .../esercizi/sicurezza2/mods-enabled/dir.load | 1 + .../esercizi/sicurezza2/mods-enabled/env.load | 1 + .../sicurezza2/mods-enabled/filter.load | 1 + .../sicurezza2/mods-enabled/mime.conf | 1 + .../sicurezza2/mods-enabled/mime.load | 1 + .../sicurezza2/mods-enabled/mpm_prefork.conf | 1 + .../sicurezza2/mods-enabled/mpm_prefork.load | 1 + .../sicurezza2/mods-enabled/negotiation.conf | 1 + .../sicurezza2/mods-enabled/negotiation.load | 1 + .../sicurezza2/mods-enabled/php7.0.conf | 1 + .../sicurezza2/mods-enabled/php7.0.load | 1 + .../sicurezza2/mods-enabled/setenvif.conf | 1 + .../sicurezza2/mods-enabled/setenvif.load | 1 + .../mods-enabled/socache_shmcb.load | 1 + .../esercizi/sicurezza2/mods-enabled/ssl.conf | 1 + .../esercizi/sicurezza2/mods-enabled/ssl.load | 1 + .../sicurezza2/mods-enabled/status.conf | 1 + .../sicurezza2/mods-enabled/status.load | 1 + .../mie/Sicurezza/esercizi/sicurezza2/passwd | 1 + .../Sicurezza/esercizi/sicurezza2/plumbers | 1 + .../Sicurezza/esercizi/sicurezza2/ports.conf | 13 + .../sites-available/000-default.conf | 48 + .../sites-available/default-ssl.conf | 28 + .../sites-available/francescomecca.conf | 17 + .../sicurezza2/sites-enabled/000-default.conf | 1 + .../sicurezza2/sites-enabled/default-ssl.conf | 1 + .../ssl/UnitoSigningCA1/ca.db.certs/01.pem | 68 ++ .../ssl/UnitoSigningCA1/ca.db.index | 1 + .../ssl/UnitoSigningCA1/ca.db.index.attr | 1 + .../ssl/UnitoSigningCA1/ca.db.index.old | 0 .../sicurezza2/ssl/UnitoSigningCA1/ca.db.rand | 1 + .../ssl/UnitoSigningCA1/ca.db.serial | 1 + .../ssl/UnitoSigningCA1/ca.db.serial.bak | 1 + .../ssl/UnitoSigningCA1/ca.db.serial.old | 1 + .../ssl/UnitoSigningCA1/signing-ca-1.crt | 22 + .../ssl/UnitoSigningCA1/signing-ca-1.key | 18 + .../sicurezza2/ssl/client/zmiller.crt | 68 ++ .../sicurezza2/ssl/client/zmiller.key | 18 + .../sicurezza2/ssl/client/zmiller.req | 12 + .../sicurezza2/ssl/client_side_auth/ca.cer | 32 + .../sicurezza2/ssl/client_side_auth/ca.key | 54 + .../ssl/client_side_auth/client.cer | 30 + .../ssl/client_side_auth/client.der | Bin 0 -> 1303 bytes .../ssl/client_side_auth/client.der.b64 | 23 + .../ssl/client_side_auth/client.key | 51 + .../ssl/client_side_auth/client.p12 | Bin 0 -> 4053 bytes .../ssl/client_side_auth/client.req | 27 + .../ssl/client_side_auth/server.cer | 29 + .../ssl/client_side_auth/server.key | 51 + .../ssl/client_side_auth/server.req | 27 + .../esercizi/sicurezza2/ssl/ldap/ca.srl | 1 + .../sicurezza2/ssl/ldap/clientkey.pem | 51 + .../sicurezza2/ssl/ldap/clientreq.pem | 29 + .../esercizi/sicurezza2/ssl/ldap/usercert.der | Bin 0 -> 1093 bytes .../sicurezza2/ssl/ldap/usercert.der.b64 | 1 + .../esercizi/sicurezza2/ssl/ldap/usercert.p12 | Bin 0 -> 2693 bytes .../esercizi/sicurezza2/ssl/ldap/usercert.pem | 25 + .../esercizi/sicurezza2/ssl/ldap/userkey.pem | 27 + .../esercizi/sicurezza2/ssl/ldap/userreq.pem | 17 + .../esercizi/sicurezza2/ssl/mk_new_ca_dir.pl | 41 + .../esercizi/sicurezza2/ssl/openssl.cnf | 319 ++++++ .../esercizi/sicurezza2/ssl/server/server.crt | 19 + .../esercizi/sicurezza2/ssl/server/server.key | 27 + .../esercizi/sicurezza2/ssl/server/server.pub | 9 + .../esercizi/sicurezza2/ssl/server/server.req | 18 + .../esercizi/www_slash_data/html/assl/ssl | 1 + .../esercizi/www_slash_data/html/cssl/cssl | 1 + .../www_slash_data/html/cssl/ldap/\\" | 29 + .../html/cssl/ldap/resource.php | 39 + .../www_slash_data/html/cssl/ldap/script.py | 8 + .../www_slash_data/html/es_ldap/form.html | 10 + .../www_slash_data/html/es_ldap/panisson.ldif | 11 + .../www_slash_data/html/es_ldap/renato.ldif | 12 + .../html/es_ldap/renato.modify.ldif | 26 + .../www_slash_data/html/es_ldap/resource.php | 38 + .../esercizi/www_slash_data/html/index.html | 24 + .../esercizi/www_slash_data/html/phpinfo.php | 3 + .../esercizi/www_slash_data/html/protected | 1 + 245 files changed, 3911 insertions(+) create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/apache2.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/charset.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/localized-error-pages.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/other-vhosts-access-log.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/php7.0-fpm.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/phpldapadmin.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/security.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/serve-cgi-bin.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/charset.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/localized-error-pages.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/other-vhosts-access-log.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/phpldapadmin.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/security.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/serve-cgi-bin.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/docs/1_usermanagement.doc create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/docs/3_webserver.doc create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/envvars create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/magic create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/access_compat.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/actions.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/actions.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/alias.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/alias.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/allowmethods.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/asis.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/auth_basic.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/auth_digest.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/auth_form.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_anon.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_core.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_dbd.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_dbm.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_file.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authn_socache.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authnz_fcgi.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authnz_ldap.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_core.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_dbd.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_dbm.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_groupfile.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_host.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_owner.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/authz_user.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/autoindex.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/autoindex.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/buffer.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cache.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cache_disk.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cache_disk.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cache_socache.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cgi.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cgid.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/cgid.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/charset_lite.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/data.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dav.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dav_fs.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dav_fs.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dav_lock.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dbd.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/deflate.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/deflate.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dialup.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dir.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dir.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/dump_io.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/echo.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/env.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/expires.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ext_filter.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/file_cache.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/filter.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/headers.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/heartbeat.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/heartmonitor.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ident.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/include.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/info.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/info.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/lbmethod_bybusyness.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/lbmethod_byrequests.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/lbmethod_bytraffic.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/lbmethod_heartbeat.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ldap.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ldap.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/log_debug.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/log_forensic.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/lua.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/macro.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mime.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mime.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mime_magic.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mime_magic.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_event.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_event.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_prefork.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_prefork.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_worker.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/mpm_worker.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/negotiation.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/negotiation.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/php7.0.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/php7.0.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_ajp.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_balancer.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_balancer.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_connect.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_express.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_fcgi.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_fdpass.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_ftp.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_ftp.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_html.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_html.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_http.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_scgi.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/proxy_wstunnel.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ratelimit.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/reflector.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/remoteip.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/reqtimeout.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/reqtimeout.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/request.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/rewrite.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/sed.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/session.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/session_cookie.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/session_crypto.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/session_dbd.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/setenvif.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/setenvif.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/slotmem_plain.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/slotmem_shm.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/socache_dbm.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/socache_memcache.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/socache_shmcb.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/speling.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ssl.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/ssl.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/status.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/status.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/substitute.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/suexec.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/unique_id.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/userdir.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/userdir.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/usertrack.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/vhost_alias.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-available/xml2enc.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/access_compat.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/actions.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/alias.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/alias.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/auth_basic.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/authn_core.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/authn_file.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/authz_core.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/authz_host.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/authz_user.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/autoindex.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/autoindex.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/cgi.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/deflate.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/deflate.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/dir.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/dir.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/env.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/filter.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/mime.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/mime.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/mpm_prefork.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/mpm_prefork.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/negotiation.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/negotiation.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/php7.0.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/php7.0.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/setenvif.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/setenvif.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/socache_shmcb.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/ssl.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/ssl.load create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/status.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/mods-enabled/status.load create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/passwd create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/plumbers create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ports.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/sites-available/000-default.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/sites-available/default-ssl.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/sites-available/francescomecca.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/sites-enabled/000-default.conf create mode 120000 anno2/mie/Sicurezza/esercizi/sicurezza2/sites-enabled/default-ssl.conf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.certs/01.pem create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.index create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.index.attr create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.index.old create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.rand create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.serial create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.serial.bak create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/ca.db.serial.old create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/signing-ca-1.crt create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/UnitoSigningCA1/signing-ca-1.key create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client/zmiller.crt create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client/zmiller.key create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client/zmiller.req create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/ca.cer create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/ca.key create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.cer create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.der create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.der.b64 create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.key create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.p12 create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/client.req create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/server.cer create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/server.key create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/client_side_auth/server.req create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/ca.srl create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/clientkey.pem create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/clientreq.pem create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/usercert.der create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/usercert.der.b64 create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/usercert.p12 create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/usercert.pem create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/userkey.pem create mode 100755 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/ldap/userreq.pem create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/mk_new_ca_dir.pl create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/openssl.cnf create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/server/server.crt create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/server/server.key create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/server/server.pub create mode 100644 anno2/mie/Sicurezza/esercizi/sicurezza2/ssl/server/server.req create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/assl/ssl create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/cssl/cssl create mode 100644 "anno2/mie/Sicurezza/esercizi/www_slash_data/html/cssl/ldap/\\" create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/cssl/ldap/resource.php create mode 100755 anno2/mie/Sicurezza/esercizi/www_slash_data/html/cssl/ldap/script.py create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/es_ldap/form.html create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/es_ldap/panisson.ldif create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/es_ldap/renato.ldif create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/es_ldap/renato.modify.ldif create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/es_ldap/resource.php create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/index.html create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/phpinfo.php create mode 100644 anno2/mie/Sicurezza/esercizi/www_slash_data/html/protected diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/apache2.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/apache2.conf new file mode 100644 index 0000000..fe47de7 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/apache2.conf @@ -0,0 +1,222 @@ +# This is the main Apache server configuration file. It contains the +# configuration directives that give the server its instructions. +# See http://httpd.apache.org/docs/2.4/ for detailed information about +# the directives and /usr/share/doc/apache2/README.Debian about Debian specific +# hints. +# +# +# Summary of how the Apache 2 configuration works in Debian: +# The Apache 2 web server configuration in Debian is quite different to +# upstream's suggested way to configure the web server. This is because Debian's +# default Apache2 installation attempts to make adding and removing modules, +# virtual hosts, and extra configuration directives as flexible as possible, in +# order to make automating the changes and administering the server as easy as +# possible. + +# It is split into several files forming the configuration hierarchy outlined +# below, all located in the /etc/apache2/ directory: +# +# /etc/apache2/ +# |-- apache2.conf +# | `-- ports.conf +# |-- mods-enabled +# | |-- *.load +# | `-- *.conf +# |-- conf-enabled +# | `-- *.conf +# `-- sites-enabled +# `-- *.conf +# +# +# * apache2.conf is the main configuration file (this file). It puts the pieces +# together by including all remaining configuration files when starting up the +# web server. +# +# * ports.conf is always included from the main configuration file. It is +# supposed to determine listening ports for incoming connections which can be +# customized anytime. +# +# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/ +# directories contain particular configuration snippets which manage modules, +# global configuration fragments, or virtual host configurations, +# respectively. +# +# They are activated by symlinking available configuration files from their +# respective *-available/ counterparts. These should be managed by using our +# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See +# their respective man pages for detailed information. +# +# * The binary is called apache2. Due to the use of environment variables, in +# the default configuration, apache2 needs to be started/stopped with +# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not +# work with the default configuration. + + +# Global configuration +# + +# +# ServerRoot: The top of the directory tree under which the server's +# configuration, error, and log files are kept. +# +# NOTE! If you intend to place this on an NFS (or otherwise network) +# mounted filesystem then please read the Mutex documentation (available +# at ); +# you will save yourself a lot of trouble. +# +# Do NOT add a slash at the end of the directory path. +# +#ServerRoot "/etc/apache2" + +# +# The accept serialization lock file MUST BE STORED ON A LOCAL DISK. +# +Mutex file:${APACHE_LOCK_DIR} default + +# +# PidFile: The file in which the server should record its process +# identification number when it starts. +# This needs to be set in /etc/apache2/envvars +# +PidFile ${APACHE_PID_FILE} + +# +# Timeout: The number of seconds before receives and sends time out. +# +Timeout 300 + +# +# KeepAlive: Whether or not to allow persistent connections (more than +# one request per connection). Set to "Off" to deactivate. +# +KeepAlive On + +# +# MaxKeepAliveRequests: The maximum number of requests to allow +# during a persistent connection. Set to 0 to allow an unlimited amount. +# We recommend you leave this number high, for maximum performance. +# +MaxKeepAliveRequests 100 + +# +# KeepAliveTimeout: Number of seconds to wait for the next request from the +# same client on the same connection. +# +KeepAliveTimeout 5 + + +# These need to be set in /etc/apache2/envvars +User ${APACHE_RUN_USER} +Group ${APACHE_RUN_GROUP} + +# +# HostnameLookups: Log the names of clients or just their IP addresses +# e.g., www.apache.org (on) or 204.62.129.132 (off). +# The default is off because it'd be overall better for the net if people +# had to knowingly turn this feature on, since enabling it means that +# each client request will result in AT LEAST one lookup request to the +# nameserver. +# +HostnameLookups Off + +# ErrorLog: The location of the error log file. +# If you do not specify an ErrorLog directive within a +# container, error messages relating to that virtual host will be +# logged here. If you *do* define an error logfile for a +# container, that host's errors will be logged there and not here. +# +ErrorLog ${APACHE_LOG_DIR}/error.log + +# +# LogLevel: Control the severity of messages logged to the error_log. +# Available values: trace8, ..., trace1, debug, info, notice, warn, +# error, crit, alert, emerg. +# It is also possible to configure the log level for particular modules, e.g. +# "LogLevel info ssl:warn" +# +LogLevel warn + +# Include module configuration: +IncludeOptional mods-enabled/*.load +IncludeOptional mods-enabled/*.conf + +# Include list of ports to listen on +Include ports.conf + + +# Sets the default security model of the Apache2 HTTPD server. It does +# not allow access to the root filesystem outside of /usr/share and /var/www. +# The former is used by web applications packaged in Debian, +# the latter may be used for local directories served by the web server. If +# your system is serving content from a sub-directory in /srv you must allow +# access here, or in any related virtual host. + + Options FollowSymLinks + AllowOverride None + Require all denied + + + + AllowOverride None + Require all granted + + + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + + +# +# Options Indexes FollowSymLinks +# AllowOverride None +# Require all granted +# + + + + +# AccessFileName: The name of the file to look for in each directory +# for additional configuration directives. See also the AllowOverride +# directive. +# +AccessFileName .htaccess + +# +# The following lines prevent .htaccess and .htpasswd files from being +# viewed by Web clients. +# + + Require all denied + + + +# +# The following directives define some format nicknames for use with +# a CustomLog directive. +# +# These deviate from the Common Log Format definitions in that they use %O +# (the actual bytes sent including headers) instead of %b (the size of the +# requested file), because the latter makes it impossible to detect partial +# requests. +# +# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended. +# Use mod_remoteip instead. +# +LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined +LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined +LogFormat "%h %l %u %t \"%r\" %>s %O" common +LogFormat "%{Referer}i -> %U" referer +LogFormat "%{User-agent}i" agent + +# Include of directories ignores editors' and dpkg's backup files, +# see README.Debian for details. + +# Include generic snippets of statements +IncludeOptional conf-enabled/*.conf + +# Include the virtual host configurations: +IncludeOptional sites-enabled/*.conf + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/charset.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/charset.conf new file mode 100644 index 0000000..8b0f415 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/charset.conf @@ -0,0 +1,8 @@ +# Read the documentation before enabling AddDefaultCharset. +# In general, it is only a good idea if you know that all your files +# have this encoding. It will override any encoding given in the files +# in meta http-equiv or xml encoding tags. + +#AddDefaultCharset UTF-8 + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/localized-error-pages.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/localized-error-pages.conf new file mode 100644 index 0000000..f188d80 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/localized-error-pages.conf @@ -0,0 +1,81 @@ +# Customizable error responses come in three flavors: +# 1) plain text +# 2) local redirects +# 3) external redirects +# +# Some examples: +#ErrorDocument 500 "The server made a boo boo." +#ErrorDocument 404 /missing.html +#ErrorDocument 404 "/cgi-bin/missing_handler.pl" +#ErrorDocument 402 http://www.example.com/subscription_info.html +# + +# +# Putting this all together, we can internationalize error responses. +# +# We use Alias to redirect any /error/HTTP_.html.var response to +# our collection of by-error message multi-language collections. We use +# includes to substitute the appropriate text. +# +# You can modify the messages' appearance without changing any of the +# default HTTP_.html.var files by adding the line: +# +#Alias /error/include/ "/your/include/path/" +# +# which allows you to create your own set of files by starting with the +# /usr/share/apache2/error/include/ files and copying them to /your/include/path/, +# even on a per-VirtualHost basis. If you include the Alias in the global server +# context, is has to come _before_ the 'Alias /error/ ...' line. +# +# The default include files will display your Apache version number and your +# ServerAdmin email address regardless of the setting of ServerSignature. +# +# WARNING: The configuration below will NOT work out of the box if you have a +# SetHandler directive in a context somewhere. Adding +# the following three lines AFTER the context should +# make it work in most cases: +# +# SetHandler none +# +# +# The internationalized error documents require mod_alias, mod_include +# and mod_negotiation. To activate them, uncomment the following 37 lines. + +# +# +# +# +# Alias /error/ "/usr/share/apache2/error/" +# +# +# Options IncludesNoExec +# AddOutputFilter Includes html +# AddHandler type-map var +# Order allow,deny +# Allow from all +# LanguagePriority en cs de es fr it nl sv pt-br ro +# ForceLanguagePriority Prefer Fallback +# +# +# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var +# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var +# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var +# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var +# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var +# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var +# ErrorDocument 410 /error/HTTP_GONE.html.var +# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var +# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var +# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var +# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var +# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var +# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var +# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var +# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var +# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var +# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var +# +# +# + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/other-vhosts-access-log.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/other-vhosts-access-log.conf new file mode 100644 index 0000000..5e9f5e9 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/other-vhosts-access-log.conf @@ -0,0 +1,4 @@ +# Define an access log for VirtualHosts that don't define their own logfile +CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/php7.0-fpm.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/php7.0-fpm.conf new file mode 100644 index 0000000..026c52c --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/php7.0-fpm.conf @@ -0,0 +1,19 @@ +# Redirect to local php-fpm if mod_php is not available + + # Enable http authorization headers + SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1 + + + SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost" + + + # Deny access to raw php sources by default + # To re-enable it's recommended to enable access to the files + # only in specific virtual host or directory + Require all denied + + # Deny access to files without filename (e.g. '.php') + + Require all denied + + diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/phpldapadmin.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/phpldapadmin.conf new file mode 120000 index 0000000..3742074 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/phpldapadmin.conf @@ -0,0 +1 @@ +/etc/phpldapadmin/apache.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/security.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/security.conf new file mode 100644 index 0000000..f9f69d4 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/security.conf @@ -0,0 +1,73 @@ +# +# Disable access to the entire file system except for the directories that +# are explicitly allowed later. +# +# This currently breaks the configurations that come with some web application +# Debian packages. +# +# +# AllowOverride None +# Require all denied +# + + +# Changing the following options will not really affect the security of the +# server, but might make attacks slightly more difficult in some cases. + +# +# ServerTokens +# This directive configures what you return as the Server HTTP response +# Header. The default is 'Full' which sends information about the OS-Type +# and compiled in modules. +# Set to one of: Full | OS | Minimal | Minor | Major | Prod +# where Full conveys the most information, and Prod the least. +#ServerTokens Minimal +ServerTokens OS +#ServerTokens Full + +# +# Optionally add a line containing the server version and virtual host +# name to server-generated pages (internal error documents, FTP directory +# listings, mod_status and mod_info output etc., but not CGI generated +# documents or custom error documents). +# Set to "EMail" to also include a mailto: link to the ServerAdmin. +# Set to one of: On | Off | EMail +#ServerSignature Off +ServerSignature On + +# +# Allow TRACE method +# +# Set to "extended" to also reflect the request body (only for testing and +# diagnostic purposes). +# +# Set to one of: On | Off | extended +TraceEnable Off +#TraceEnable On + +# +# Forbid access to version control directories +# +# If you use version control systems in your document root, you should +# probably deny access to their directories. For example, for subversion: +# +# +# Require all denied +# + +# +# Setting this header will prevent MSIE from interpreting files as something +# else than declared by the content type in the HTTP headers. +# Requires mod_headers to be enabled. +# +#Header set X-Content-Type-Options: "nosniff" + +# +# Setting this header will prevent other sites from embedding pages from this +# site as frames. This defends against clickjacking attacks. +# Requires mod_headers to be enabled. +# +#Header set X-Frame-Options: "sameorigin" + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/serve-cgi-bin.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/serve-cgi-bin.conf new file mode 100644 index 0000000..b02782d --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-available/serve-cgi-bin.conf @@ -0,0 +1,20 @@ + + + Define ENABLE_USR_LIB_CGI_BIN + + + + Define ENABLE_USR_LIB_CGI_BIN + + + + ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ + + AllowOverride None + Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch + Require all granted + + + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/charset.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/charset.conf new file mode 120000 index 0000000..4a6ca08 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/charset.conf @@ -0,0 +1 @@ +../conf-available/charset.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/localized-error-pages.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/localized-error-pages.conf new file mode 120000 index 0000000..6e5ddaf --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/localized-error-pages.conf @@ -0,0 +1 @@ +../conf-available/localized-error-pages.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/other-vhosts-access-log.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/other-vhosts-access-log.conf new file mode 120000 index 0000000..8af91e5 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/other-vhosts-access-log.conf @@ -0,0 +1 @@ +../conf-available/other-vhosts-access-log.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/phpldapadmin.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/phpldapadmin.conf new file mode 120000 index 0000000..6888fa5 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/phpldapadmin.conf @@ -0,0 +1 @@ +../conf-available/phpldapadmin.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/security.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/security.conf new file mode 120000 index 0000000..036c97f --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/security.conf @@ -0,0 +1 @@ +../conf-available/security.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/serve-cgi-bin.conf b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/serve-cgi-bin.conf new file mode 120000 index 0000000..d917f68 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/conf-enabled/serve-cgi-bin.conf @@ -0,0 +1 @@ +../conf-available/serve-cgi-bin.conf \ No newline at end of file diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/docs/1_usermanagement.doc b/anno2/mie/Sicurezza/esercizi/sicurezza2/docs/1_usermanagement.doc new file mode 100644 index 0000000000000000000000000000000000000000..ce324b3a4277187a0d88ecf34b04a019d225bcc1 GIT binary patch literal 153600 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 T<>vKcZadetIN$$&(!l=!Tl+(V literal 0 HcmV?d00001 diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/docs/3_webserver.doc b/anno2/mie/Sicurezza/esercizi/sicurezza2/docs/3_webserver.doc new file mode 100644 index 0000000000000000000000000000000000000000..9ae55be61b45ada9e68f1a9602bcf8dc879c61a5 GIT binary patch literal 65536 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 literal 0 HcmV?d00001 diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/envvars b/anno2/mie/Sicurezza/esercizi/sicurezza2/envvars new file mode 100644 index 0000000..91328ac --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/envvars @@ -0,0 +1,47 @@ +# envvars - default environment variables for apache2ctl + +# this won't be correct after changing uid +unset HOME + +# for supporting multiple apache2 instances +if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then + SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}" +else + SUFFIX= +fi + +# Since there is no sane way to get the parsed apache2 config in scripts, some +# settings are defined via environment variables and then used in apache2ctl, +# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. +export APACHE_RUN_USER=www-data +export APACHE_RUN_GROUP=www-data +# temporary state file location. This might be changed to /run in Wheezy+1 +export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid +export APACHE_RUN_DIR=/var/run/apache2$SUFFIX +export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX +# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. +export APACHE_LOG_DIR=/var/log/apache2$SUFFIX + +## The locale used by some modules like mod_dav +export LANG=C +## Uncomment the following line to use the system default locale instead: +#. /etc/default/locale + +export LANG + +## The command to get the status for 'apache2ctl status'. +## Some packages providing 'www-browser' need '--dump' instead of '-dump'. +#export APACHE_LYNX='www-browser -dump' + +## If you need a higher file descriptor limit, uncomment and adjust the +## following line (default is 8192): +#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536' + +## If you would like to pass arguments to the web server, add them below +## to the APACHE_ARGUMENTS environment. +#export APACHE_ARGUMENTS='' + +## Enable the debug mode for maintainer scripts. +## This will produce a verbose output on package installations of web server modules and web application +## installations which interact with Apache +#export APACHE2_MAINTSCRIPT_DEBUG=1 diff --git a/anno2/mie/Sicurezza/esercizi/sicurezza2/magic b/anno2/mie/Sicurezza/esercizi/sicurezza2/magic new file mode 100644 index 0000000..cdf9ac5 --- /dev/null +++ b/anno2/mie/Sicurezza/esercizi/sicurezza2/magic @@ -0,0 +1,935 @@ +# Magic data for mod_mime_magic (originally for file(1) command) +# +# The format is 4-5 columns: +# Column #1: byte number to begin checking from, ">" indicates continuation +# Column #2: type of data to match +# Column #3: contents of data to match +# Column #4: MIME type of result +# Column #5: MIME encoding of result (optional) + +#------------------------------------------------------------------------------ +# Localstuff: file(1) magic for locally observed files +# Add any locally observed files here. + +# Real Audio (Magic .ra\0375) +0 belong 0x2e7261fd audio/x-pn-realaudio +0 string .RMF application/vnd.rn-realmedia + +#video/x-pn-realvideo +#video/vnd.rn-realvideo +#application/vnd.rn-realmedia +# sigh, there are many mimes for that but the above are the most common. + +# Taken from magic, converted to magic.mime +# mime types according to http://www.geocities.com/nevilo/mod.htm: +# audio/it .it +# audio/x-zipped-it .itz +# audio/xm fasttracker modules +# audio/x-s3m screamtracker modules +# audio/s3m screamtracker modules +# audio/x-zipped-mod mdz +# audio/mod mod +# audio/x-mod All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z) + +# Taken from loader code from mikmod version 2.14 +# by Steve McIntyre (stevem@chiark.greenend.org.uk) +# added title printing on 2003-06-24 +0 string MAS_UTrack_V00 +>14 string >/0 audio/x-mod +#audio/x-tracker-module + +#0 string UN05 MikMod UNI format module sound data + +0 string Extended\ Module: audio/x-mod +#audio/x-tracker-module +##>17 string >\0 Title: "%s" + +21 string/c \!SCREAM! audio/x-mod +#audio/x-screamtracker-module +21 string BMOD2STM audio/x-mod +#audio/x-screamtracker-module +1080 string M.K. audio/x-mod +#audio/x-protracker-module +#>0 string >\0 Title: "%s" +1080 string M!K! audio/x-mod +#audio/x-protracker-module +#>0 string >\0 Title: "%s" +1080 string FLT4 audio/x-mod +#audio/x-startracker-module +#>0 string >\0 Title: "%s" +1080 string FLT8 audio/x-mod +#audio/x-startracker-module +#>0 string >\0 Title: "%s" +1080 string 4CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string 6CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string 8CHN audio/x-mod +#audio/x-fasttracker-module +#>0 string >\0 Title: "%s" +1080 string CD81 audio/x-mod +#audio/x-oktalyzer-tracker-module +#>0 string >\0 Title: "%s" +1080 string OKTA audio/x-mod +#audio/x-oktalyzer-tracker-module +#>0 string >\0 Title: "%s" +# Not good enough. +#1082 string CH +#>1080 string >/0 %.2s-channel Fasttracker "oktalyzer" module sound data +1080 string 16CN audio/x-mod +#audio/x-taketracker-module +#>0 string >\0 Title: "%s" +1080 string 32CN audio/x-mod +#audio/x-taketracker-module +#>0 string >\0 Title: "%s" + +# Impuse tracker module (it) +0 string IMPM audio/x-mod +#>4 string >\0 "%s" +#>40 leshort !0 compatible w/ITv%x +#>42 leshort !0 created w/ITv%x + +#------------------------------------------------------------------------------ +# end local stuff +#------------------------------------------------------------------------------ + +# xml based formats! + +# svg + +0 string \38 string \<\!DOCTYPE\040svg image/svg+xml + + +# xml +0 string \2 short 0xbabe application/java + +#------------------------------------------------------------------------------ +# audio: file(1) magic for sound formats +# +# from Jan Nicolai Langfeldt , +# + +# Sun/NeXT audio data +0 string .snd +>12 belong 1 audio/basic +>12 belong 2 audio/basic +>12 belong 3 audio/basic +>12 belong 4 audio/basic +>12 belong 5 audio/basic +>12 belong 6 audio/basic +>12 belong 7 audio/basic + +>12 belong 23 audio/x-adpcm + +# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format +# that uses little-endian encoding and has a different magic number +# (0x0064732E in little-endian encoding). +0 lelong 0x0064732E +>12 lelong 1 audio/x-dec-basic +>12 lelong 2 audio/x-dec-basic +>12 lelong 3 audio/x-dec-basic +>12 lelong 4 audio/x-dec-basic +>12 lelong 5 audio/x-dec-basic +>12 lelong 6 audio/x-dec-basic +>12 lelong 7 audio/x-dec-basic +# compressed (G.721 ADPCM) +>12 lelong 23 audio/x-dec-adpcm + +# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" +# AIFF audio data +8 string AIFF audio/x-aiff +# AIFF-C audio data +8 string AIFC audio/x-aiff +# IFF/8SVX audio data +8 string 8SVX audio/x-aiff + + + +# Creative Labs AUDIO stuff +# Standard MIDI data +0 string MThd audio/unknown +#>9 byte >0 (format %d) +#>11 byte >1 using %d channels +# Creative Music (CMF) data +0 string CTMF audio/unknown +# SoundBlaster instrument data +0 string SBI audio/unknown +# Creative Labs voice data +0 string Creative\ Voice\ File audio/unknown +## is this next line right? it came this way... +#>19 byte 0x1A +#>23 byte >0 - version %d +#>22 byte >0 \b.%d + +# [GRR 950115: is this also Creative Labs? Guessing that first line +# should be string instead of unknown-endian long...] +#0 long 0x4e54524b MultiTrack sound data +#0 string NTRK MultiTrack sound data +#>4 long x - version %ld + +# Microsoft WAVE format (*.wav) +# [GRR 950115: probably all of the shorts and longs should be leshort/lelong] +# Microsoft RIFF +0 string RIFF +# - WAVE format +>8 string WAVE audio/x-wav +>8 string/B AVI video/x-msvideo +# +>8 string CDRA image/x-coreldraw + +# AAC (aka MPEG-2 NBC) +0 beshort&0xfff6 0xfff0 audio/X-HX-AAC-ADTS +0 string ADIF audio/X-HX-AAC-ADIF +0 beshort&0xffe0 0x56e0 audio/MP4A-LATM +0 beshort 0x4De1 audio/MP4A-LATM + +# MPEG Layer 3 sound files +0 beshort&0xfffe =0xfffa audio/mpeg +#MP3 with ID3 tag +0 string ID3 audio/mpeg +# Ogg/Vorbis +0 string OggS application/ogg + +#------------------------------------------------------------------------------ +# c-lang: file(1) magic for C programs or various scripts +# + +# XPM icons (Greg Roelofs, newt@uchicago.edu) +# ideally should go into "images", but entries below would tag XPM as C source +0 string /*\ XPM image/x-xpmi 7bit + +# 3DS (3d Studio files) +#16 beshort 0x3d3d image/x-3ds + +# this first will upset you if you're a PL/1 shop... (are there any left?) +# in which case rm it; ascmagic will catch real C programs +# C or REXX program text +#0 string /* text/x-c +# C++ program text +#0 string // text/x-c++ + +#------------------------------------------------------------------------------ +# commands: file(1) magic for various shells and interpreters +# +#0 string :\ shell archive or commands for antique kernel text +0 string #!/bin/sh application/x-shellscript +0 string #!\ /bin/sh application/x-shellscript +0 string #!/bin/csh application/x-shellscript +0 string #!\ /bin/csh application/x-shellscript +# korn shell magic, sent by George Wu, gwu@clyde.att.com +0 string #!/bin/ksh application/x-shellscript +0 string #!\ /bin/ksh application/x-shellscript +0 string #!/bin/tcsh application/x-shellscript +0 string #!\ /bin/tcsh application/x-shellscript +0 string #!/usr/local/tcsh application/x-shellscript +0 string #!\ /usr/local/tcsh application/x-shellscript +0 string #!/usr/local/bin/tcsh application/x-shellscript +0 string #!\ /usr/local/bin/tcsh application/x-shellscript +# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de) +0 string #!/bin/bash application/x-shellscript +0 string #!\ /bin/bash application/x-shellscript +0 string #!/usr/local/bin/bash application/x-shellscript +0 string #!\ /usr/local/bin/bash application/x-shellscript + +# +# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson) +0 string #!/bin/zsh application/x-shellscript +0 string #!/usr/bin/zsh application/x-shellscript +0 string #!/usr/local/bin/zsh application/x-shellscript +0 string #!\ /usr/local/bin/zsh application/x-shellscript +0 string #!/usr/local/bin/ash application/x-shellscript +0 string #!\ /usr/local/bin/ash application/x-shellscript +#0 string #!/usr/local/bin/ae Neil Brown's ae +#0 string #!\ /usr/local/bin/ae Neil Brown's ae +0 string #!/bin/nawk application/x-nawk +0 string #!\ /bin/nawk application/x-nawk +0 string #!/usr/bin/nawk application/x-nawk +0 string #!\ /usr/bin/nawk application/x-nawk +0 string #!/usr/local/bin/nawk application/x-nawk +0 string #!\ /usr/local/bin/nawk application/x-nawk +0 string #!/bin/gawk application/x-gawk +0 string #!\ /bin/gawk application/x-gawk +0 string #!/usr/bin/gawk application/x-gawk +0 string #!\ /usr/bin/gawk application/x-gawk +0 string #!/usr/local/bin/gawk application/x-gawk +0 string #!\ /usr/local/bin/gawk application/x-gawk +# +0 string #!/bin/awk application/x-awk +0 string #!\ /bin/awk application/x-awk +0 string #!/usr/bin/awk application/x-awk +0 string #!\ /usr/bin/awk application/x-awk +# update to distinguish from *.vcf files by Joerg Jenderek: joerg dot jenderek at web dot de +#0 regex BEGIN[[:space:]]*[{] application/x-awk + +# For Larry Wall's perl language. The ``eval'' line recognizes an +# outrageously clever hack for USG systems. +# Keith Waclena +0 string #!/bin/perl application/x-perl +0 string #!\ /bin/perl application/x-perl +0 string eval\ "exec\ /bin/perl application/x-perl +0 string #!/usr/bin/perl application/x-perl +0 string #!\ /usr/bin/perl application/x-perl +0 string eval\ "exec\ /usr/bin/perl application/x-perl +0 string #!/usr/local/bin/perl application/x-perl +0 string #!\ /usr/local/bin/perl application/x-perl +0 string eval\ "exec\ /usr/local/bin/perl application/x-perl + +#------------------------------------------------------------------------------ +# compress: file(1) magic for pure-compression formats (no archives) +# +# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. +# +# Formats for various forms of compressed data +# Formats for "compress" proper have been moved into "compress.c", +# because it tries to uncompress it to figure out what's inside. + +# standard unix compress +#0 string \037\235 application/x-compress + +# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) +#0 string \037\213 application/x-gzip + +0 string PK\003\004 application/x-zip + +# RAR archiver (Greg Roelofs, newt@uchicago.edu) +0 string Rar! application/x-rar + +# According to gzip.h, this is the correct byte order for packed data. +0 string \037\036 application/octet-stream +# +# This magic number is byte-order-independent. +# +0 short 017437 application/octet-stream + +# XXX - why *two* entries for "compacted data", one of which is +# byte-order independent, and one of which is byte-order dependent? +# +# compacted data +0 short 0x1fff application/octet-stream +0 string \377\037 application/octet-stream +# huf output +0 short 0145405 application/octet-stream + +# Squeeze and Crunch... +# These numbers were gleaned from the Unix versions of the programs to +# handle these formats. Note that I can only uncrunch, not crunch, and +# I didn't have a crunched file handy, so the crunch number is untested. +# Keith Waclena +#0 leshort 0x76FF squeezed data (CP/M, DOS) +#0 leshort 0x76FE crunched data (CP/M, DOS) + +# Freeze +#0 string \037\237 Frozen file 2.1 +#0 string \037\236 Frozen file 1.0 (or gzip 0.5) + +# lzh? +#0 string \037\240 LZH compressed data + +257 string ustar\0 application/x-tar posix +257 string ustar\040\040\0 application/x-tar gnu + +0 short 070707 application/x-cpio +0 short 0143561 application/x-cpio swapped + +0 string = application/x-archive +0 string \! application/x-archive +>8 string debian application/x-debian-package + +#------------------------------------------------------------------------------ +# +# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) +# +0 beshort 0xedab +>2 beshort 0xeedb application/x-rpm + +0 lelong&0x8080ffff 0x0000081a application/x-arc lzw +0 lelong&0x8080ffff 0x0000091a application/x-arc squashed +0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed +0 lelong&0x8080ffff 0x0000031a application/x-arc packed +0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed +0 lelong&0x8080ffff 0x0000061a application/x-arc crunched + +0 leshort 0xea60 application/x-arj + +# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu) +2 string -lh0- application/x-lharc lh0 +2 string -lh1- application/x-lharc lh1 +2 string -lz4- application/x-lharc lz4 +2 string -lz5- application/x-lharc lz5 +# [never seen any but the last; -lh4- reported in comp.compression:] +2 string -lzs- application/x-lha lzs +2 string -lh\ - application/x-lha lh +2 string -lhd- application/x-lha lhd +2 string -lh2- application/x-lha lh2 +2 string -lh3- application/x-lha lh3 +2 string -lh4- application/x-lha lh4 +2 string -lh5- application/x-lha lh5 +2 string -lh6- application/x-lha lh6 +2 string -lh7- application/x-lha lh7 +# Shell archives +10 string #\ This\ is\ a\ shell\ archive application/octet-stream x-shell + +#------------------------------------------------------------------------------ +# frame: file(1) magic for FrameMaker files +# +# This stuff came on a FrameMaker demo tape, most of which is +# copyright, but this file is "published" as witness the following: +# +0 string \ +# +0 string/cB \14 byte 12 (OS/2 1.x format) +#>14 byte 64 (OS/2 2.x format) +#>14 byte 40 (Windows 3.x format) +#0 string IC icon +#0 string PI pointer +#0 string CI color icon +#0 string CP color pointer +#0 string BA bitmap array + +# CDROM Filesystems +32769 string CD001 application/x-iso9660 + +# Newer StuffIt archives (grant@netbsd.org) +0 string StuffIt application/x-stuffit +#>162 string >0 : %s + +# BinHex is the Macintosh ASCII-encoded file format (see also "apple") +# Daniel Quinlan, quinlan@yggdrasil.com +11 string must\ be\ converted\ with\ BinHex\ 4 application/mac-binhex40 +##>41 string x \b, version %.3s + + +#------------------------------------------------------------------------------ +# lisp: file(1) magic for lisp programs +# +# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string ;; text/plain 8bit +# Emacs 18 - this is always correct, but not very magical. +0 string \012( application/x-elc +# Emacs 19 +0 string ;ELC\023\000\000\000 application/x-elc + +#------------------------------------------------------------------------------ +# mail.news: file(1) magic for mail and news +# +# There are tests to ascmagic.c to cope with mail and news. +0 string Relay-Version: message/rfc822 7bit +0 string #!\ rnews message/rfc822 7bit +0 string N#!\ rnews message/rfc822 7bit +0 string Forward\ to message/rfc822 7bit +0 string Pipe\ to message/rfc822 7bit +0 string Return-Path: message/rfc822 7bit +0 string Received: message/rfc822 +0 string Path: message/news 8bit +0 string Xref: message/news 8bit +0 string From: message/rfc822 7bit +0 string Article message/news 8bit +#------------------------------------------------------------------------------ +# msword: file(1) magic for MS Word files +# +# Contributor claims: +# Reversed-engineered MS Word magic numbers +# + +0 string \376\067\0\043 application/msword +0 string \320\317\021\340\241\261 application/msword +0 string \333\245-\0\0\0 application/msword + + + +#------------------------------------------------------------------------------ +# printer: file(1) magic for printer-formatted files +# + +# PostScript +0 string %! application/postscript +0 string \004%! application/postscript + +# Acrobat +# (due to clamen@cs.cmu.edu) +0 string %PDF- application/pdf + +#------------------------------------------------------------------------------ +# sc: file(1) magic for "sc" spreadsheet +# +38 string Spreadsheet application/x-sc + +#------------------------------------------------------------------------------ +# tex: file(1) magic for TeX files +# +# XXX - needs byte-endian stuff (big-endian and little-endian DVI?) +# +# From + +# Although we may know the offset of certain text fields in TeX DVI +# and font files, we can't use them reliably because they are not +# zero terminated. [but we do anyway, christos] +0 string \367\002 application/x-dvi +#0 string \367\203 TeX generic font data +#0 string \367\131 TeX packed font data +#0 string \367\312 TeX virtual font data +#0 string This\ is\ TeX, TeX transcript text +#0 string This\ is\ METAFONT, METAFONT transcript text + +# There is no way to detect TeX Font Metric (*.tfm) files without +# breaking them apart and reading the data. The following patterns +# match most *.tfm files generated by METAFONT or afm2tfm. +2 string \000\021 application/x-tex-tfm +2 string \000\022 application/x-tex-tfm +#>34 string >\0 (%s) + +# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) +0 string \\input\ texinfo text/x-texinfo +0 string This\ is\ Info\ file text/x-info + +# correct TeX magic for Linux (and maybe more) +# from Peter Tobias (tobias@server.et-inf.fho-emden.de) +# +0 leshort 0x02f7 application/x-dvi + +# RTF - Rich Text Format +0 string {\\rtf text/rtf + +#------------------------------------------------------------------------------ +# animation: file(1) magic for animation/movie formats +# +# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) +# MPEG file +# MPEG sequences +0 belong 0x000001BA +>4 byte &0x40 video/mp2p +>4 byte ^0x40 video/mpeg +0 belong 0x000001BB video/mpeg +0 belong 0x000001B0 video/mp4v-es +0 belong 0x000001B5 video/mp4v-es +0 belong 0x000001B3 video/mpv +0 belong&0xFF5FFF1F 0x47400010 video/mp2t +0 belong 0x00000001 +>4 byte&0x1F 0x07 video/h264 + +# FLI animation format +0 leshort 0xAF11 video/fli +# FLC animation format +0 leshort 0xAF12 video/flc +# +# SGI and Apple formats +# Added ISO mimes +0 string MOVI video/sgi +4 string moov video/quicktime +4 string mdat video/quicktime +4 string wide video/quicktime +4 string skip video/quicktime +4 string free video/quicktime +4 string idsc image/x-quicktime +4 string idat image/x-quicktime +4 string pckg application/x-quicktime +4 string/B jP image/jp2 +4 string ftyp +>8 string isom video/mp4 +>8 string mp41 video/mp4 +>8 string mp42 video/mp4 +>8 string/B jp2 image/jp2 +>8 string 3gp video/3gpp +>8 string avc1 video/3gpp +>8 string mmp4 video/mp4 +>8 string/B M4A audio/mp4 +>8 string/B qt video/quicktime +# The contributor claims: +# I couldn't find a real magic number for these, however, this +# -appears- to work. Note that it might catch other files, too, +# so BE CAREFUL! +# +# Note that title and author appear in the two 20-byte chunks +# at decimal offsets 2 and 22, respectively, but they are XOR'ed with +# 255 (hex FF)! DL format SUCKS BIG ROCKS. +# +# DL file version 1 , medium format (160x100, 4 images/screen) +0 byte 1 video/unknown +0 byte 2 video/unknown +# +# Databases +# +# GDBM magic numbers +# Will be maintained as part of the GDBM distribution in the future. +# +0 belong 0x13579ace application/x-gdbm +0 lelong 0x13579ace application/x-gdbm +0 string GDBM application/x-gdbm +# +0 belong 0x061561 application/x-dbm +# +# Executables +# +0 string \177ELF +>16 leshort 0 application/octet-stream +>16 leshort 1 application/x-object +>16 leshort 2 application/x-executable +>16 leshort 3 application/x-sharedlib +>16 leshort 4 application/x-coredump +>16 beshort 0 application/octet-stream +>16 beshort 1 application/x-object +>16 beshort 2 application/x-executable +>16 beshort 3 application/x-sharedlib +>16 beshort 4 application/x-coredump +# +# DOS +0 string MZ application/x-dosexec +# +# KDE +0 string [KDE\ Desktop\ Entry] application/x-kdelnk +0 string \#\ KDE\ Config\ File application/x-kdelnk +# xmcd database file for kscd +0 string \#\ xmcd text/xmcd + +#------------------------------------------------------------------------------ +# pkgadd: file(1) magic for SysV R4 PKG Datastreams +# +0 string #\ PaCkAgE\ DaTaStReAm application/x-svr4-package + +#PNG Image Format +0 string \x89PNG image/png + +# MNG Video Format, +0 string \x8aMNG video/x-mng +0 string \x8aJNG video/x-jng + +#------------------------------------------------------------------------------ +# Hierarchical Data Format, used to facilitate scientific data exchange +# specifications at http://hdf.ncsa.uiuc.edu/ +#Hierarchical Data Format (version 4) data +0 belong 0x0e031301 application/x-hdf +#Hierarchical Data Format (version 5) data +0 string \211HDF\r\n\032 application/x-hdf + +# Adobe Photoshop +0 string 8BPS image/x-photoshop + +# Felix von Leitner +0 string d8:announce application/x-bittorrent + + +# lotus 1-2-3 document +0 belong 0x00001a00 application/x-123 +0 belong 0x00000200 application/x-123 + +# MS Access database +4 string Standard\ Jet\ DB application/msaccess + +## magic for XBase files +#0 byte 0x02 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x03 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x04 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x05 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x30 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x43 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x7b +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x83 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x8b +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0x8e +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0xb3 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 byte 0xf5 +#>8 leshort >0 +#>>12 leshort 0 application/x-dbf +# +#0 leshort 0x0006 application/x-dbt + +# Debian has entries for the old PGP formats: +# pgp: file(1) magic for Pretty Good Privacy +# see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html +#text/PGP key public ring +0 beshort 0x9900 application/pgp +#text/PGP key security ring +0 beshort 0x9501 application/pgp +#text/PGP key security ring +0 beshort 0x9500 application/pgp +#text/PGP encrypted data +0 beshort 0xa600 application/pgp-encrypted +#text/PGP armored data +##public key block +2 string ---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK- application/pgp-keys +0 string -----BEGIN\040PGP\40MESSAGE- application/pgp +0 string -----BEGIN\040PGP\40SIGNATURE- application/pgp-signature +# +# GnuPG Magic: +# +# +#text/GnuPG key public ring +0 beshort 0x9901 application/pgp +#text/OpenPGP data +0 beshort 0x8501 application/pgp-encrypted + +# flash: file(1) magic for Macromedia Flash file format +# +# See +# +# http://www.macromedia.com/software/flash/open/ +# +0 string FWS +>3 byte x application/x-shockwave-flash + +# The following paramaters are created for Namazu. +# +# +# 1999/08/13 +#0 string \