Linux基本安全设置

Table of Contents

ℹ️ 来源:Sol Love

以下命令用于ubuntu主机,其他linux命令可能不相同

更改root密码

passwd

将root密码更改为长而且复杂的密码,不需要记住他,只需要存在在安全的地方。只有无法通过ssh登录或丢失sodu密码时才需要此密码

安装Fail2ban

apt-get install fail2ban

创建新用户

useradd deploy
mkdir /home/deploy
mkdir /home/deploy/.ssh
chmod 700 /home/deploy/.ssh

使用公钥认证

vim /home/deploy/.ssh/authorized_keys

添加本地机器的公钥id_rsa.pub的内容到此文件中

chmod 400 /home/deploy/.ssh/authorized_keys

chown deploy:deploy /home/deploy -R

测试新用户启动

为新用户设置密码 (设置复杂密码,是需要sudo的权限的密码)

passwd deploy

设置sudo权限 (visudo的文件是/etc/sudoers,但是不要直接修改此文件,修改请使用visudo命令

visudo

root    ALL=(ALL) ALL
deploy  ALL=(ALL) ALL

锁定SSH

配置ssh以防止密码和root登录并将ssh锁定到特定IP

vim /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no
AllowUsers deploy@(your-ip) deploy@(another-ip-if-any)

重新启动ssh

service ssh restart

设置防火墙

ufw allow from {your-ip} to any port 22
ufw allow 80
ufw allow 443
ufw enable

启动安全更新

apt-get install unattended-upgrades
vim /etc/apt/apt.conf.d/10periodic

将文件更新成以下

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

另一个需要更改的问题

vim /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Allowed-Origins {
        "Ubuntu lucid-security";
//      "Ubuntu lucid-updates";
};

安装Logwatch监视

apt-get install logwatch

vim /etc/cron.daily/00logwatch

/usr/sbin/logwatch --output mail --mailto [email protected] --detail high