Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Elakkan Kerentanan dan Serangan Keselamatan SSH Biasa: Lindungi Pelayan Linux Anda

Elakkan Kerentanan dan Serangan Keselamatan SSH Biasa: Lindungi Pelayan Linux Anda

WBOY
WBOYasal
2023-09-08 11:02:051563semak imbas

Elakkan Kerentanan dan Serangan Keselamatan SSH Biasa: Lindungi Pelayan Linux Anda

Elakkan Kerentanan dan Serangan Keselamatan SSH Biasa: Lindungi Pelayan Linux Anda

Petikan:
Dalam Pelayan Linux hari ini menjadi sebahagian daripada banyak organisasi dan individu. Walau bagaimanapun, seperti semua teknologi berkaitan Internet, pelayan Linux juga menghadapi ancaman keselamatan. Antaranya, SSH (Secure Shell) ialah protokol biasa untuk pengurusan jauh dan pemindahan fail. Untuk memastikan keselamatan pelayan Linux anda, artikel ini akan memperkenalkan beberapa kaedah untuk mengelakkan kelemahan dan serangan keselamatan SSH biasa, dan memberikan contoh kod yang berkaitan.

1 Tukar port SSH lalai
Secara lalai, pelayan SSH mendengar port 22. Ini boleh ditemui dengan mudah oleh penggodam yang boleh cuba memaksa kata laluan secara kasar. Untuk keselamatan tambahan, anda boleh menukar port SSH kepada port bukan standard, seperti 2222. Ini mengurangkan risiko pencerobohan berniat jahat. Untuk menukar port SSH, sila edit fail konfigurasi pelayan SSH /etc/ssh/sshd_config, cari dan ubah suai baris berikut: /etc/ssh/sshd_config,找到并修改以下行:

#Port 22
Port 2222

然后重启SSH服务。

二、禁用SSH密码登录,启用SSH密钥认证
SSH密码登录容易受到暴力破解的攻击。为了提高安全性,我们建议禁用SSH密码登录,只允许SSH密钥认证。SSH密钥认证使用公钥和私钥进行身份验证,比传统的密码方式更加安全可靠。

  1. 生成SSH密钥对
    在本地计算机上生成SSH密钥对。打开终端,输入以下命令:

    ssh-keygen -t rsa

    按照提示操作,生成的密钥会保存在~/.ssh目录下。

  2. 上传公钥到服务器
    将生成的公钥上传到服务器上,可以使用以下命令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip

    其中user是您的用户名,your_server_ip是服务器的IP地址。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    PasswordAuthentication no
    PubkeyAuthentication yes

    然后重启SSH服务。

三、限制SSH用户登录
为了增加服务器的安全性,您可以限制只允许特定的用户登录SSH。这样可以防止未授权的访问。

  1. 创建专用SSH组
    在Linux服务器上使用以下命令创建一个专用的SSH用户组:

    sudo groupadd sshusers
  2. 添加允许SSH访问的用户
    使用以下命令将用户添加到SSH用户组:

    sudo usermod -aG sshusers username

    其中username是您要添加的用户名。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    AllowGroups sshusers

    然后重启SSH服务。

四、限制SSH登录尝试次数
暴力破解是黑客常用的攻击方式之一。为了防止暴力破解SSH密码,我们可以限制SSH登录尝试次数,并设置登录失败禁止一段时间。

  1. 安装失败登录尝试计数器
    使用以下命令安装fail2ban

    sudo apt-get install fail2ban
  2. 配置fail2ban
    编辑fail2ban配置文件/etc/fail2ban/jail.local,添加以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 3600

    然后重启fail2banrrreee

    dan kemudian mulakan semula perkhidmatan SSH.
2. Lumpuhkan log masuk kata laluan SSH dan dayakan pengesahan kunci SSH

