a public resource for all things web hosting, systems administration, and dedicated server management.

Protecting Your Notebook

If you use your notebook computer for work at Anchor you must take several measures to protect yourself and Anchor against any form of attack and/or data theft.

Protecting Data with Encrypted LVM

Protecting Data with EncFS

If you have any Anchor data of any sort on your notebook, it must be encrypted. EncFS is a relatively easy and relatively secure way to do so.

  1. sudo apt-get install encfs

  2. sudo gpasswd -a USERNAME fuse

  3. sudo echo "fuse" >> /etc/modules

  4. Log out and back in again to re-evaluate group membership
  5. encfs ~/.crypt ~/crypt

  6. Select 'y' and 'y' to create the two directories
  7. Select the paranoia option
  8. Enter a passphrase which will be used to encrypt and later mount the encrypted filesystem

Now, the encrypted files will be stored in ~/.crypt - do not change anything in this directory. The unencrypted files will be mounted in ~/crypt. Add your files here.

You may like to have a simple script that eases mounting and unmounting your encrypted filesystem:

if [ "$1" == "start" ]
then
        encfs -i 15 ~/.crypt ~/crypt
elif [ "$1" == "stop" ]
then
        fusermount -u ~/crypt
fi

Just run 'secret start' and enter the password to mount the encrypted filesystem, or 'secret stop' to unmount it.

The -i parameter specifies a timeout of 15 minutes of inactivity before the filesystem is automatically unmounted.

Protecting yourself with a firewall

The standard Anchor firewall template is a good start for a notebook/home computer firewall. You may like to use something like this:

rules.filter

# allow all on loopback
{ input lo local; output lo local } accept;

# wired ethernet
input eth0 local {
        # FIXME: replace this with smarter ICMP filtering
        proto icmp accept;

        # reject auth instead of dropping it so that services
        # requiring it don't timeout
        proto tcp dport auth reject;

        # additional per-host include fragments
        include input.d

        # unconditionally drop all other packets, do not log
        log text "Incoming" drop;
};

output eth0 local {
        # common output fragments
        include output.d

        log text "Outgoing" drop;
};

If you have a wireless adaptor, say eth1, just duplicate the about input and output sections for the eth1 adaptor.

I've found the following fragments help with every day usage:

input.d

ftp proto tcp sport { ftp ftp-data } accept;

vpn

proto esp source { 202.4.235.107 59.167.253.146 } accept; 
proto udp sport isakmp dport isakmp source { 202.4.235.107 59.167.253.146 } accept;

output.d

domain proto { tcp udp } dport domain accept;

ftp proto tcp dport { ftp ftp-data } accept;

hpprinter proto tcp dport 9100 accept;

icmp proto icmp accept;

ipmi proto udp dport 623 accept;

jabber proto tcp dport 5222 dest 10.108.62.254 accept;

mail proto tcp dport { pop3 pop3s smtp submission } accept;

ntp proto udp dport ntp accept;

rdp proto tcp dport 3389 accept;

ssh proto tcp dport ssh accept;

vnc proto tcp dport 5900 accept;

vpn proto udp sport isakmp dport isakmp dest { 202.4.235.107 59.167.253.146 } accept;

web proto tcp dport { http https } accept;


More articles : Web hosting support, dedicated server administration and useful hosting tools