Первичная настройка debian 8 сервера

После установки debian на сервере необходимо произвести первичную настройку. В первую очередь коннектимся к серверу через ssh. IP адрес указываем тот, который был выдан хостером:

ssh root@123.123.123.123

После выхода дистрибутива наверняка некоторые пакеты были обновлены. А мы понимаем, что желательно, чтобы система была актуальна и все обновления стояли. Поэтому, обновляем индекс пакетов и сами пакеты.

apt-get update && apt-get upgrade

Настраиваем время на сервере.

dpkg-reconfigure tzdata

Устанавливаем локаль.

dpkg-reconfigure locales

Работать под рутом не комильфо, поэтому заводим пользователя для работы. Все команды, требующие административных прав будем вводить через sudo.

adduser deploy
adduser deploy sudo
exit
ssh deploy@123.123.123.123

Теперь необходимо настроить доступ по ssh. Создаем директорию ssh и меняем права на доступ к данной директории. 700 в данном случае означает, что доступ будет иметь только владелец.

mkdir .ssh
chmod 700 .ssh

После этого генерируем на локальном ПК ключ, если он еще не сгенерирован.

ssh-keygen -t rsa

Копируем его на сервер

scp ~/.ssh/id_rsa.pub deploy@123.123.123.123:~/.ssh/authorized_keys

Запрещаем вход под рутом через ssh и вход по паролю. Для этого редактируем конфиг ssh. Открываем sshd_config в редакторе nano

sudo nano /etc/ssh/sshd_config

Находим в нем данные параметры и меняем yes на no

PermitRootLogin no
PasswordAuthentication no

После чего перезапускаем службу

sudo systemctl restart sshd

Смотрим запущенные сетевые службы

sudo netstat -tulpn

Убираем ненужное из автозагрузки (мы же настраиваем веб сервер)

update-rc.d rpcbind disable
update-rc.d exim4 disable

Настраиваем iptables

sudo nano /tmp/v4
*filter

# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT

# Allow ping.
-A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT

# Allow SSH connections.
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# Allow HTTP and HTTPS connections from anywhere
# (the normal ports for web servers).
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

# Allow inbound traffic from established connections.
# This includes ICMP error returns.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7

# Reject all other inbound.
-A INPUT -j REJECT

# Log any traffic which was sent to you
# for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7

# Reject all traffic forwarding.
-A FORWARD -j REJECT

COMMIT
sudo nano /tmp/v6
*filter

# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s ::1/128 -j REJECT

# Allow ICMP
-A INPUT -p icmpv6 -j ACCEPT

# Allow HTTP and HTTPS connections from anywhere
# (the normal ports for web servers).
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

# Allow inbound traffic from established connections.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "ip6tables_INPUT_denied: " --log-level 7

# Reject all other inbound.
-A INPUT -j REJECT

# Log any traffic which was sent to you
# for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "ip6tables_FORWARD_denied: " --log-level 7

# Reject all traffic forwarding.
-A FORWARD -j REJECT

COMMIT

Применяем данные правила

sudo iptables-restore < /tmp/v4
sudo ip6tables-restore < /tmp/v6

Устанавливаем iptables-persistent

sudo apt-get install iptables-persistent

Отвечаем Yes на оба запроса сохранить текущие правила, и удаляем временные файлы

sudo rm /tmp/{v4,v6}

© 2019. All rights reserved.

Powered by Hydejack v8.5.0