الخادمُ الافتراضيّ الجديد مُتاحٌ للإنترنت كلّه لحظةَ يُقلع، والماسحاتُ الآليّة تجده خلال دقائق. ولا شيء ممّا يلي متقدّم؛ الترتيبُ هو ما يعني، لأنّ فعلها بترتيبٍ خاطئ يترك نافذة.

١. حدّث، قبل أيّ شيء آخر

apt update && apt upgrade -y

٢. مستخدمٌ ليس الجذر

العملُ بصفة الجذر معناه أنّ كلّ خطأٍ لا يُستدرَك وكلّ اختراقٍ تامّ. أنشئ مستخدمًا وأعطه sudo وأبقِ الجذر للأشياء القليلة التي تحتاجه.

adduser ops
usermod -aG sudo ops

٣. مفتاحُك على ذلك المستخدم، مُختبَرًا في نافذةٍ ثانية

اختبر المفتاح في طرفيّةٍ جديدة قبل أن تُغلق هذه. فإن لم يعمل المفتاح وكنت قد عطّلت كلمات المرور فأنت محبوسٌ خارج خادمك أنت.
ssh-copy-id ops@your-server-ip
# then, in a NEW window:
ssh ops@your-server-ip

٤. أطفئ الدخول بكلمة مرور

ولا تفعل إلّا بعد أن يعمل المفتاح. فهذا التغييرُ وحده يُنهي محاولات القوّة الغاشمة على خادمك، إذ لم يبقَ ما يُغلَب بالقوّة.

# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
# then
systemctl reload ssh

٥. جدارٌ ناريّ يبدأ مغلقًا

اسمح بما تحتاجه ولا شيءَ سواه. واسمح بـ SSH أوّلًا، وإلّا حبستَ نفسك خارجًا بالأمر التالي.

ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable

٦. الساعة

خادمٌ ساعتُه خاطئة لا يستطيع التحقّق من شهادة تشفير، والأخطاءُ التي يُنتجها تبدو أيَّ شيءٍ إلّا مشكلةَ ساعة.

timedatectl set-ntp true
timedatectl
واكتب ما فعلته في ملفٍّ على الخادم نفسه. فبعد ستّة أشهر يسأل سؤالَ «لِمَ ضُبط هذا هكذا» أنتَ، عن عملك أنت.