Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Penggunaan dasar kawalan akses SSH dalam SysOps Linux

Penggunaan dasar kawalan akses SSH dalam SysOps Linux

王林
王林asal
2023-09-26 11:14:051246semak imbas

SSH访问控制策略在Linux SysOps中的应用

Aplikasi dasar kawalan akses SSH dalam Linux SysOps Contoh kod khusus adalah seperti berikut:

Dalam operasi dan penyelenggaraan sistem Linux, SSH (Secure Shell) ialah protokol log masuk jauh yang disulitkan dan digunakan secara meluas dalam pelayan jauh. pengurusan. Walau bagaimanapun, disebabkan konfigurasi lalai SSH yang longgar, mungkin terdapat risiko keselamatan. Untuk mengukuhkan keselamatan sistem, kami perlu mengkonfigurasi dan mengurus dasar kawalan akses untuk SSH. Artikel ini akan memperkenalkan aplikasi dasar kawalan akses SSH dan menyediakan contoh kod khusus.

1. Lumpuhkan log masuk pengguna root SSH:

Secara lalai, SSH membenarkan pengguna root log masuk dengan kata laluan, yang membawa risiko kepada keselamatan sistem. Untuk meningkatkan keselamatan sistem, kami harus melumpuhkan log masuk pengguna root melalui SSH. Dengan mengubah suai fail konfigurasi SSH /etc/ssh/sshd_config, cari pilihan PermitRootLogin dalam fail dan tukar nilainya kepada no. /etc/ssh/sshd_config,在文件中找到PermitRootLogin选项,并将其值改为no

示例代码:

sudo nano /etc/ssh/sshd_config

PermitRootLogin改为no后保存并退出。

二、禁用密码登录,只允许公钥登录:

为了增加系统的安全性,我们还可以禁用密码登录,只允许公钥登录。通过使用公钥认证,可以避免密码被猜解或被暴力攻击的风险。为了配置公钥认证,需要在服务器上生成公钥/私钥对,并将公钥添加到~/.ssh/authorized_keys文件中。

示例代码:
首先,在本地生成公钥/私钥对:

ssh-keygen -t rsa

按照提示设置文件存储路径和密码(可选)。

然后,将公钥复制到远程服务器:

ssh-copy-id user@remote_server_ip

user替换为远程服务器上你要登录的用户名,remote_server_ip替换为远程服务器的IP地址。

最后,重新登录SSH服务器:

ssh user@remote_server_ip

这将自动使用公钥进行认证,而无需输入密码。

三、限制SSH登录到特定IP范围:

为了进一步加强系统的访问控制,我们可以限制SSH登录只能从特定IP范围进行。通过修改SSH配置文件/etc/ssh/sshd_config,可以配置AllowUsers选项来限制特定用户只能从特定的IP地址范围登录。

示例代码:

sudo nano /etc/ssh/sshd_config

在文件中找到AllowUsers选项,并将具体的用户名和IP范围添加进去。

例如,限制用户user1只能从IP地址为192.168.0.0/24的主机登录:

AllowUsers user1@192.168.0.*

保存并退出配置文件。

四、使用防火墙控制SSH访问:

除了在SSH配置文件中进行访问控制,我们也可以使用防火墙来控制SSH的访问。通过配置防火墙规则,我们可以限制特定的IP地址和端口可以访问SSH服务。

示例代码:
使用iptables命令来配置防火墙规则:

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.0.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

以上代码的含义是允许来自192.168.0.0/24

Contoh kod:

sudo iptables-save > /etc/sysconfig/iptables
sudo systemctl restart iptables

Tukar PermitRootLogin kepada no, simpan dan keluar.

2. Lumpuhkan log masuk kata laluan dan hanya benarkan log masuk kunci awam:

Untuk meningkatkan keselamatan sistem, kami juga boleh melumpuhkan log masuk kata laluan dan hanya membenarkan log masuk kunci awam. Dengan menggunakan pengesahan kunci awam, anda boleh mengelakkan risiko meneka kata laluan atau serangan kekerasan. Untuk mengkonfigurasi pengesahan kunci awam, anda perlu menjana pasangan kunci awam/peribadi pada pelayan dan menambah kunci awam pada fail ~/.ssh/authorized_keys.

Contoh kod:
Mula-mula, jana pasangan kunci awam/peribadi secara setempat: 🎜rrreee🎜Ikuti gesaan untuk menetapkan laluan penyimpanan fail dan kata laluan (pilihan). 🎜🎜Kemudian, salin kunci awam ke pelayan jauh: 🎜rrreee🎜Ganti pengguna dengan nama pengguna yang anda mahu log masuk pada pelayan jauh, dan remote_server_ip dengan IP alamat pelayan jauh. 🎜🎜Akhir sekali, log masuk semula ke pelayan SSH: 🎜rrreee🎜Ini akan mengesahkan secara automatik menggunakan kunci awam tanpa memasukkan kata laluan. 🎜🎜3. Hadkan log masuk SSH kepada julat IP tertentu: 🎜🎜Untuk mengukuhkan lagi kawalan akses sistem, kami boleh mengehadkan log masuk SSH kepada julat IP tertentu sahaja. Dengan mengubah suai fail konfigurasi SSH /etc/ssh/sshd_config, anda boleh mengkonfigurasi pilihan AllowUsers untuk menyekat pengguna tertentu untuk log masuk dari julat alamat IP tertentu. 🎜🎜Contoh kod:🎜rrreee🎜Cari pilihan AllowUsers dalam fail dan tambah nama pengguna dan julat IP tertentu. 🎜🎜Sebagai contoh, untuk menyekat pengguna user1 untuk hanya log masuk daripada hos dengan alamat IP 192.168.0.0/24: 🎜rrreee🎜Simpan dan keluar daripada fail konfigurasi. 🎜🎜4. Gunakan firewall untuk mengawal akses SSH: 🎜🎜Selain kawalan akses dalam fail konfigurasi SSH, kita juga boleh menggunakan firewall untuk mengawal akses SSH. Dengan mengkonfigurasi peraturan tembok api, kami boleh menyekat alamat IP dan port tertentu daripada mengakses perkhidmatan SSH. 🎜🎜Contoh kod:
Gunakan perintah iptables untuk mengkonfigurasi peraturan firewall: 🎜rrreee🎜Maksud kod di atas adalah untuk membenarkan alamat IP daripada 192.168.0.0/24 kod> segmen rangkaian Akses perkhidmatan SSH dan tolak akses daripada alamat IP lain. 🎜🎜Akhir sekali, gunakan peraturan firewall: 🎜rrreee🎜Dengan cara ini, kami menggunakan firewall untuk menyekat akses SSH. 🎜🎜Ringkasan: 🎜🎜Kami boleh meningkatkan keselamatan sistem kami dengan melumpuhkan log masuk akar, melumpuhkan log masuk kata laluan, mengehadkan log masuk SSH kepada julat IP tertentu dan menggunakan tembok api untuk mengawal akses SSH. Untuk SysOps Linux, dasar kawalan akses SSH ialah langkah keselamatan yang penting. Melalui contoh kod yang disediakan dalam artikel ini, saya harap ia dapat membantu anda mengkonfigurasi dan mengurus dasar kawalan akses SSH dengan lebih baik. 🎜

Atas ialah kandungan terperinci Penggunaan dasar kawalan akses SSH dalam SysOps Linux. 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