%lin001w
A program installed in your system has probably been not installed
by a package of your Linux packaging system. If this binary has
been installed by the administrator note that /usr/local/ is the
place for this files.
%lin002i
Installed processes listening on Internet interfaces must be
tightly controlled since they are the "open doors" to the 
outside.
%lin003w
Processes that have not been run by root are listening on
interfaces open to the outside. This processes might have been
run by root and changed uids or might be rogue processes.
Confirm if their presence is necessary.
Notice that sometimes services open sporadic UDP listeners to 
receive DNS requests, if you receive reports on open UDP services
that later on are closed this might be a false positive.
%lin004i
Netstat can be used instead of lsof in order to provide information
on listening processes, however it will provide less info since it
cannot determine the process (or PID) associated with the open socket
or the user that runs it.
%lin005f
In Debian systems, checksums are stored in /var/lib/dpkg/info/
if the md5sum of a file differs from the checksum of installed packages
it might be due to changes made by the system administrator (for
example, files in /etc) by everyday use of by a possible intruder
(who might have placed a trojan instead of the checked file)
Be forewarned, an attacker might have modified this info files
(they are not protected against this)
%lin006w
A file installed by a package no longer exists in the system and
cannot be checked for. An administrator should not remove files from
the system, they should be removed uninstalling the packages that
provided them. This is an unusual behavior.
%lin007w
In the default configuration of many GNU/Linux distributions users can
reboot the machine pressing Ctrl+Alt+Delete while in console mode. This can
be considered a security risk if an attacker can easily taken down the
server from console.
%lin008e
The /proc pseudo-filesystem is needed to check the network configuration
settings in the kernel and determine insecure setups. /proc is available
when the kernel is compiled with the CONFIG_PROC_FS=Y option (if you want
to modify them you also need to add the CONFIG_SYSCTL=Y option). You also
need to have it mounted, if it's not try: 'mount -t proc proc /proc'.
This is usually done in most distributions per default.
%lin009i
The kernel will answer (per configuration) to ICMP echo requests in any
interface. You might want to configure it to not answer to this requests
and thus make it more "invisible". Do it with:
# sysctl -w net.ipv4.icmp_echo_ignore_all=1 
Note, however, that this violates RFCs.
%lin010f
The system will answer to ICMP broadcast echo messages. This is considered
a problem since ICMP broadcasts can cause network denial of service as
the same time as giving away the location of the hosts. To remove this do:
 # sysctl -w net.ipv4.icmp_echo_ignore_broadcasts = 1
%lin011f
The system is configured to answer to bad formatted ICMP messages. This
behavior is not recommended, please unconfigure it with:
# sysctl -w net.ipv4.icmp_ignore_bogus_error_responses = 1
%lin012w
The system is configured to accept ICMP redirects, this might or might
not be necessary in your network topology. If you have multiple routers
to which connect through to outside locations it might be necessary,
otherwise remote it since an attacker could send bogus ICMP redirection
messages to try to route the outgoing network packets to other systems
(including his own) and thus allowing for man in the middle or
denial of service attacks:
 # sysctl -w net.ipv4.conf.all.accept_redirects = 0
 # sysctl -w net.ipv4.conf.default.accept_redirects = 0
%lin013f
It is common to protect systems against Denial of Service attacks using
SYN packets (commonly known as "SYN flooding") by activating support
of TCP syncookies. Note, however, that activating this violates some RFCS:
  # sysctl -w net.ipv4.tcp_syncookies = 1
%lin014f
It is possible to send IP spoofed packets from this machine. Spoofed
packets are commonly used by trojans that make use of compromised hosts
to deliver denial of service, man in the middle or conection hijacking.
You should consider configuring your kernel to not permit this:
  # sysctl -w net.ipv4.conf.all.rp_filter = 2
  # sysctl -w net.ipv4.conf.default.rp_filter = 2
%lin015w
IP forwarding is the option that permits the system to act as a router
and thus resend packets from one network interface to another. If your
system is not acting as such this option should be disabled:
 # sysctl -w net.ipv4.ip_forward = 0
%lin016f
Source routing might permit an attacker to send packets through your
host (if routing is enabled) to other hosts without following your 
network topology setup. It should be enabled only under very special
circumstances or otherwise an attacker could try to bypass the traffic
filtering that is done on the network:
  # sysctl -w net.ipv4.conf.all.accept_source_route = 0
  # sysctl -w net.ipv4.conf.default.accept_source_route = 0
%lin017w
Suspicious packets recieved by the kernel should be logged to detect
incoming attacks. To activate this logging capability:
  # sysctl -w net.ipv4.conf.all.log_martians = 1
  # sysctl -w net.ipv4.conf.default.log_martians = 1
%lin018w
The "weak end host" description in the RFC1122 permits multihomed systems
to receive packets for a network interface from another network interface.
This, as a matter of fact, removes the benefit of configuring services
and binding them to a single IP address (not to all IP addresses). 
For 2.2 kernels remove this option with:
  # echo 1 > /proc/sys/net/ipv4/conf/eth1/hidden
For 2.4 and later kernels you might need to patch the kernel or configure
your firewalling rules properly.
