CentOS 服务器安全配置策略

近期服务器频繁有被暴力破解,大致分析了一下入侵行为,整理了常用的安全策略:

最小的权限+最少的服务=最大的安全

1. 修改ssh默认连接22端口 和 添加防火墙firewalld 通过端口
步骤:

1) 修改ssh的默认端口22:

vi /etc/ssh/sshd_config

2)让防火墙通过这个端口

firewall-cmd --state【firewalld是否运行】
firewall-cmd --permanent --list-port【查看端口列表】
firewall-cmd --permanent --zone=public --add-port=48489/tcp【添加端口】
firewall-cmd --permanent --remove-port=48489/tcp【删除端口】

3)重启SSH服务,并退出当前连接的SSH端口

service sshd restart

4)然后通过putty ssh连接软件链接一下,使用默认22号端口无法进入SSH,达到目的,就OK了~

2. 禁止root帐号直接登录

Linux的默认管理员名即是root,只需要知道ROOT密码即可直接登录SSH。禁止Root从SSH直接登录可以提高服务器安全性。经过以下操作后即可实现。

1)新建帐户和设置帐户密码

useradd ityangs
passwd ityangs

2)不允许root直接登陆

vi /etc/ssh/sshd_config

查找“#PermitRootLogin yes”,将前面的“#”去掉,短尾“Yes”改为“No”,并保存文件。

systemctl restart sshd.service【重启ssh,另一种方法重启】

3)下次登陆

先使用新建账号“ityangs”以普通用户登陆。

若要获得ROOT权限,在SSH中执行以下命令

su root

执行以上命令并输入root密码后即可获得root权限。

4)WinSCP下su切换到root的技巧(禁止root远程ssh登录时)

限制了root用户的远程登录,但是重要的数据文件都是700。更可悲的是,WinSCP完全失去了用武之地。因为root账户无法登陆,而像是FTP,SFTP,SCP这些协议都不支持在登录以后切换用户。
SCP协议在登录的时候可以指定shell,一般默认的也就是推荐的是/bin/bash,但是我们可以修改它来玩花样,比如改成sudo su -
但是新问题又来了,sudo需要输入密码,但是WinSCP在登录的时候并没有交互过程。但是天无绝人只要在root权限之路,只要在root权限下visudo,添加如下一行即可取消sudu时的密码:
yourusername ALL=NOPASSWD: ALL
为了可以在非putty的环境下sudo,我们还需要注释掉下面一行:
Defaults requiretty
然后保存,即可在登录到WinSCP的时候享受root的快感啦!

步骤:

普通用户ssh到服务器,切换到root权限
visudo,然后添加 yourusername ALL=NOPASSWD: ALL 这一行,注释掉Defaults requiretty

[root@iZ252wo3Z ~]# visudo
ityangs ALL=NOPASSWD: ALL
#Defaults requiretty 【没有可不用管】

修改WinSCP的文件协议为SCP

修改环境-SCP/Shell下的shell为sudo su-

登录WinSCP即可。

3. 安装DenyHosts【拦截获取攻击的IP,生成黑名单,防止再次攻击】

