logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak przeprowadzić audyt bezpieczeństwa z Lynis na naszym Raspberry Pi

ghost666 16 Lut 2018 15:19 2406 0
  • Jak przeprowadzić audyt bezpieczeństwa z Lynis na naszym Raspberry Pi
    Niezależnie, czy mamy do czynienia z ogromnym serwerem produkcyjnym, czy niewielką jednopłytkową maszyną z procesorem ARM, bezpieczeństwo sieciowe koniecznie trzeba brać serio, gdy chodzi o dostęp z sieci.

    Nie jest to proste, niezależnie jak bardzo mocno się staramy, to jeśli przegapimy tylko jeden niewielki detal, całe nasze starania mogą pójść na marne. Nie jesteśmy jednak zupełnie bez szans.

    Podobnie jak atakujący hackerzy wykonują skany maszyn w poszukiwaniu dziur, które mogą wykorzystać, tak i operatorzy pragnący zabezpieczyć systemy mogą wykorzystać dodatkowy soft do pomocy. Istnieje szereg narzędzi, które może przeskanować nasz komputer. Jednym z nich jest otwarty Lynis. Możemy go bez problemu wykorzystać do audytu bezpieczeństwa naszej maszyny, który pomoże nam wykryć, gdzie jeszcze znajdują się niezabezpieczone luki.

    Instalacja

    Instalacja Lynisa jest bardzo prosta. Oprócz niego zainstalować możemy jeszcze przy okazji garść innych przydatnych narzędzi:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Dodatkowo zainstalować możemy narzędzia takie jak:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Na Raspberry Pi to może być już za dużo, aczkolwiek na prawdziwym, produkcyjnym serwerze są one bardzo przydatne.

    Używanie

    Aby uruchomić audyt systemu, w linii komend wpisujemy po prostu:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Możemy przeprowadzić także prosty test penetracyjny, uruchamiając Lynis bez uprawnień:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Przykłady te korzystają z domyślnego profilu, który znajduje się w /etc/lynis/default.prf. Jeśli chcemy zmienić profil, to najlepiej jest modyfikacje wprowadzać w kopii profilu w custom.prf, a nie w pliku default.prf bezpośrednio. Program automatycznie wykryje, że dodano plik custom.prf i wykorzysta go przy każdym skanie. Możemy oczywiście manualnie wprowadzać nazwę profilu, jaki chcemy wykorzystać, uruchamiając Lynis:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Program, po przeskanowaniu systemu, wygeneruje listę ostrzeżeń, a każde z nich opatrzone będzie kodem (takim jak ACCT-9628) oraz wyjaśnieniem. Dodatkowo znaleźć możemy tam hiperłącza do dokumentacji, poświęconej temu konkretnemu zagrożeniu, jakie wykrył program.

    Gdy staramy się załatać daną lukę, dobrze jest sprawdzać co jakiś czas stan ostrzeżenia i porównywać z wygenerowanym początkowo komunikatem. Możemy to robić sprawdzając log programu, który znajduje się w /var/log/lynis.log albi też korzystając z komendy:

    Kod: Bash
    Zaloguj się, aby zobaczyć kod


    Zwróci ona informacje na temat tego zagrożenia:

    2017-12-23 11:42:10 Performing test ID ACCT-9628 (Check for auditd)
    2017-12-23 11:42:10 Test: Check auditd status
    2017-12-23 11:42:10 IsRunning: process 'auditd' not found
    2017-12-23 11:42:10 Result: auditd not active
    2017-12-23 11:42:10 Suggestion: Enable auditd to collect audit information [test:ACCT-9628] [details:-] [solution:-]
    2017-12-23 11:42:10 Hardening: assigned partial number of hardening points (0 of 1). Currently having 139 points (out of 227)
    2017-12-23 11:42:10 ===---------------------------------------------------------------===
    


    Lynis na płytkach z procesorem ARM

    Dane podawane przez program dają nam bardzo dużo informacji na temat bezpieczeństwa naszego systemu. Wykorzystać je możemy do skonfigurowania maszyny tak, by była możliwe najbezpieczniejsza, nawet jeśli jest to niewielki komputer jednopłytkowy. Na przykład, po przeskanowaniu 'gołej' instalacji Raspbiana Lynis zwraca następujące dane:

    [ Lynis 2.4.0 ]
    
    ################################################################################
    Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are
    welcome to redistribute it under the terms of the GNU General Public License.
    See the LICENSE file for details about using this software.
    
    2007-2016, CISOfy - https://cisofy.com/lynis/
    Enterprise support available (compliance, plugins, interface and tools)
    ################################################################################
    
    
    [+] Initializing program
    ------------------------------------
    - Detecting OS... [ DONE ]
    - Checking profiles... [ DONE ]
    
    ---------------------------------------------------
    Program version: 2.4.0
    Operating system: Linux
    Operating system name: Debian
    Operating system version: 9.1
    Kernel version: 4.9.59
    Hardware platform: armv7l
    Hostname: raspberrypi
    ---------------------------------------------------
    Profiles: /etc/lynis/default.prf
    Log file: /var/log/lynis.log
    Report file: /var/log/lynis-report.dat
    Report version: 1.0
    Plugin directory: /etc/lynis/plugins
    ---------------------------------------------------
    Auditor: [Not Specified]
    Test category: all
    Test group: all
    ---------------------------------------------------
    - Program update status... [ WARNING ]
    
    ===============================================================================
    Lynis update available
    ===============================================================================
    
    Current version is more than 4 months old
    
    Current version : 240 Latest version : 257
    
    Please update to the latest version.
    New releases include additional features, bug fixes, tests and baselines.
    
    Download the latest version:
    Packages (DEB/RPM) - https://packages.cisofy.com
    Website - https://cisofy.com/downloads/
    GitHub - https://github.com/CISOfy/lynis
    
    ===============================================================================
    
    
    [+] System Tools
    ------------------------------------
    - Scanning available tools...
    - Checking system binaries...
    
    [+] Plugins (phase 1)
    ------------------------------------
    Note: plugins have more extensive tests and may take several minutes to complete
    
    - Plugin: debian
    [
    [+] Debian Tests
    ------------------------------------
    - Checking for system binaries that are required by Debian Tests...
    - Checking /bin... [ FOUND ]
    - Checking /sbin... [ FOUND ]
    - Checking /usr/bin... [ FOUND ]
    - Checking /usr/sbin... [ FOUND ]
    - Checking /usr/local/bin... [ FOUND ]
    - Checking /usr/local/sbin... [ FOUND ]
    - Authentication:
    - PAM (Pluggable Authentication Modules):
    - libpam-tmpdir [ Not Installed ]
    - libpam-usb [ Not Installed ]
    - File System Checks:
    - DM-Crypt, Cryptsetup & Cryptmount:
    - Software:
    - apt-listbugs [ Not Installed ]
    - apt-listchanges [ Installed and enabled for apt ]
    - checkrestart [ Not Installed ]
    - needrestart [ Not Installed ]
    - debsecan [ Not Installed ]
    - debsums [ Not Installed ]
    - fail2ban [ Not Installed ]
    ]
    
    [+] Boot and services
    ------------------------------------
    - Service Manager [ systemd ]
    - Checking UEFI boot [ DISABLED ]
    - Boot loader [ NONE FOUND ]
    - Check running services (systemctl) [ DONE ]
    Result: found 15 running services
    - Check enabled services at boot (systemctl) [ DONE ]
    Result: found 23 enabled services
    - Check startup files (permissions) [ OK ]
    
    [+] Kernel
    ------------------------------------
    - Checking default run level [ RUNLEVEL 5 ]
    - Checking CPU support (NX/PAE)
    CPU support: No PAE or NoeXecute supported [ NONE ]
    - Checking kernel version and release [ DONE ]
    - Checking kernel type [ DONE ]
    - Checking loaded kernel modules [ DONE ]
    Found 20 active modules
    - Checking Linux kernel configuration file [ NOT FOUND ]
    - Checking for available kernel update [ UNKNOWN ]
    - Checking core dumps configuration [ DISABLED ]
    - Checking setuid core dumps configuration [ DEFAULT ]
    - Check if reboot is needed [ UNKNOWN ]
    
    [+] Memory and Processes
    ------------------------------------
    - Checking /proc/meminfo [ FOUND ]
    - Searching for dead/zombie processes [ OK ]
    - Searching for IO waiting processes [ OK ]
    
    [+] Users, Groups and Authentication
    ------------------------------------
    - Administrator accounts [ OK ]
    - Unique UIDs [ OK ]
    - Consistency of group files (grpck) [ OK ]
    - Unique group IDs [ OK ]
    - Unique group names [ OK ]
    - Password file consistency [ OK ]
    - Query system users (non daemons) [ DONE ]
    - NIS+ authentication support [ NOT ENABLED ]
    - NIS authentication support [ NOT ENABLED ]
    - sudoers file [ FOUND ]
    - Check sudoers file permissions [ OK ]
    - PAM password strength tools [ SUGGESTION ]
    - PAM configuration files (pam.conf) [ FOUND ]
    - PAM configuration files (pam.d) [ FOUND ]
    - PAM modules [ NOT FOUND ]
    - LDAP module in PAM [ NOT FOUND ]
    - Accounts without expire date [ OK ]
    - Accounts without password [ OK ]
    - Checking user password aging (minimum) [ DISABLED ]
    - User password aging (maximum) [ DISABLED ]
    - Checking expired passwords [ OK ]
    - Checking Linux single user mode authentication [ OK ]
    - Determining default umask
    - umask (/etc/profile) [ NOT FOUND ]
    - umask (/etc/login.defs) [ SUGGESTION ]
    - LDAP authentication support [ NOT ENABLED ]
    - Logging failed login attempts [ ENABLED ]
    
    [+] Shells
    ------------------------------------
    - Checking shells from /etc/shells
    Result: found 4 shells (valid shells: 4).
    - Session timeout settings/tools [ NONE ]
    - Checking default umask values
    - Checking default umask in /etc/bash.bashrc [ NONE ]
    - Checking default umask in /etc/profile [ NONE ]
    
    [+] File systems
    ------------------------------------
    - Checking mount points
    - Checking /home mount point [ SUGGESTION ]
    - Checking /tmp mount point [ SUGGESTION ]
    - Checking /var mount point [ SUGGESTION ]
    - Query swap partitions (fstab) [ NONE ]
    - Testing swap partitions [ OK ]
    - Testing /proc mount (hidepid) [ SUGGESTION ]
    - Checking for old files in /tmp [ OK ]
    - Checking /tmp sticky bit [ OK ]
    - ACL support root file system [ ENABLED ]
    - Mount options of / [ NON DEFAULT ]
    - Mount options of /boot [ NON DEFAULT ]
    - Disable kernel support of some filesystems
    - Discovered kernel modules: hfs hfsplus jffs2 squashfs udf 
    
    [+] Storage
    ------------------------------------
    - Checking usb-storage driver (modprobe config) [ NOT DISABLED ]
    - Checking USB devices authorization [ ENABLED ]
    - Checking firewire ohci driver (modprobe config) [ NOT DISABLED ]
    
    [+] NFS
    ------------------------------------
    - Query rpc registered programs [ DONE ]
    - Query NFS versions [ DONE ]
    - Query NFS protocols [ DONE ]
    - Check running NFS daemon [ NOT FOUND ]
    
    [+] Name services
    ------------------------------------
    - Checking default DNS search domain [ FOUND ]
    - Searching DNS domain name [ FOUND ]
    Domain name: Home
    - Checking /etc/hosts
    - Checking /etc/hosts (duplicates) [ OK ]
    - Checking /etc/hosts (hostname) [ OK ]
    - Checking /etc/hosts (localhost) [ OK ]
    
    [+] Ports and packages
    ------------------------------------
    - Searching package managers
    - Searching dpkg package manager [ FOUND ]
    - Querying package manager
    - Query unpurged packages [ NONE ]
    - Checking security repository in sources.list file or directory [ WARNING ]
    - Checking vulnerable packages (apt-get only) [ DONE ]
    - Checking package audit tool [ INSTALLED ]
    Found: apt-get
    
    [+] Networking
    ------------------------------------
    - Checking IPv6 configuration [ ENABLED ]
    Configuration method [ AUTO ]
    IPv6 only [ NO ]
    - Checking configured nameservers
    - Testing nameservers
    Nameserver: 192.168.0.5 [ SKIPPED ]
    - Minimal of 2 responsive nameservers [ SKIPPED ]
    - Checking default gateway [ DONE ]
    - Getting listening ports (TCP/UDP) [ DONE ]
    * Found 7 ports
    - Checking promiscuous interfaces [ OK ]
    - Checking waiting connections [ OK ]
    - Checking status DHCP client [ NOT ACTIVE ]
    - Checking for ARP monitoring software [ NOT FOUND ]
    
    [+] Printers and Spools
    ------------------------------------
    - Checking cups daemon [ NOT FOUND ]
    - Checking lp daemon [ NOT RUNNING ]
    
    [+] Software: e-mail and messaging
    ------------------------------------
    - Checking Exim status [ NOT FOUND ]
    - Checking Postfix status [ NOT FOUND ]
    - Checking Dovecot status [ NOT FOUND ]
    - Checking Qmail status [ NOT FOUND ]
    - Checking Sendmail status [ NOT FOUND ]
    
    [+] Software: firewalls
    ------------------------------------
    - Checking iptables kernel module [ FOUND ]
    - Checking iptables policies of chains [ FOUND ]
    INVALID OPTION (Display): YELLOW
    - Checking for empty ruleset [ WARNING ]
    - Checking for unused rules [ OK ]
    - Checking host based firewall [ ACTIVE ]
    
    [+] Software: webserver
    ------------------------------------
    - Checking Apache [ NOT FOUND ]
    - Checking nginx [ NOT FOUND ]
    
    [+] SSH Support
    ------------------------------------
    - Checking running SSH daemon [ FOUND ]
    - Searching SSH configuration [ FOUND ]
    - SSH option: AllowTcpForwarding [ SUGGESTION ]
    - SSH option: ClientAliveCountMax [ SUGGESTION ]
    - SSH option: ClientAliveInterval [ OK ]
    - SSH option: Compression [ SUGGESTION ]
    - SSH option: FingerprintHash [ OK ]
    - SSH option: GatewayPorts [ OK ]
    - SSH option: IgnoreRhosts [ OK ]
    - SSH option: LoginGraceTime [ OK ]
    - SSH option: LogLevel [ SUGGESTION ]
    - SSH option: MaxAuthTries [ SUGGESTION ]
    - SSH option: MaxSessions [ SUGGESTION ]
    - SSH option: PermitRootLogin [ SUGGESTION ]
    - SSH option: PermitUserEnvironment [ OK ]
    - SSH option: PermitTunnel [ OK ]
    - SSH option: Port [ SUGGESTION ]
    - SSH option: PrintLastLog [ OK ]
    - SSH option: Protocol [ NOT FOUND ]
    - SSH option: StrictModes [ OK ]
    - SSH option: TCPKeepAlive [ SUGGESTION ]
    - SSH option: UseDNS [ OK ]
    - SSH option: UsePrivilegeSeparation [ OK ]
    - SSH option: VerifyReverseMapping [ NOT FOUND ]
    - SSH option: X11Forwarding [ SUGGESTION ]
    - SSH option: AllowAgentForwarding [ SUGGESTION ]
    - SSH option: AllowUsers [ NOT FOUND ]
    - SSH option: AllowGroups [ NOT FOUND ]
    
    [+] SNMP Support
    ------------------------------------
    - Checking running SNMP daemon [ NOT FOUND ]
    
    [+] Databases
    ------------------------------------
    No database engines found
    
    [+] LDAP Services
    ------------------------------------
    - Checking OpenLDAP instance [ NOT FOUND ]
    
    [+] PHP
    ------------------------------------
    - Checking PHP [ NOT FOUND ]
    
    [+] Squid Support
    ------------------------------------
    - Checking running Squid daemon [ NOT FOUND ]
    
    [+] Logging and files
    ------------------------------------
    - Checking for a running log daemon [ OK ]
    - Checking Syslog-NG status [ NOT FOUND ]
    - Checking systemd journal status [ FOUND ]
    - Checking Metalog status [ NOT FOUND ]
    - Checking RSyslog status [ FOUND ]
    - Checking RFC 3195 daemon status [ NOT FOUND ]
    - Checking minilogd instances [ NOT FOUND ]
    - Checking logrotate presence [ OK ]
    - Checking log directories (static list) [ DONE ]
    - Checking open log files [ SKIPPED ]
    
    [+] Insecure services
    ------------------------------------
    - Checking inetd status [ NOT ACTIVE ]
    
    [+] Banners and identification
    ------------------------------------
    - /etc/issue [ FOUND ]
    - /etc/issue contents [ WEAK ]
    - /etc/issue.net [ FOUND ]
    - /etc/issue.net contents [ WEAK ]
    
    [+] Scheduled tasks
    ------------------------------------
    - Checking crontab/cronjob [ DONE ]
    
    [+] Accounting
    ------------------------------------
    - Checking accounting information [ NOT FOUND ]
    - Checking sysstat accounting data [ NOT FOUND ]
    - Checking auditd [ NOT FOUND ]
    
    [+] Time and Synchronization
    ------------------------------------
    - NTP daemon found: systemd (timesyncd) [ FOUND ]
    - Checking for a running NTP daemon or client [ OK ]
    
    [+] Cryptography
    ------------------------------------
    - Checking for expired SSL certificates [ NONE ]
    
    [+] Virtualization
    ------------------------------------
    
    [+] Containers
    ------------------------------------
    
    [+] Security frameworks
    ------------------------------------
    - Checking presence AppArmor [ NOT FOUND ]
    - Checking presence SELinux [ NOT FOUND ]
    - Checking presence grsecurity [ NOT FOUND ]
    - Checking for implemented MAC framework [ NONE ]
    
    [+] Software: file integrity
    ------------------------------------
    - Checking file integrity tools
    - Checking presence integrity tool [ NOT FOUND ]
    
    [+] Software: System tooling
    ------------------------------------
    - Checking automation tooling
    - Automation tooling [ NOT FOUND ]
    - Checking for IDS/IPS tooling [ NONE ]
    
    [+] Software: Malware
    ------------------------------------
    
    [+] File Permissions
    ------------------------------------
    - Starting file permissions check
    /etc/lilo.conf [ NOT FOUND ]
    /root/.ssh [ NOT FOUND ]
    
    [+] Home directories
    ------------------------------------
    - Checking shell history files [ OK ]
    
    [+] Kernel Hardening
    ------------------------------------
    - Comparing sysctl key pairs with scan profile
    - kernel.core_uses_pid (exp: 1) [ DIFFERENT ]
    - kernel.ctrl-alt-del (exp: 0) [ OK ]
    - kernel.kptr_restrict (exp: 2) [ DIFFERENT ]
    - kernel.randomize_va_space (exp: 2) [ OK ]
    - kernel.sysrq (exp: 0) [ DIFFERENT ]
    - net.ipv4.conf.all.accept_redirects (exp: 0) [ DIFFERENT ]
    - net.ipv4.conf.all.accept_source_route (exp: 0) [ OK ]
    - net.ipv4.conf.all.bootp_relay (exp: 0) [ OK ]
    - net.ipv4.conf.all.forwarding (exp: 0) [ OK ]
    - net.ipv4.conf.all.log_martians (exp: 1) [ DIFFERENT ]
    - net.ipv4.conf.all.mc_forwarding (exp: 0) [ OK ]
    - net.ipv4.conf.all.proxy_arp (exp: 0) [ OK ]
    - net.ipv4.conf.all.rp_filter (exp: 1) [ DIFFERENT ]
    - net.ipv4.conf.all.send_redirects (exp: 0) [ DIFFERENT ]
    - net.ipv4.conf.default.accept_redirects (exp: 0) [ DIFFERENT ]
    - net.ipv4.conf.default.accept_source_route (exp: 0) [ DIFFERENT ]
    - net.ipv4.conf.default.log_martians (exp: 1) [ DIFFERENT ]
    - net.ipv4.icmp_echo_ignore_broadcasts (exp: 1) [ OK ]
    - net.ipv4.icmp_ignore_bogus_error_responses (exp: 1) [ OK ]
    - net.ipv4.tcp_syncookies (exp: 1) [ OK ]
    - net.ipv4.tcp_timestamps (exp: 0) [ DIFFERENT ]
    - net.ipv6.conf.all.accept_redirects (exp: 0) [ DIFFERENT ]
    - net.ipv6.conf.all.accept_source_route (exp: 0) [ OK ]
    - net.ipv6.conf.default.accept_redirects (exp: 0) [ DIFFERENT ]
    - net.ipv6.conf.default.accept_source_route (exp: 0) [ OK ]
    
    [+] Hardening
    ------------------------------------
    - Installed compiler(s) [ FOUND ]
    - Installed malware scanner [ NOT FOUND ]
    - Installed malware scanner [ NOT FOUND ]
    
    [+] Custom Tests
    ------------------------------------
    - Running custom tests... [ NONE ]
    
    [+] Plugins (phase 2)
    ------------------------------------
    
    ================================================================================
    
    -[ Lynis 2.4.0 Results ]-
    
    Warnings (3):
    ----------------------------
    ! Version of Lynis is very old and should be updated [LYNIS] 
    https://cisofy.com/controls/LYNIS/
    
    ! Can't find any security repository in /etc/apt/sources.list or sources.list.d directory [PKGS-7388] 
    https://cisofy.com/controls/PKGS-7388/
    
    ! iptables module(s) loaded, but no rules active [FIRE-4512] 
    https://cisofy.com/controls/FIRE-4512/
    
    Suggestions (43):
    ----------------------------
    * Install libpam-tmpdir to set $TMP and $TMPDIR for PAM sessions [CUST-0280] 
    https://your-domain.example.org/controls/CUST-0280/
    
    * Install libpam-usb to enable multi-factor authentication for PAM sessions [CUST-0285] 
    https://your-domain.example.org/controls/CUST-0285/
    
    * Install apt-listbugs to display a list of critical bugs prior to each APT installation. [CUST-0810] 
    https://your-domain.example.org/controls/CUST-0810/
    
    * Install debian-goodies so that you can run checkrestart after upgrades to determine which services are using old versions of libraries and need restarting. [CUST-0830] 
    https://your-domain.example.org/controls/CUST-0830/
    
    * Install needrestart, alternatively to debian-goodies, so that you can run needrestart after upgrades to determine which daemons are using old versions of libraries and need restarting. [CUST-0831] 
    https://your-domain.example.org/controls/CUST-0831/
    
    * Install debsecan to generate lists of vulnerabilities which affect this installation. [CUST-0870] 
    https://your-domain.example.org/controls/CUST-0870/
    
    * Install debsums for the verification of installed package files against MD5 checksums. [CUST-0875] 
    https://your-domain.example.org/controls/CUST-0875/
    
    * Install fail2ban to automatically ban hosts that commit multiple authentication errors. [DEB-0880] 
    https://cisofy.com/controls/DEB-0880/
    
    * Use a PAE enabled kernel when possible to gain native No eXecute/eXecute Disable support [KRNL-5677] 
    https://cisofy.com/controls/KRNL-5677/
    
    * Discover why /vmlinuz is missing. Consider manually re-linking. [KRNL-5788] 
    https://cisofy.com/controls/KRNL-5788/
    
    * Check the output of apt-cache policy manually to determine why output is empty [KRNL-5788] 
    https://cisofy.com/controls/KRNL-5788/
    
    * Install a PAM module for password strength testing like pam_cracklib or pam_passwdqc [AUTH-9262] 
    https://cisofy.com/controls/AUTH-9262/
    
    * Configure minimum password age in /etc/login.defs [AUTH-9286] 
    https://cisofy.com/controls/AUTH-9286/
    
    * Configure maximum password age in /etc/login.defs [AUTH-9286] 
    https://cisofy.com/controls/AUTH-9286/
    
    * Default umask in /etc/login.defs could be more strict like 027 [AUTH-9328] 
    https://cisofy.com/controls/AUTH-9328/
    
    * To decrease the impact of a full /home file system, place /home on a separated partition [FILE-6310] 
    https://cisofy.com/controls/FILE-6310/
    
    * To decrease the impact of a full /tmp file system, place /tmp on a separated partition [FILE-6310] 
    https://cisofy.com/controls/FILE-6310/
    
    * To decrease the impact of a full /var file system, place /var on a separated partition [FILE-6310] 
    https://cisofy.com/controls/FILE-6310/
    
    * Disable drivers like USB storage when not used, to prevent unauthorized storage or data theft [STRG-1840] 
    https://cisofy.com/controls/STRG-1840/
    
    * Disable drivers like firewire storage when not used, to prevent unauthorized storage or data theft [STRG-1846] 
    https://cisofy.com/controls/STRG-1846/
    
    * Install debsums utility for the verification of packages with known good database. [PKGS-7370] 
    https://cisofy.com/controls/PKGS-7370/
    
    * Consider running ARP monitoring software (arpwatch,arpon) [NETW-3032] 
    https://cisofy.com/controls/NETW-3032/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : AllowTcpForwarding (YES --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : ClientAliveCountMax (3 --> 2)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : Compression (YES --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : LogLevel (INFO --> VERBOSE)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : MaxAuthTries (6 --> 1)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : MaxSessions (10 --> 2)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : PermitRootLogin (WITHOUT-PASSWORD --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : Port (22 --> )
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : TCPKeepAlive (YES --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : X11Forwarding (YES --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Consider hardening SSH configuration [SSH-7408] 
    - Details : AllowAgentForwarding (YES --> NO)
    https://cisofy.com/controls/SSH-7408/
    
    * Add a legal banner to /etc/issue, to warn unauthorized users [BANN-7126] 
    https://cisofy.com/controls/BANN-7126/
    
    * Add legal banner to /etc/issue.net, to warn unauthorized users [BANN-7130] 
    https://cisofy.com/controls/BANN-7130/
    
    * Enable process accounting [ACCT-9622] 
    https://cisofy.com/controls/ACCT-9622/
    
    * Enable sysstat to collect accounting (no results) [ACCT-9626] 
    https://cisofy.com/controls/ACCT-9626/
    
    * Enable auditd to collect audit information [ACCT-9628] 
    https://cisofy.com/controls/ACCT-9628/
    
    * Install a file integrity tool to monitor changes to critical and sensitive files [FINT-4350] 
    https://cisofy.com/controls/FINT-4350/
    
    * Determine if automation tools are present for system management [TOOL-5002] 
    https://cisofy.com/controls/TOOL-5002/
    
    * One or more sysctl values differ from the scan profile and could be tweaked [KRNL-6000] 
    https://cisofy.com/controls/KRNL-6000/
    
    * Harden compilers like restricting access to root user only [HRDN-7222] 
    https://cisofy.com/controls/HRDN-7222/
    
    * Harden the system by installing at least one malware scanner, to perform periodic file system scans [HRDN-7230] 
    - Solution : Install a tool like rkhunter, chkrootkit, OSSEC
    https://cisofy.com/controls/HRDN-7230/
    
    Follow-up:
    ----------------------------
    - Show details of a test (lynis show details TEST-ID)
    - Check the logfile for all details (less /var/log/lynis.log)
    - Read security controls texts (https://cisofy.com)
    - Use --upload to upload data to central system (Lynis Enterprise users)
    
    ================================================================================
    
    Lynis security scan details:
    
    Hardening index : 57 [########### ]
    Tests performed : 203
    Plugins enabled : 1
    
    Components:
    - Firewall [V]
    - Malware scanner [X]
    
    Lynis Modules:
    - Compliance Status [?]
    - Security Audit [V]
    - Vulnerability Scan [V]
    
    Files:
    - Test and debug information : /var/log/lynis.log
    - Report data : /var/log/lynis-report.dat
    
    ================================================================================
    Notice: Lynis update available
    Current version : 240 Latest version : 257
    ================================================================================
    
    Lynis 2.4.0
    
    Auditing, system hardening, and compliance for UNIX-based systems
    (Linux, macOS, BSD, and others)
    
    2007-2016, CISOfy - https://cisofy.com/lynis/
    Enterprise support available (compliance, plugins, interface and tools)
    
    ================================================================================
    
    [TIP]: Enhance Lynis audits by adding your settings to custom.prf (see /etc/lynis/default.prf for all settings)


    Lynis ocenił nasze zabezpieczenia na 57 punktów - to niezła wartość. W ogólności im więcej punktów, tym lepiej, a wartość około 80 uznać można za bardzo dobrą.

    Jak widać z opisów, są one często dostosowane do klasycznych serwerów x86 i nie mają wielkiego zastosowania w przypadku maszyn z procesorem ARM. Mimo wszystko warto jest jednak dobrze wszystkie przejrzeć i zastosować.

    Jak w wielu przypadkach, tak i w kwestii bezpieczeństwa systemów informatycznych, wszystko jest kwestią kompromisów.

    Dodatkowo, po przeprowadzeniu pierwszego ogólnego audytu bezpieczeństwa możemy sformułować nasze dedykowane zasady przeprowadzania skanu. W tym też celu tworzymy w pliku custom.prf (albo innym, pamiętając o podawaniu jego nazwy) następujące wpisy:

    # Nie będzie instalował apt-listbugs i wszystkich jego zależności 
    skip-test=CUST-0810
    
    # Nie będziemy instalowć puppeta ani nic podobnego
    skip-test=TOOL-5002
    
    # Nie posiadamy źródeł zabezpieczeń dla Raspbiana
    skip-test=PKGS-7388
    
    # Na karcie SD znajduje się domyślny schemat partycji
    skip-test=FILE-6310
    
    # Nie korzystamy z firewire
    skip-test=STRG-1846
    
    # Korzystamy z USB w NCP
    skip-test=STRG-1840
    
    # Nie będzuemy rekompilować jądra, by wspierało auditd
    skip-test=ACCT-9628
    
    # Nie będziemy chronić się przed atakami DDoS, co pozwoli zaoszczędzić zasoby
    skip-test=HTTP-6640
    skip-test=HTTP-6641
    
    # W Raspbianie brak jest vmlinuz 
    skip-test=KRNL-5788
    
    # Nei będziemy rekompilować jądra dla PAE NX
    skip-test=KRNL-5677


    Autor tego poradnika wprowadził wszystkie uwagi z audytu bezpieczeństwa, a także kilka innych zmian nastawionych na bezpieczeństwo w sieci. Udostępnia on obraz tak zmienionego systemu tutaj. Tak zabezpieczony system osiąga 79 punktów w powyższym audycie.

    Źródło: https://ownyourbits.com/2017/12/23/security-audit-your-arm-board-with-lynis/

    Fajne? Ranking DIY
    O autorze
    ghost666
    Tłumacz Redaktor
    Offline 
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    https://twitter.com/Moonstreet_Labs
    ghost666 napisał 11960 postów o ocenie 10197, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
REKLAMA