IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    5分钟搞定linux/ubuntu服务器安全问题

    mckee发表于 2016-06-18 22:12:48
    love 0

    服务器的安全问题并不是很复杂,采取下面的原则阻止最常见的攻击行为。
    经验丰富的管理员都知道,随着服务器数量和用户的增加,用户管理成本会原来越大
    以下命名以ubuntu为例,其它版本linux会有所不同。

    passwd

     首先将root密码改的很复杂,因为你不需要记住它,只需要在安全的地方保存它即可。
    apt-get update
    apt-get upgrade

    更新软件源列表,更新软件包。
    安装Fail2ban
    apt-get install fail2ban

    fail2ban可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙iptables屏蔽),如:当有人在试探你的SSH、SMTP、FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很强大的软件!
    配置登录用户,假如用户名为deploy

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

    使用public key认证,更安全,更方便
    PublicKey是用来公开的,可以将其放到SSH服务器自己的帐号中,而PrivateKey只能由自己保管,用来证明自己身份,在服务器上添加id_rsa.pub内容,并配置权限。
    vim /home/deploy/.ssh/authorized_keys
    
    chmod 400 /home/deploy/.ssh/authorized_keys
    chown deploy:deploy /home/deploy -R

    测试新用户&允许Sudo
    为登录的用户设置sudo密码
    passwd deploy

    给deploy用户配置授权
    visudo
    
    #添加如下
    root    ALL=(ALL) ALL
    deploy  ALL=(ALL) ALL

    启动或禁止SSH用户及IP的登录
    阻止密码和root登陆,同时允许指定ip
    vim /etc/ssh/sshd_config
    
    #添加如下行
    PermitRootLogin no
    PasswordAuthentication no
    AllowUsers deploy@(your-ip) deploy@(another-ip-if-any)
    
    #修改完成后重启
    service ssh restart

    设置防火墙
    ubuntu提供了ufw命令,让防火墙配置更简单。
    ufw allow from {your-ip} to any port 22
    ufw allow 80
    ufw allow 443
    ufw enable

    以上根据自己实际需求配置。
    自动进行安全更新
    安装unattended-upgrades可以进行自动更新,或者有选择性的安全更新。
    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";

    更新配置文件50unattended-upgrades,只进行安全更新。
    Unattended-Upgrade::Allowed-Origins {
            "Ubuntu lucid-security";
    //      "Ubuntu lucid-updates";
    };

    安装Logwatch
    Logwatch能够对Linux 的日志文件进行分析,并自动发送mail给相关处理人员,可定制需求,这样你可立马跟踪和检测到攻击行为。
    apt-get install logwatch
    
    vim /etc/cron.daily/00logwatch
    
    #添加如下
    /usr/sbin/logwatch --output mail --mailto test@gmail.com --detail high

    ok,以上配置,你只需花5分钟,就能让你的服务器防御大部分攻击并且易于维护。



沪ICP备19023445号-2号
友情链接