User Tools

Site Tools


ubuntuvhost810:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ubuntuvhost810:start [2009/01/02 16:36] svschwartzubuntuvhost810:start [2009/02/20 13:28] (current) svschwartz
Line 4: Line 4:
  
 ===== Secure Shell ===== ===== Secure Shell =====
- 
  
 Прежде чем настраивать веб хостинг мы обеспечим безопасность нашего сервера и данных наших потенциальных пользователей. Прежде чем настраивать веб хостинг мы обеспечим безопасность нашего сервера и данных наших потенциальных пользователей.
   * [[usergroup|учетные записи и ключи авторизации ssh]]   * [[usergroup|учетные записи и ключи авторизации ssh]]
   * [[sshd_chroot_jail|chroot-jail средствами sshd]]   * [[sshd_chroot_jail|chroot-jail средствами sshd]]
 +
 +==== Учетные записи ====
 +
 +Создадим отдельную группу для пользователей веб хостинга
 +<code>
 +groupadd -r webuser
 +</code>
 +
 +Теперь создадим учетную запись пользователя веб хостинга
 +<code>
 +export WEBUSER=drivesource
 +useradd -s /bin/bash -G www-data,webuser -m ${WEBUSER}
 +</code>
 +
 +Создадим папку для веб-сайта drivesource. Обратите внимание что **владельцем папки** /var/vhost/drivesource должен быть обязательно **root**!
 +<code>
 +mkdir /var/vhost/${WEBUSER}
 +mkdir /var/vhost/${WEBUSER}/htdocs /var/vhost/${WEBUSER}/cgi-bin
 +chown ${WEBUSER}.www-data /var/vhost/${WEBUSER}/*
 +chmod 6750 /var/vhost/${WEBUSER}/*
 +mkdir /var/log/apache2/${WEBUSER}
 +chown root.adm /var/log/apache2/${WEBUSER}
 +chmod 0750 /var/log/apache2/${WEBUSER}
 +</code>
 +
 +
 +==== Ключи ssh ====
 +
 +Сгенерируем для него ключи аутентификации ssh. Генератор ключа будет задавать вопросы - на все вопросы жмите enter :)
 +<code>
 +su - ${WEBUSER}
 +ssh-keygen
 +cd .ssh
 +cat id_rsa.pub >> authorized_keys
 +</code>
 +
 +Итак теперь у нас есть приватная и публичная части ключа. Публичный ключ записан в список авторизованных ключей.
 +
 +Теперь мы можем использовать приватный ключ **id_rsa** для аутентификации на сервере. Для использования в WinSCP или PuTTY нам потребуется преобразовать формат приватного ключа с помощью утилиты [[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html|PuTTYgen]].
 +
 +
 +==== SSH chroot-jail ====
 +
 +Итак настроим сервер sshd следующим образом
 +  - разрешить аутентификацию только по ключам
 +  - пользователей группы webuser заключать в chroot-jail
 +
 +Правим файл конфигурации сервер sshd **/etc/ssh/sshd_config**
 +<code php>
 +# Change to no to disable tunnelled clear text passwords
 +PasswordAuthentication no
 +
 +#Subsystem sftp /usr/lib/openssh/sftp-server
 +Subsystem sftp internal-sftp
 +
 +Match group webuser
 +        ForceCommand internal-sftp
 +        ChrootDirectory /var/vhost/%u
 +        X11Forwarding no
 +        AllowTcpForwarding no
 +</code>
 +
 +Перезапустим сервер ssh чтобы параметры вступили в силу
 +<code>
 +/etc/init.d/ssh restart
 +</code>
 +
 +Теперь пользователи группы webuser могут получить доступ к сайту **только по протоколу SFTP**
 +<code>
 +root@deamon:~# sftp drivesource@localhost
 +Connecting to localhost...
 +drivesource@localhost's password:
 +sftp> ls
 +htdocs
 +sftp> pwd
 +Remote working directory: /
 +sftp> 
 +</code>
  
 ===== Apache Virtual Host ===== ===== Apache Virtual Host =====
 +
 +<code>
 +echo "umask 002" >> /etc/apache2/envvars
 +</code>
  
 Перейдем в каталог  cd /etc/apache2/sites-available/ и создадим в нем файл drivesource следующего содержания Перейдем в каталог  cd /etc/apache2/sites-available/ и создадим в нем файл drivesource следующего содержания
Line 51: Line 132:
 <code> <code>
 /etc/init.d/apache2 reload /etc/init.d/apache2 reload
 +</code>
 +
 +
 +===== MySQL database =====
 +
 +<code>
 +WEBUSER=drivesource
 +DBPASS=secret
 +export WEBUSER DBPASS
 +cat <<EOFSCRIPT
 +create database ${WEBUSER}_main;
 +GRANT ALL PRIVILEGES ON ${WEBUSER}_main.* TO '${WEBUSER}'@'localhost' IDENTIFIED BY '${DBPASS}';
 +commit;
 +exit;
 +EOFSCRIPT
 +mysql -u root -p
 </code> </code>
ubuntuvhost810/start.1230914180.txt.gz · Last modified: (external edit)