DenyHosts(项目主页:http://denyhosts.sourceforge.net/)是运行于Linux上的一款预防SSH暴力破解的软件,可以从http://sourceforge.net/projects/denyhosts/files/进行下载,然后将下载回来的DenyHosts-2.6.tar.gz源码包上传到Linux系统中。

下面是安装过程
****************************************************************
tar zxvf DenyHosts-2.6.tar.gz #解压源码包
cd DenyHosts-2.6 #进入安装解压目录
python setup.py install #安装DenyHosts
cd /usr/share/denyhosts/ #默认安装路径
cp denyhosts.cfg-dist denyhosts.cfg #denyhosts.cfg为配置文件
cp daemon-control-dist daemon-control #daemon-control为启动程序
chown root daemon-control #添加root权限
chmod 700 daemon-control #修改为可执行文件
ln -s /usr/share/denyhosts/daemon-control /etc/init.d #对daemon-control进行软连接,方便管理

安装到这一步就完成了。
/etc/init.d/daemon-control start #启动denyhosts
chkconfig daemon-control on #将denghosts设成开机启动
******************************************************************

vi /usr/share/denyhosts/denyhosts.cfg #编辑配置文件,另外关于配置文件一些参数,通过grep -v "^#" denyhosts.cfg查看
SECURE_LOG = /var/log/secure #ssh 日志文件,redhat系列根据/var/log/secure文件来判断;Mandrake、FreeBSD根据 /var/log/auth.log来判断
#SUSE则是用/var/log/messages来判断,这些在配置文件里面都有很详细的解释。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = 30m #过多久后清除已经禁止的,设置为30分钟;
# ‘m' = minutes
# ‘h' = hours
# ‘d' = days
# ‘w' = weeks
# ‘y' = years
BLOCK_SERVICE = sshd #禁止的服务名,当然DenyHost不仅仅用于SSH服务
DENY_THRESHOLD_INVALID = 1 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 3 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 3 #允许root登陆失败的次数
DAEMON_LOG = /var/log/denyhosts #DenyHosts日志文件存放的路径,默认

更改DenyHosts的默认配置之后,重启DenyHosts服务即可生效:
/etc/init.d/daemon-control restart #重启denyhosts

好了这篇文章就介绍到这了,需要的朋友可以参考一下。

(0)

相关推荐

  • Linux VPS安全设置之一 修改SSH端口(CentOS/Debian)

    老左在之前的不少文章中已经分享过在centos或者在debian环境下安装lnmp和llsmp的教程,老左用人格担保肯定是可行的,因为我都是在实战操作后截图及写下来的文章.可以让VPS初学者手把手的学习如何在Linux VPS上安装系统及建立网站.老左第一次使用VPS不会安装环境,准备请一个网友安装,还准备收费50元,鉴于此我就自学. 我们在学会了VPS的安装和建站之后,肯定需要附带学习VPS的安全设置.因为VPS和主机不同,主机商可能会给我们备份,而且主机的安全性都有主机商承担.但是,如果现在

  • centos最小化安装系统后的基本调优及安全设置

    清理开机自动启动的服务 显示出所有服务的所有运行级别的启动状态#chkconfig –list停止所有在运行级别3上开机启动的服务#for oldboy in `chkconfig –list |grep 3:on |awk '{print $1}'`;do chkconfig –level 3 $oldboy off;done在开启常用的服务,crond,network,rsyslog,sshd#for oldboy in crond network rsyslog sshd;do chkco

  • centos7 服务器基本的安全设置步骤

    关闭ping扫描,虽然没什么卵用 先切换到root echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 1代表关闭 0代表开启 用iptables iptables -I INPUT -p icmp -j DROP 简单介绍下基本的安全设置 一.创建普通用户,禁止root登录,只允许普通用户使用su命令切换到root 这样做的好处是双重密码保护,黑客就算知道了普通用户的密码,如果没有root密码,对服务器上攻击也比较有限 以下是具体做法(需要在roo

  • Centos 6.5 服务器优化配置备忘(一些基础优化和安全设置)

    本文 centos 6.5 优化 的项有18处: 1.centos6.5最小化安装后启动网卡 2.ifconfig查询IP进行SSH链接 3.更新系统源并且升级系统 4.系统时间更新和设定定时任 5.修改ip地址.网关.主机名.DNS 6.关闭selinux,清空iptables 7.创建普通用户并进行sudo授权管理 8.修改SSH端口号和屏蔽root账号远程登陆 9.锁定关键文件系统(禁止非授权用户获得权限) 10.精简开机自启动服务 11.调整系统文件描述符大小 12.设置系统字符集 13

  • centos 5.1下的安全设置(适合所有的linux版本)

    在 一般情况下,一般用户通过执行"su -"命令.输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置.但是,为了更进一步加强系统的安全性,有必要建立一个管理员的 组,只允许这个组的用户来执行"su -"命令登录为root用户,而让其他组的用户即使执行"su -".输入了正确的root密码,也无法登录为root用户.在UNIX下,这个组的名称通常为"wheel". 首先我们创建两个普通的用户tom joh

  • 一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    我们将常用的系统安全配置制作为一个shell脚本,只需要在服务器上运行这个shell脚本即可完成安全设置. linux的系统安全设 置Shell脚本是第二次更新,已经大量应用在某大型媒体网站体系中,加入了之前没有想到的一些安全设置.使用方法将其复制,保存为一个shell文件, 比如security.sh.将其上传到Linux服务器上,执行sh security.sh,就可以使用该脚本了! 复制代码 代码如下: #!/bin/sh# desc: setup linux system securit

  • CentOS Linux服务器安全设置

    我们必须明白:最小的权限+最少的服务=最大的安全 所以,无论是配置任何服务器,我们都必须把不用的服务关闭.把系统权限设置到最小话,这样才能保证服务器最大的安全.下面是CentOS服务器安全设置,供大家参考. 一.注释掉系统不需要的用户和用户组 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦. cp /etc/passwd /etc/passwdbak #修改之前先备份 vi /etc/passwd #编辑用户,在前面加上#注释掉此行 #adm:x:3:4:adm:/var/adm

  • CentOS 服务器安全配置策略

    近期服务器频繁有被暴力破解,大致分析了一下入侵行为,整理了常用的安全策略: 最小的权限+最少的服务=最大的安全 1. 修改ssh默认连接22端口 和 添加防火墙firewalld 通过端口 步骤: 1) 修改ssh的默认端口22: vi /etc/ssh/sshd_config 2)让防火墙通过这个端口 firewall-cmd --state[firewalld是否运行] firewall-cmd --permanent --list-port[查看端口列表] firewall-cmd --p

  • R语言入门在CentOS服务器上配置RStudio Server

    目录 安装R 安装并部署RStudio Server 过程中遇到的问题 这里主要参考如下网址进行R与RStudio Server的配置与部署. Download RStudio Server 在部署完成后,可在官方说明文件中查看详细的使用方法: RStudio Server Professional Edition 安装R 我们的环境是CentOS7-中文,并且是root账户. 然后我们按照前面参考网址中的说明,找到对应的系统,首先安装EPEL(注意,必须先安装EPEL后面才能成功安装R): s

  • Linux/CentOS服务器安全配置通用指南

    Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 Linux 系统,或者盗取 Linux 系统上的重要信息.不过,只要我们仔细地设定 Linux 的各种系统功能,并且加上必要的安全措施,就能让黑客们无机可乘. 一般来说,对 Linux 系统的安全设定包括取消不必要的服务.限制远程存取.隐藏重要资料.修补安全漏洞.采用安全工具以及经常性的安全检查等. 本文是可参考的实际操作,不涉及如 IP 欺骗这样的原理,而

  • CentOS服务器iptables配置简单教程

    iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置. iptables -P INPUT ACCEPT iptables -F iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -

  • centos服务器中配置nginx的方法示例

    下载安全终端MobaXterm_Personal 首先,下载安全终端后,连接到自已的公网IP 连接成功后显示如以上. Nginx简介 Nginx是一款轻量级的网页服务器.反向代理服务器.相较于Apache.lighttpd具有占有内存少,稳定性高等优势.它最常的用途是提供反向代理服务 连接上服务器后 第一步:安装gcc gcc-c++ 命令为: yum install -y gcc gcc-c++ 第二步:安装PCRE库 $ cd /usr/local/ $ wget http://jaist.

  • CentOS服务器环境下MySQL主从同步配置方法

    本文实例讲述了CentOS服务器环境下MySQL主从同步配置方法.分享给大家供大家参考,具体如下: 一.环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二.创建数据库 分别登录master机和slave机的 mysql:mysql –u root –p 创建数据库: create database repl;

  • Centos 7.4服务器时间同步配置方法【基于NTP服务】

    本文实例讲述了Centos 7.4服务器时间同步配置方法.分享给大家供大家参考,具体如下: 1. yum 安装 NTP服务器 #yum -y install ntp 2. 启动ntp服务 #systemctl start ntpd 3. 设置开机自启 #systemctl enable ntpd 4. 修改启动参数,增加-g -x参数,允许ntp服务在系统时间误差较大时也能正常工作 #vi /etc/sysconfig/ntpd OPTIONS= "-g -x" 5. 读取当前时间 #

  • Windows服务器安全配置

    服务器安全配置(只针对WIN系统) 一. 原则关掉所有不使用的服务,不安装所有与服务器无关的软件,打好所有补丁 修改3389 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\Wds\Repwd\Tds\Tcp, 看到那个PortNumber没有?0xd3d,这个是16进制,就是3389啦,我改XXXX这个值是RDP(远程桌面协议)的默认值,也就是说用来配置以后新建的RDP服务的,要改已经建立的RDP服务,我们

  • Mac 下阿里云服务器的配置方法

    最近阿里云服务器在搞活动9.9元半年.就买来配置玩下. 按照购买流程 公共镜像:选择第一个CentOs,<建议使用稍低版本 ,CentOs使用比较多些> 之后会有一个公网IP 和私有IP, 这里我们使用公网IP .下面2种方式都可以配置服务器,建议使用2 1. 在购买设置界面找到->实例详情 -> 远程连接 会进入你的购买服务器操作系统 输入账号 密码 2. 使用软件CyberDuck 连接你服务器并且在mac 终端上$ ssh root@123.36.222.22 (公网IP)之

  • 阿里云服务器CentOS服务器初始化设置步骤

    CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多,下面和小编一起来看看. 一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /dev/xvdb #对磁盘进行分区 输入n #创建新分区 输入p #创建主分区 输入1 #创建第一个主分区 输入w #保存并执行以上命令,创建分区 待上面的命令执行完成之后,使用fdisk -l查看,会看到类似 /dev/xvdb1的分区 说明分区成功. 2.磁盘格式化 mkf

随机推荐