Webmin to remotely administer your LinkStation
This article based on work done by Frontalot at Linkstationwiki.org
Webmin is a system configuration tool for Unix-like systems. It has a web-based interface (GUI) desktop environment independent, for configuring some of the internals of the operating system. Webmin is largely based on Perl, and is running as its own process, and webserver. It usually uses TCP port 10000 for communicating, and can be configured to use SSL if OpenSSL is installed. It is built around modules, which have an interface to the config files, and an interface to the webmin server. This makes it easy to add new functionality, without too much work. And due to Webmin's modular design, it would be possible, for anyone who is interested, to write plugins for desktop configuration. Webmin also allows for controlling many machines through a single interface, or seamless login on other webmin hosts in the same LAN. Primarily coded by Australian Jamie Cameron, Webmin is released under the BSD license. Webmin has a sister project, called Usermin, which is similar to Webmin, only designed for general usage tasks, not just administration tasks.
Using Debian's apt-get package installer Install Webmin and its related packages. This will install the core features, the CPAN interface (for installing Perl modules), a java-based file manager, and firewall (iptables) manager. Use the command:
apt-get install webmin webmin-core webmin-cpan webmin-inetd webmin-logrotate webmin-firewall
You also can upgrade to webmin v1.3 (or whatever the current release is) by then installing some associated perl dependancies and the webmin dpkg
apt-get install libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl wget http://mesh.dl.sourceforge.net/sourceforge/webadmin/webmin_1.300_all.deb dpkg -i webmin_1.300_all.deb
There is also a really nice theme at StressFree Solutions: the Webmin 'Tiger' themeCite error: Closing
</ref> missing for
- Click on the Servers tab, then click on the Samba icon.
- Let's start by configuring some settings and tuning the performance variables. Click on the Unix Networking Options icon. Here is a good base configuration:
- Idle time before disconnect - Never
- Trusted hosts/users file - None
- Network interfaces - Automatic
- Keepalive packets - Don't send any Send every Secs
- Maximum packet size - Default Bytes
- Listen on address - All
- Socket options - TCP_NODELAY, IPTOS_LOWDELAY, SO_SNDBUF 4096
- Click save after each completing each section. Remember this is only a base configuration and you may need to adjust them for your particular system and needs. Now click on the Windows Networking Options icon. Make sure your correct workgroup is entered. You shouldn't need to change any other settings.
- Now click on the Authentication icon. Select yes for encrypted passwords, no to null passwords, and no to change Unix passwords.
- Select Miscellaneous Options. The following is a good base configuration:
- Debug Level - Default
- Cache getwd() calls? - Yes
- Lock directory - Default
- Log file - Default
- Max log size - 1,000 kB
- Allow raw reads? - Yes
- Allow raw writes? - Yes
- Overlapping read size - Default
- chroot() directory - None
- Path to smbrun - Default
- Client time offset - 0 Mins
- Read prediction? - No
- It may sound incorrect, but do not select read prediction as it actually decreases performance in most situations.
- Next click on Convert Unix Users to Samba Users and do just as the title implies.
- Select Edit Samba Users and Passwords and make sure to enable the accounts you wish to use and disable the accounts you don't wish to use.
- Then click on Create a New File Share and create a file share via the user you wish to own this share (not root). Make sure that this user has the appropriate permissions to create the share. This is the number one problem users encounter so I will repeat it one more time: Make sure that this user has the appropriate permissions to create the share.
- Select Security and Access Control and customize the permissions to your needs.
- Click on Restart Samba Servers and you're done!
- You can configure Apache through Webmin by selecting Servers, then clicking the Apache icon. However, I find it much easier to edit the /etc/apache/httpd.conf file. Everything is clearly documented and virtually idiot-proof.
- Select Servers, MySQL Database Server, User Permissions, and update the usernames and passwords. Don't delete the default Debian account!
- Select Backup Databases and set up a backup schedule. This is very, very important (lest you wish to start from scratch)!
- You can manually add/delete databases, tables, and so on. However, most programs will automatically create their necessary tables and only require that you create an appropriate user.
- Select Servers then Snort IDS. Enable or disable the rules you want. Most rules are enabled by default and will work as such; the rules which are not enabled by default require extensive customization to configure (something I can't cover here).
- Next select Network Settings and ensure all the port settings are correct.
- Click on Edit Config File and make sure all your information is correct, including the HTTP_PORTS and RULE_PATH. If you're having trouble with rules not being found, try manually entering the rule path (for example, /etc/snort/rules/local.rules) or completely removing the rule path (for example, local.rules).
- Restart Snort and you're good to go. I highly recommend you do a more thorough reading on Snort. You can download new rules, learn to create custom rules, and more at the official website.