Linux.com

bluedemon

bluedemon

  • Linux.com Member
  • Posts: 3
  • Member Since: 11 Dec 09
  • Last Logged In: 26 Mar 12

Latest Posts

Posted by
Topic
Post Preview
Posted
  • bluedemon
    RE: SMTP (smtp.domain.com), POP3 (mail.domain.com), MX
    The DNS MX record should be pointing to the SMTP server. When email gets sent out the email client(or associated server) looks at the @domain.com and does a dns lookup for the MX record for "domain.com". It then contacts port 25(SMTP) on the server specified by the MX record and sends the email through. In your case if you have an internal and external SMTP server you will probably need to configure DNS for internal and external views. The internal zone will use an MX record for the internal SMTP server and the external zone will use an MX record pointing to the external/public SMTP server.
    Link to this post 19 Nov 10

    The DNS MX record should be pointing to the SMTP server. When email gets sent out the email client(or associated server) looks at the @domain.com and does a dns lookup for the MX record for "domain.com". It then contacts port 25(SMTP) on the server specified by the MX record and sends the email through.

    In your case if you have an internal and external SMTP server you will probably need to configure DNS for internal and external views. The internal zone will use an MX record for the internal SMTP server and the external zone will use an MX record pointing to the external/public SMTP server.

  • bluedemon
    RE: LDAP Cached Authentication
    You may be able to use nscd and tweek the time to live settings. man nscd man nscd.conf
    Link to this post 15 Dec 09

    You may be able to use nscd and tweek the time to live settings.

    man nscd
    man nscd.conf

  • bluedemon
    RE: SSH CHROOT Help Required
    The newer versions of ssh(4.8p1 or higher) has a built in chroot environment that I usually use for sftp only connections. I have some notes on setting up an sftp only chrooted ssh environment that I will post below. I'm sure it has some mistakes and typos, but it should get you going in the correct direction. ############################################################## # Installing a new SSH server to handle chrooted sftp requests ############################################################## We are going to keep our current ssh rpm install open to our internal addresses and install a openssh version later than 4.8p1 under /usr/local/openssh just for the chrooting the incoming secure ftp connections. We will do this by restricting the local openssh to listen on the internal ip address and installing a new ssh server to listen on the ip address of the external interface.In this example, we are going to bind the redhat yum installed ssh server to the local ip address 192.168.0.6 address. We are going to set up a second later version of chrooted ssh to the external 10.0.0.100 address. 1> Restrict the current rpm based openssh install to the internal ip address. # sudo vi /etc/ssh/sshd_config # Change the ListenAddress 0.0.0.0(all) to the internal ip address(eth2) ListenAddress 192.168.0.6 # sudo /sbin/service sshd restart 2> Install an ssh version later then 4.8p1 which in our case is the latest version 5.1p1. To do this we are going to create a directory under /usr/src and copy the source file over to it. In our case we have a copy on the usb drive. # sudo mkdir /usr/src/openssh # sudo mount /dev/sda1 /mnt/usbdrive # sudo cp /mnt/usbdrive/openssh-5.1p1.tar.gz /usr/src/openssh # cd /usr/src/openssh # sudo tar -zxvf openssh-5.1p1.tar.gz # sudo yum install pam-devel gcc # sudo ./configure --prefix=/usr/local/openssh --with-pam # sudo make # sudo make install # sudo yum remove pam-devel gcc 3> Configure the new openssh install for a chroot environment tied to the external interfaces. # cd /usr/local/openssh/etc/ # sudo vi ./sshd_config # Set the listen address to the external dmz interface(eth0) ListenAddress 10.0.0.100 # Enable pam so ldap users can still log into this interface # UsePAM no UsePAM yes # Change the sftp subsystem to internal #Subsystem sftp /usr/local/openssh/libexec/sftp-server Subsystem sftp internal-sftp # Near the bottom of the file enter in the following Match group sftponly ChrootDirectory /usr/local/openssh/chroot X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 4> Create the user, group and directories for chrooting # sudo mkdir /usr/local/openssh/chroot # sudo chmod 755 /usr/local/openssh/chroot # sudo /usr/sbin/groupadd -g 800 sftponly # sudo /usr/sbin/useradd -u 800 -g 800 -d /usr/local/openssh/chroot/sftpuser -s /bin/bash -c "Some User" sftpuser # sudo mkdir /usr/local/openssh/chroot/sftpuser/inbound # sudo mkdir /usr/local/openssh/chroot/sftpuser/outbound # sudo chmod -R 755 /usr/local/openssh/chroot/sftpuser 5> Create a startup script for the new ssh install # sudo cp /usr/src/openssh/openssh-5.1p1/opensshd.init /etc/rc.d/init.d/sshd_chroot # sudo chmod 755 /etc/rc.d/init.d/sshd_chroot # sudo ln -s /etc/rc.d/init.d/sshd_chroot /etc/rc3.d/S56sshd_chroot # sudo /etc/rc3.d/S56sshd_chroot start ################### # Using ssh keys ################### Remote users connecting to your local sftp: For this we really don't even need a local sftp server. This change will allow a user to log in without a password using public/private keys. This is assuming that the remote user needs to sftp in without a password and has already created a public key. This public key will need to be dropped into the local accounts authorized_keys file for this to work. # cd /usr/local/openssh/chroot/sftpuser # ls -ld .ssh(make sure it has 700 perms and exists. If it doesn't exist create it) # cd .ssh # vi authorized_keys(copy the key into this file) # chmod 640 authorized_keys Local users connecting to a remote sftp server: For this we will need to create a public/private key pair and give the public key to a remote user so they can add your public key to their authorized_keys file. # su sftpuser(or the username of your local user that is going to connect) # ssh-keygen(hit enter three times) This will create an "id_rsa" private key and an "id_rsa.pub" public key. You will need to give the public_key(id_rsa.pub) to the remote user. Once they have added it to their authorized_keys file you can now ssh into the remote machine as that username without a password.
    Link to this post 12 Dec 09

    The newer versions of ssh(4.8p1 or higher) has a built in chroot environment that I usually use for sftp only connections. I have some notes on setting up an sftp only chrooted ssh environment that I will post below. I'm sure it has some mistakes and typos, but it should get you going in the correct direction.

    ##############################################################
    # Installing a new SSH server to handle chrooted sftp requests
    ##############################################################


    We are going to keep our current ssh rpm install open to our internal addresses and install a openssh version later than 4.8p1 under /usr/local/openssh just for the chrooting the incoming secure ftp connections. We will do this by restricting the local openssh to listen on the internal ip address and installing a new ssh server to listen on the ip address of the external interface.In this example, we are going to bind the redhat yum installed ssh server to the local ip address 192.168.0.6 address. We are going to set up a second later version of chrooted ssh to the external 10.0.0.100 address.


    1> Restrict the current rpm based openssh install to the internal ip address.

    # sudo vi /etc/ssh/sshd_config

    # Change the ListenAddress 0.0.0.0(all) to the internal ip address(eth2)
    ListenAddress 192.168.0.6

    # sudo /sbin/service sshd restart


    2> Install an ssh version later then 4.8p1 which in our case is the latest version

    5.1p1. To do this we are going to create a directory under /usr/src and copy the source

    file over to it. In our case we have a copy on the usb drive.

    # sudo mkdir /usr/src/openssh
    # sudo mount /dev/sda1 /mnt/usbdrive
    # sudo cp /mnt/usbdrive/openssh-5.1p1.tar.gz /usr/src/openssh
    # cd /usr/src/openssh
    # sudo tar -zxvf openssh-5.1p1.tar.gz
    # sudo yum install pam-devel gcc
    # sudo ./configure --prefix=/usr/local/openssh --with-pam
    # sudo make
    # sudo make install
    # sudo yum remove pam-devel gcc


    3> Configure the new openssh install for a chroot environment tied to the external

    interfaces.

    # cd /usr/local/openssh/etc/
    # sudo vi ./sshd_config

    # Set the listen address to the external dmz interface(eth0)
    ListenAddress 10.0.0.100

    # Enable pam so ldap users can still log into this interface
    # UsePAM no
    UsePAM yes

    # Change the sftp subsystem to internal
    #Subsystem sftp /usr/local/openssh/libexec/sftp-server
    Subsystem sftp internal-sftp

    # Near the bottom of the file enter in the following
    Match group sftponly
    ChrootDirectory /usr/local/openssh/chroot
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

    4> Create the user, group and directories for chrooting

    # sudo mkdir /usr/local/openssh/chroot
    # sudo chmod 755 /usr/local/openssh/chroot
    # sudo /usr/sbin/groupadd -g 800 sftponly
    # sudo /usr/sbin/useradd -u 800 -g 800 -d /usr/local/openssh/chroot/sftpuser -s

    /bin/bash -c "Some User" sftpuser
    # sudo mkdir /usr/local/openssh/chroot/sftpuser/inbound
    # sudo mkdir /usr/local/openssh/chroot/sftpuser/outbound
    # sudo chmod -R 755 /usr/local/openssh/chroot/sftpuser


    5> Create a startup script for the new ssh install

    # sudo cp /usr/src/openssh/openssh-5.1p1/opensshd.init /etc/rc.d/init.d/sshd_chroot
    # sudo chmod 755 /etc/rc.d/init.d/sshd_chroot
    # sudo ln -s /etc/rc.d/init.d/sshd_chroot /etc/rc3.d/S56sshd_chroot
    # sudo /etc/rc3.d/S56sshd_chroot start


    ###################
    # Using ssh keys
    ###################

    Remote users connecting to your local sftp:

    For this we really don't even need a local sftp server. This change will allow a user to log in without a password using public/private keys. This is assuming that the remote user needs to sftp in without a password and has already created a public key. This public key will need to be dropped into the local accounts authorized_keys

    file for this to work.
    # cd /usr/local/openssh/chroot/sftpuser
    # ls -ld .ssh(make sure it has 700 perms and exists. If it doesn't exist create it)
    # cd .ssh
    # vi authorized_keys(copy the key into this file)
    # chmod 640 authorized_keys

    Local users connecting to a remote sftp server:

    For this we will need to create a public/private key pair and give the public key to a remote user so they can add your public key to their authorized_keys file.

    # su sftpuser(or the username of your local user that is going to connect)
    # ssh-keygen(hit enter three times)

    This will create an "id_rsa" private key and an "id_rsa.pub" public key. You will need to give the public_key(id_rsa.pub) to the remote user. Once they have added it to their authorized_keys file you can now ssh into the remote machine as that username without a password.

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board