Рано или поздно приходится позаботиться о безопасности вашей переписки,
стоит ли доверять бесплатным сервисам, когда можно сделать свой собственный?
Купить имя домена можно в любой компании, желательно с мировым именем:
Namecheap, Moniker, Go Daddy.
Интернет провайдер подойдёт любой из вашего региона, лишь бы у него была услуга "публичный IP-адрес" и скоростной, качественный канал.
Маршрутизатор - любой: D-Link, TP-Link, ASUS - главное чтоб была функция проброса портов.
Компьютер нужен экономный, маленький и надёжный. Например Acer Aspire|X XC-105 или подобный.
Теперь, по шагам:
Для нашего сервера нужна очень стабильная, надёжная и предсказуемая операционная система,
идеальный кандидат Debian Wheezy. Нет это не единственный возможный выбор, но точно один из лучших.
Пожалейте сервера проекта Debian, используйте для загрузки образа торрент-клиент.
Если у вас 64 бит процессор Intel или AMD, то качать нужно этот образ debian-8.5.0-amd64-CD-1.iso
Используя программу для записи CD дисков запишите скачанный .iso файл на диск. Скорость записи выберите самую маленькую - так будет надёжнее.
Если у вас есть флешка на 4 ГиБ и более, то можно записать образ на неё. Для этого есть специальная программа UNetbootin.
Ваше первое действие на сервере - это СМЕНИТЬ ПАРОЛЬ. Выполните:
$ passwdВведите новый пароль дважды и нажмите Enter.
$ sudo su # passwd --lock root # passwd # passwd -S root L 12/08/2016буква L означает что вы не сможете входить как root напрямую или использовать команду su чтобы переключиться на пользователя root. Больше знаний о суперпользователе.
$ sudo apt-get update $ sudo apt-get upgrade
Для сервера время лучше задать в часовом поясе UTC+00:00.
Чтобы проверить время введите команду:
$ date Fri Aug 12 09:11:34 UTC 2016Чтобы задать новое время:
$ date --set 2016-08-12 $ date --set 21:00:00Больше о настройке времени читайте тут.
Выполните команду
$ localeчтобы узнать какая локаль задана для текущего пользователя. Затем используйте команду:
sudo dpkg-reconfigure localesчтобы задать ту локаль, которая вам нужна. Например, по-умолчанию en_US.UTF-8 и дополнительно вашу региональную, например de_DE.UTF-8.
SSH server это программа позволяющая безопасно, удалённо управлять сервером.
Настроим SSH так чтобы войти на сервер можно было используя только публичные ключи,
а вход как суперпользователь и вход с вводом пароля были запрещены.
И конечно вход будет разрешен только для конкретных IP адресов:
$ sudo apt-get install openssh-server sudo nano /etc/ssh/sshd_configДобавьте эти строки в файл, указывайте тот IP адрес скоторого будет осуществляться вход:
PermitRootLogin no PasswordAuthentication no AllowUsers deploy@(your-ip) deploy@(another-ip-if-any)Добавьте в файл authorized_keys содержимое файла id_rsa.pub с вашего рабочего ПК и другие публичные ключи с которыми будет разрешен доступ на этот сервер.
sudo nano /home/deploy/.ssh/authorized_keys sudo chmod 400 /home/deploy/.ssh/authorized_keys sudo chown deploy:deploy /home/deploy -RВыполните перезапуск службы
service ssh restart
ufw это программа для упрощенной настройки стандартного для Linux межсетевого экрана iptables.
Это базовые настройки для системы Kolab разрешающие трафик на перечисленные порты. Настройте дополнительные порты если нужно.
$ sudo apt-get install ufw ufw allow from {your-ip} to any port 22 ufw allow 25 ufw allow 80 ufw allow 110 ufw allow 143 ufw allow 389 ufw allow 443 ufw allow 465 ufw allow 587 ufw allow 636 ufw allow 993 ufw allow 995 ufw enableБольше о настройке ufw читайте тут.
Fail2ban это служба которая мониторит попытки входа на сервер и
блокирует подозрительную активность при её обнаружении. Настроек по-умолчанию достаточно.
$ sudo apt-get install fail2ban
Logwatch это служба которая мониторит логи сервера и отправляет вам их по почте. Это полезно для отслеживания и определения вторжений. Если кто-то заходил на сервер, отправленные вам по почте логи будут полезными для понимания что случилось и когда - учитывая что логи оставшиеся на сервере могли быть скомпрометированны.
$ sudo apt-get install logwatchВ файл
sudo nano /etc/cron.daily/00logwatchдобавьте строку:
/usr/sbin/logwatch --output mail --mailto test@gmail.com --detail high
Apache это программа веб-сервер, именно она отвечает пользователю когда он вводит имя вашего сайта в браузере.
На Apache работают большинство сайтов сети Интернет.
sudo apt-get update sudo apt-get install apache2Тут общая настройка. Тут настройка виртуальных хостов.
$ sudo nano /etc/apache2/conf-enabled/security.conf ServerTokens Prod ServerSignature Off
My first 5 minutes on a server