log masuk kata laluan SSH terdedah kepada serangan brute force. Untuk meningkatkan keselamatan, kami mengesyorkan agar anda melumpuhkan log masuk kata laluan SSH dan membenarkan pengesahan kunci SSH sahaja. Pengesahan kunci SSH menggunakan kunci awam dan peribadi untuk pengesahan, yang lebih selamat dan boleh dipercayai daripada kaedah kata laluan tradisional.

  1. Jana pasangan kunci SSH

    Jana pasangan kunci SSH pada komputer setempat anda. Buka terminal dan masukkan arahan berikut:

    rrreee#🎜🎜#Ikuti gesaan dan kunci yang dijana akan disimpan dalam direktori ~/.ssh. #🎜🎜##🎜🎜#
  2. #🎜🎜#Muat naik kunci awam ke pelayan #🎜🎜# Untuk memuat naik kunci awam yang dijana ke pelayan, anda boleh menggunakan arahan berikut: #🎜🎜#rreee#🎜 🎜#di manapengguna ialah nama pengguna anda, your_server_ip ialah alamat IP pelayan. #🎜🎜##🎜🎜#
  3. #🎜🎜#Ubah suai fail konfigurasi SSH #🎜🎜#Edit fail konfigurasi pelayan SSH /etc/ssh/sshd_config, cari dan ubah suai baris berikut: #🎜 🎜#rrreee#🎜🎜#Kemudian mulakan semula perkhidmatan SSH. #🎜🎜##🎜🎜##🎜🎜##🎜🎜# 3. Hadkan log masuk pengguna SSH #🎜🎜# Untuk meningkatkan keselamatan pelayan, anda boleh mengehadkan pengguna tertentu sahaja untuk log masuk SSH. Ini menghalang akses yang tidak dibenarkan. #🎜🎜#
    1. #🎜🎜# Buat kumpulan SSH khusus #🎜🎜# Buat kumpulan pengguna SSH khusus pada pelayan Linux menggunakan arahan berikut: #🎜🎜#rrreee#🎜🎜#
    2. # 🎜🎜#Tambah pengguna untuk membenarkan akses SSH#🎜🎜#Gunakan arahan berikut untuk menambah pengguna pada kumpulan pengguna SSH: #🎜🎜#rrreee#🎜🎜#di mana nama pengguna ialah nama pengguna yang anda nak tambah. #🎜🎜##🎜🎜#
    3. #🎜🎜#Ubah suai fail konfigurasi SSH #🎜🎜#Edit fail konfigurasi pelayan SSH /etc/ssh/sshd_config, cari dan ubah suai baris berikut: #🎜 🎜#rrreee#🎜🎜#Kemudian mulakan semula perkhidmatan SSH. #🎜🎜##🎜🎜##🎜🎜##🎜🎜# 4. Hadkan bilangan percubaan log masuk SSH #🎜🎜# Brute force cracking adalah salah satu kaedah serangan yang biasa digunakan oleh penggodam. Untuk mengelakkan pemecahan kata laluan SSH secara kasar, kami boleh mengehadkan bilangan percubaan log masuk SSH dan menetapkan tempoh masa untuk percubaan log masuk yang gagal. #🎜🎜#
      1. #🎜🎜#Pasang kaunter percubaan log masuk gagal #🎜🎜#Pasang fail2ban menggunakan arahan berikut: #🎜🎜#rreee#🎜🎜#
      2. # 🎜 🎜#Konfigurasifail2ban#🎜🎜#Edit fail konfigurasi fail2ban /etc/fail2ban/jail.local dan tambah kandungan berikut: # 🎜🎜# rrreee#🎜🎜#Kemudian mulakan semula perkhidmatan fail2ban. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Ringkasan: #🎜🎜#Dengan menukar port lalai SSH, melumpuhkan log masuk kata laluan SSH, membolehkan pengesahan kunci SSH, mengehadkan log masuk pengguna SSH dan mengehadkan bilangan log masuk SSH percubaan, Anda boleh meningkatkan keselamatan pelayan Linux anda dan mengelakkan lubang dan serangan keselamatan SSH biasa. Melindungi pelayan anda daripada akses tanpa kebenaran adalah salah satu tanggungjawab anda sebagai pentadbir sistem. #🎜🎜##🎜🎜#Contoh kod rujukan adalah untuk rujukan sahaja, dan pelaksanaan khusus mungkin berbeza bergantung pada persekitaran pelayan dan keperluan. Sila berhati-hati apabila melaksanakan ini dan pastikan anda membuat sandaran data anda untuk mengelakkan situasi yang tidak dijangka. #🎜🎜#

Atas ialah kandungan terperinci Elakkan Kerentanan dan Serangan Keselamatan SSH Biasa: Lindungi Pelayan Linux Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn