简单打造安全服务器

  七步安全加固Linux服务器

1. 配置SSH密钥,并使用密钥登录
  密码容易被暴力破解,登录服务器时还需要输入密码
  可以使用ssh-keyge生成密钥对(公钥和私钥)


2.保持系统时间最新
  许多安全协议依托于系统的时间来执行定时任务,生成当天的日志和执行其他关键任务
  如果系统时间有误,可能会对服务器造成伤害。为了防止这种情况发生,可以安装NTP客户端。该程序将使系统时间与全球NTP服务器保持同步
  # yum install ntpdate -y # 使用阿里云epel源,安装阿里云的NTP服务

 

3.查看活动端口
  服务器程序会暴露某些端口,以便于网络中的其他应用程序对其访问。黑客也可以在服务器上安装后门并暴露端口,从而控制服务器。因此,我们不希望服务器上的未知端口被请求监听。
  查看活动端口可以使用一下命令:
  ss -lntup
  或者 netstat -ntlp
  查看全部端口 netstat -an
  查看输入并检查任何不熟悉的端口或进程。尝试发现并追踪可能有害的服务和进程。

 

4.设置防火墙
  防火墙允许控制服务器上 传入/传出特定端口的网络流量。通常使用UFW或FireWall(简单防火墙,Ubuntu或Centos系统上默认的防火墙组件)

5.防止自动攻击

         可以使用两个使用的程序来阻止大多数自动攻击:PSAD && Fail2Ban

        

         PSAD和Fail2Ban之间的区别:

         我们知道端口可以访问服务器上的应用程序。攻击者为了访问服务器,可能会扫描你的服务器目前开放的端口。

         PSAD:监视网络活动,以检测并自定义阻止此类扫描或其他类型的可疑流量,例如DDoS攻击或操作系统指纹识别尝试。

         Fail2Ban:扫描各种应用程序的日志文件,并自动封禁有明显恶意行为的IP(如自动登录尝试)

         Fail2Ban结合Centos防火墙的使用:

    https://www.cnblogs.com/bestOPS/p/10616401.html

 

6.安装logwatch

         服务器上的应用程序通常会将日志消息保存到日志文件中。除非手动监控日志文件,否则需要安装logwatch。logwatch扫描系统日志文件并对其进行汇总。

         你可以直接使用命令行或者计划任务运行logwatch。例如,配置logwatch将日志文件的每日摘要以电子邮件的方式发送给你。注意确保你的服务器可以正常发送电子邮件。

        

         logwatch通过service文件来获取读取和汇总日志文件的方式。可以在/usr/share/logwatch/script/services中查看所有service文件。

 

         logwatch默认配置文件:/usr/share/logwatch/default.conf/logwatch.conf 可以使用命令行参数更改配置。

 

         安装logwatch:

         apt-get install logwatch

         yum install logwatch

 

         如果需要查看logwatch收集的日志样本,可以尝试直接运行logwatch。

         sudo /usr/sbin/logwatch --output stdout --format text --range yesterday --service all

 

         最后,告诉logwatch每天发送一封电子邮件,其中包含日志文件的摘要。为实现此需求,可以打开文件/etc/cron.daily/00logwatch并找到execute行,然后修改为:

         /usr/sbin/logwatch --output mail --format html --mailto root --range yesterday --service all

 

7.执行安全审计

         加固Linux服务器后,应该进行安全审计,以便排查任何可能被忽视的安全漏洞。为此,可以使用Lynis,这是一个可以实现以下功能的开源软件:

                   安全审计

                   一致性测试(如PCI,HIPAA,SOx)

                   渗透测试

                   漏洞检测

                   系统强化

 

         Lynis使用说明:

                   通过克隆其Github仓库来安装Lynis,确保安装的是最新版本。

                   git clone https://github.com/CISOfy/lynis

 

                   进入目录

                   cd lynis

 

                   使用命令运行第一次安全审计:

                   lynis audit system

 

  Lynis官方网站:https://cisofy.com/lynis/

 

附录1:

有威胁的端口:

31/tcp      Agent 31, Hackers Paradise, Masters Paradise

1170/tcp  Psyber Stream

1234/tcp  Ultors Trojan

1243/tcp  SubSeven server (default for V1.0-2.0)

1981/tcp  ShockRave

2001/tcp  Trojan Cow

2023/tcp  Ripper Pro

2140/udp Deep Throat, Invasor

2989/tcp  Rat backdoor

3024/tcp  WinCrash

3150/tcp  Deep Throat, Invasor

3700/tcp  Portal of Doom

4950/tcp  ICQ Trojan

6346/tcp  Gnutella

6400/tcp  The Thing

6667/tcp  Trinity intruder-to-master and master-to-daemon

SubSeven server (default for V2.1 Icqfix and beyond)

6670/tcp  Deep Throat

12345/tcp         NetBus 1.x, GabanBus, Pie Bill Gates, X-Bill

12346/tcp         NetBus 1.x

16660/tcp         Stacheldraht intruder-to-master

18753/udp        Shaft master-to-daemon

20034/tcp         NetBus 2 Pro

20432/tcp         Shaft intruder-to-master

20433/udp        Shaft daemon-to-master

27374/tcp         SubSeven server (default for V2.1-Defcon)

27444/udp        Trinoo master-to-daemon

27665/tcp         Trinoo intruder-to-master

30100/tcp         NetSphere

31335/udp        Trinoo daemon-to-master

31337/tcp         Back Orifice, Baron Night, Bo Facil

33270/tcp         Trinity master-to-daemon

33567/tcp         Backdoor rootshell via inetd (from Lion worm)

33568/tcp         Trojaned version of SSH (from Lion worm)

40421/tcp         Masters Paradise Trojan horse

60008/tcp         Backdoor rootshel via inetd (from Lion worm)

65000/tcp         Stacheldraht master-to-daemon

 

更完整的列表: http://home.tiscalinet.be/bchicken/trojans/trojanpo.htm.

 

posted @ 2019-07-25 18:21 MiserySouL 阅读(...) 评论(...) 编辑 收藏