>> I have some users on a system and some services.  How can I make sure
>> only certain users can log into certain services?  Do I need to
>> explicitly define which users can log into each service?  Are there
>> different types of users so that some can only log into certain
>> services?
>>
>> For example, I know any user that has their shell set to /bin/nologin
>> can't log into a shell.  How can I check on users' shell settings?
>>
>> - Grant
>
> To do this you configure each service separately (there is no central
> registry-type thing for this). You don't say what "services" you are
> interested in, so I have to make some assumptions.
>
> apache, samba, ftp servers, all have their own authentication methods. You
> have to research what methods they provide, and choose which is most
> appropriate. For instance, Samba can auth against kerberos/ldap or using a
> local smbpasswd file. For a specific user to be able to access something via
> samba, you ensure they have an entry in AD or a line in smbpasswd.
>
> For more simple local services, you can use user and group permissions. I have
> to restrict cron and wget at work, I find the easiest way is to:
> chown root:trusted /usr/bin/wget
> chown root:trusted /usr/bin/crontab
> users authorized to use wget/cron must then be put in the trusted group.
>
> cron has it's cron.allow and cron.deny files that you can also use.
>
> sshd has config options to limit who can do what in sshd_config.
>
> If you post back with more specifics about what you want to achieve, we can
> assist you better.

As far as open ports, most of my systems only run sshd and cupsd.
I've set AllowUsers in sshd_config to only allow my own non-root user
to log in, and I've locked down cupsd.conf.  However, one of my
systems runs things like apache2, postfix, courier-imap, saslauthd,
mysql, and sshd.  I set them up to be secure when I installed them,
but I wonder about the different users on my system (none of them with
shell access) and their access to the different services.  Should I go
through each of these services and set up something similar to
AllowUsers so that only certain users have access to certain services?

On the subject of users, there are a lot of users in /etc/passwd,
although most of them have /bin/false or /sbin/nologin.  There are 8
users who have a different shell defined.  The first 3 are fine:

root /bin/bash
user /bin/bash
cart /bin/bash

The next 3 are probably fine:

sync /bin/sync
shutdown /sbin/shutdown
halt /sbin/halt

But I don't recognize the following 2.  Should I userdel them?

operator /bin/bash
guest /dev/null

mysql only needs to connect to a daemon running on the same system,
and I think it does so via a unix socket as opposed to tcp.  I can see
from netstat that /var/run/mysqld/mysqld.sock is connected, there is
no mention of a tcp mysql connection, and nmap does not show a mysql
port to be open.  Is there anything else I should do as far as locking
down mysql?  I'm the only one with shell access to the system.

I would appreciate any other security advice regarding any of the
above-mentioned services.

Thanks,
Grant

Reply via email to