welcome: please sign in

Diff for "AdminArea"

Differences between revisions 14 and 90 (spanning 76 versions)
Revision 14 as of 2006-12-01 19:50:16
Size: 7140
Editor: exabyte
Comment: Move SSH stuff to Done
Revision 90 as of 2007-10-17 11:30:54
Size: 1200
Editor: MichaelOlson
Comment: Make this slim and trim
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Deleuze = = Introduction =
Line 3: Line 3:
This machine donated by Justin Leitgeb seems real nice. Buffered disk throughput is about 1.5 GB/s. Raw disk reads are 60 MB/s for the two 36 GB disks and 120 MB/s for the 4-disk array. Not bad at all. [[TableOfContents]]
Line 5: Line 5:
== Tasks done == = Special topic pages about the new set-up =
Line 7: Line 7:
 * Removed excessive packages, cleaned up the system
 * Installed ''changetrack'' to monitor all config file changes. The program uses ''rcs'' and automatically keeps previous revisions. It is ran from ''cron'' on a daily basis.
 * Installed ''debsums'' to monitor file md5sums
 * Installed Courier IMAP and IMAP-SSL
 * Installed LDAP for user authentication. The system is currently configured to use LDAP and fallback to the usual ''/etc/'' files. Admin users will be added locally on all machines and will be able to log in even when LDAP is not operational.
 * Installed MIT Kerberos 5
 * Fixed date/time on the system. Installed ''ntpd''
 * Installed TLS support for LDAP. Certificate file is ''/etc/ldap/server.pem'', and ldap/ldaps ports are 389/636.
 * Installed Linux 2.6.18.3-grsec with 2.6.18-mm3 patches (2) for megaraid.
  * The patches and source tree installed, along with the .deb generated, is under /usr/src/ntk2. I set up sockets groups as on fyodor (7070-7072). SMP, with hyperthreading enhancements, is enabled. I also installed a bunch of packages that someone were uninstalled while I was gone (e.g., gcc). I also fixed the sudoers, wheel group, and admin home directories. --NathanKennedy
 * Kerberos + LDAP works.
 * Compiled requisite kernel modules, compiled and installed new OpenIPMI package, and installed dellomsa. Dell OMSA is now working. --NathanKennedy
 * Install SSH.
 * Permit new admins to log in by copying their SSH keys to their newly-created (empty) home directories.

== TODO ==

In order of implementation (soonest first):

 * Fix resolv.conf on both servers to have multiple good DNS servers for now, set it to use localhost once BIND is running and configured.
 * Install AFS (need to repeat the reading on AFS and how it really works. Also it will influence the decision how to format ''/dev/sdb'' in the system) -- DavorOcelic
 * Install MySQL and PostgreSQL (input from AFS step and admin discussion needed to see how to exactly configure this) -- DavorOcelic
 * Install BIND -- DavorOcelic
 * Review kernel configuration and install testnet. -- DavorOcelic
 * Install and configure Apache, to serve static web content only. --MichaelOlson
 * Get domtool2 working (this to be done concurrent with mire).
 * Figure out how to use Dell OMSA or other tools to monitor RAID and other hardware.

== Problems ==

 * With ''debsums'', once you break md5sum of a config file, the file keeps being reported as mismatching even if you completely regenerate md5sums for a package!! -- DavorOcelic
 * The logical volume for /dev/sdb is supposed to be a 4-drive raid array, each drive ~73GB. Right now it seems to be configured as RAID1 mirroring the two drives, for a capacity of ~146G (see dmesg, for instance). This would be faster and the volume would be 73G bigger if it was set up as RAID5. I might need to do this from console, and I need to talk to Justin about it, since he set up the logical volumes and I thought he said that sdb was RAID5. --NathanKennedy
  * Spoke to Justin about this. Nonproblem--it is RAID10 and intended to be so. I will let admins decide the merits of RAID5 vs. RAID10. --NathanKennedy

== Authentication scheme explained ==

Regarding the exact authentication mechanism on HCoop:

We have Kerberos and LDAP working. Kerberos holds user "principals" (account names + passwords), while LDAP keeps account names plus everything else (such as UIDs, GIDs, home directories, real names, permissions etc.). General policy is: all users have LDAP accounts and a Kerberos principal. Admins have passwd file account and a Kerberos principal. When needed, admins can also create a pure local-files-based account.

The whole authentication work is performed though a series of PAM (Pluggable Authentication Modules) configuration directives. PAM has four "management groups", listed in most-common order of execution: auth, account, session, and password. (The exact order of execution is controlled by the order of lines in /etc/pam.d/* files, with each file corresponding to a particular service).

 * Auth is concerned with actual username/password verification in the database. In our setup, when users type in the password, it is verified against the Kerberos database. If three attempts are unsuccessful, another prompt is displayed, allowing a user to enter Unix passwd file password. (Only administrators who create a local account would have one). Then, pam_env is invoked, which reads ''/etc/security/pam_env.conf''. That way you can initialize environment variables in the user session.
 * Account checks things like password aging etc. If the user has an LDAP account, then the Kerberos account module is invoked which checks for the list of allowed principals in ''~/.k5login''. Users with no LDAP account are just checked in the local password files. Then, pam_access is invoked, which reads ''/etc/security/access.conf''. That way you can determine which users (and from where) are allowed to log in.
 * Session sets up session details. First pam_limits is invoked, imposing limits on users as defined in ''/etc/security/limits.conf''. Then pam_krb5 is invoked which will only succeed if the user has a Kerberos principal. (If it has, it initializes the TGT ticket for them automatically). And then, finally, pam_unix_session is called which just logs session creation (and later session termination) to system log files. At that point, users are logged in.
 * Password is the management group involved only in changing the password (or whatever the authentication mechanism is). Currently, by default, Kerberos password is changed. Running '''kpasswd''' will change the Kerberos password; running '''passwd''' will change the local-files password, and will only work for people with pure local accounts.

= Custom software =

 * DomtoolTwo (Adam, will it be possible to change/modify support requests from the command line? Also, it would be so "candy" if the messages regarding ticket status were sent as followups to the original request email, not as completely separate mails). -- DavorOcelic
 * Vmail tools
 * Web portal
 * Watchdog process to kill resource hogs

These are my responsibility. Right now, I'm waiting for the more traditional stuff to be set up and stable before beginning. --AdamChlipala

= Mire =
== Tasks done ==
 * Installed new second SCSI hard drive, reinstalled debian, and configured the drives with software RAID-1. --NathanKennedy

= Global TODO =

 * Make ca@hcoop.net e-mail address working. It's the address used in the certificate files.
 * AndrewFileSystem: Using our new shared filesystem
 * BackupInfo: Information on how to recover deleted files from our off-site backups.
 * DaemonAdmin: Daemon-specific pages aimed at admins
 * DomTool: Administering and using the new domtool
 * IpAddresses: Listing of IPs that we use (nonpublic).
 * NewSystemHardware: Information on the new hardware
 * TaskDistribution: What each sysadmin is responsible for
 * SoftwareArchitecturePlans: Plans for software installation
 * SystemArchitecturePlans: Plans regarding our hardware
 * OnSiteStuff: Checklist for the next on-site visit to the new machines.
 * OneTimeCosts2007: Costs associated with the new servers through April 2007
 * HcoopAddresses: Physical addresses relevant to us
Line 74: Line 23:
 * To connect to hcoop's ldap server using ''gq'', create a SSH tunnel: ''' ssh -p 2222 -f -N -L 389:localhost:389 USERNAME@69.90.123.51''', and then connect to ''localhost:389'' in ''gq''.  * To connect to hcoop's ldap server using ''gq'', create a SSH tunnel: ''' ssh -f -N -L 389:localhost:389 USERNAME@deleuze.hcoop.net''', and then connect to ''localhost:389'' in ''gq''.
 * For the description of the actual authentication scheme, see AuthenticationScheme.

1. Introduction

TableOfContents

2. Special topic pages about the new set-up

3. Global Notes

  • To edit LDAP database from a GUI tool, use gq program

  • To connect to hcoop's ldap server using gq, create a SSH tunnel: ssh -f -N -L 389:localhost:389 USERNAME@deleuze.hcoop.net, and then connect to localhost:389 in gq.

  • For the description of the actual authentication scheme, see AuthenticationScheme.

AdminArea (last edited 2020-08-23 22:16:03 by ClintonEbadi)