Maison >Opération et maintenance >exploitation et maintenance Linux >Comment surveiller les serveurs CentOS et détecter et répondre aux incidents de sécurité en temps opportun

Comment surveiller les serveurs CentOS et détecter et répondre aux incidents de sécurité en temps opportun

PHPz
PHPzoriginal
2023-07-07 10:53:111365parcourir

Comment surveiller les serveurs CentOS et détecter et répondre aux incidents de sécurité en temps opportun

À l'ère d'Internet, les serveurs jouent un rôle essentiel, transportant diverses activités et données, la surveillance de la sécurité des serveurs est donc particulièrement importante. Cet article explique comment surveiller les serveurs CentOS, détecter et répondre aux incidents de sécurité en temps opportun. Nous aborderons les domaines suivants : surveillance du système, surveillance du réseau, surveillance des journaux et gestion des événements de sécurité.

  1. Surveillance du système
    Afin de détecter les anomalies du serveur à temps, nous pouvons utiliser certains outils pour surveiller les performances et l'état du serveur. Les outils de surveillance du système couramment utilisés incluent Zabbix, Nagios, etc. En prenant Zabbix comme exemple, nous pouvons l'installer et le configurer en suivant les étapes suivantes :

1) Installer le serveur Zabbix :

yum install zabbix-server-mysql zabbix-web-mysql -y

2) Installer l'agent Zabbix :

yum install zabbix-agent -y

3) Configurer le serveur et l'agent Zabbix :
Dans Dans le fichier de configuration /etc/zabbix/zabbix_server.conf côté serveur Zabbix, modifiez les informations de connexion à la base de données : /etc/zabbix/zabbix_server.conf 中,修改数据库连接信息:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

在Zabbix Agent端的配置文件 /etc/zabbix/zabbix_agentd.conf 中,设置Server和ServerActive的IP地址为Zabbix Server的IP。

Server=Zabbix_Server_IP
ServerActive=Zabbix_Server_IP

4)启动Zabbix Server和Agent服务:

systemctl start zabbix-server
systemctl start zabbix-agent

通过Web界面访问Zabbix Server,进行监控项的配置和设定报警规则。

  1. 网络监控
    除了系统监控,我们还需要对服务器所处的网络环境进行监控,以便及时发现异常。常用的网络监控工具有NetData、Icinga等。以NetData为例,我们可以通过以下步骤来安装和配置:

1)安装NetData:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

2)启动NetData服务:

systemctl start netdata

通过浏览器访问http://服务器IP:19999,即可查看服务器的网络状态和性能信息。

  1. 日志监控
    日志监控是非常重要的,它可以帮助我们及时察觉到潜在的安全问题。常用的日志监控工具有ELK Stack(Elasticsearch, Logstash, Kibana)、Graylog等。以ELK Stack为例,我们可以通过以下步骤来安装和配置:

1)安装和配置Elasticsearch:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md" | sudo tee /etc/yum.repos.d/elasticsearch.repo
yum install elasticsearch -y

vi /etc/elasticsearch/elasticsearch.yml
cluster.name: my-application
node.name: node-1
network.host: 0.0.0.0

2)安装和配置Logstash:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
echo "[logstash-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md" | sudo tee /etc/yum.repos.d/logstash.repo
yum install logstash -y

vi /etc/logstash/conf.d/logstash.conf
input {
  file {
    path => "/var/log/*.log"
    start_position => "beginning"
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
  }
}

3)安装和配置Kibana:

echo "[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md" | sudo tee /etc/yum.repos.d/kibana.repo
yum install kibana -y

vi /etc/kibana/kibana.yml
server.host: "0.0.0.0"

4)启动Elasticsearch、Logstash和Kibana服务:

systemctl start elasticsearch
systemctl start logstash
systemctl start kibana

通过浏览器访问http://服务器IP:5601,进行Kibana的配置。

  1. 安全事件处理
    一旦发现服务器的安全事件,我们需要及时处理和应对。可以根据具体情况进行相应的操作,如封禁异常IP、关闭漏洞服务、修复漏洞等。以下是一个示例代码,用于封禁异常IP地址:

    #!/bin/bash
    
    IP="192.168.1.100"
    
    iptables -I INPUT -s $IP -j DROP
    service iptables save

将以上代码保存为block_ip.sh

chmod +x block_ip.sh

Dans le fichier de configuration /etc/zabbix/zabbix_agentd.conf du côté de l'agent Zabbix > , définissez l'adresse IP du serveur et de ServerActive sur l'adresse IP du serveur Zabbix.

./block_ip.sh

4) Démarrez les services du serveur et de l'agent Zabbix :

rrreee

Accédez au serveur Zabbix via l'interface Web pour configurer les éléments de surveillance et définir les règles d'alarme. 🎜
    🎜Surveillance du réseau🎜En plus de la surveillance du système, nous devons également surveiller l'environnement réseau où se trouve le serveur pour détecter les anomalies à temps. Les outils de surveillance de réseau couramment utilisés incluent NetData, Icinga, etc. En prenant NetData comme exemple, nous pouvons l'installer et le configurer en suivant les étapes suivantes : 🎜🎜🎜1) Installez NetData : 🎜rrreee🎜2) Démarrez le service NetData : 🎜rrreee🎜Visitez http://server IP:19999 via le navigateur pour afficher l'état du réseau et les informations sur les performances du serveur. 🎜
      🎜Surveillance des journaux🎜La surveillance des journaux est très importante, elle peut nous aider à détecter les problèmes de sécurité potentiels à temps. Les outils de surveillance des journaux couramment utilisés incluent ELK Stack (Elasticsearch, Logstash, Kibana), Graylog, etc. En prenant ELK Stack comme exemple, nous pouvons l'installer et le configurer en suivant les étapes suivantes : 🎜🎜🎜1) Installer et configurer Elasticsearch : 🎜rrreee🎜2) Installer et configurer Logstash : 🎜rrreee🎜3) Installer et configurer Kibana : 🎜rrreee 🎜4) Démarrez les services Elasticsearch, Logstash et Kibana : 🎜rrreee🎜Visitez http://server IP:5601 via le navigateur pour configurer Kibana. 🎜
        🎜🎜Gestion des incidents de sécurité🎜Une fois qu'un incident de sécurité sur le serveur est découvert, nous devons le traiter et y répondre en temps opportun. Les opérations correspondantes peuvent être effectuées en fonction de circonstances spécifiques, telles que le blocage d'adresses IP anormales, la fermeture de services vulnérables, la réparation de vulnérabilités, etc. Voici un exemple de code pour bloquer les adresses IP anormales : 🎜rrreee🎜🎜🎜Enregistrez le code ci-dessus sous block_ip.sh et accordez les autorisations d'exécution : 🎜rrreee🎜Exécutez le script pour bloquer l'adresse IP spécifiée : 🎜rrreee🎜En résumé, nous pouvons assurer une surveillance et une réponse de sécurité en temps opportun aux serveurs CentOS grâce à la surveillance du système, à la surveillance du réseau, à la surveillance des journaux et au traitement des événements de sécurité. Bien entendu, il ne s’agit que de méthodes de surveillance et de traitement de base. En fonction de la situation et des besoins spécifiques, nous pouvons également utiliser des outils et des technologies plus avancés pour améliorer la sécurité et la stabilité du serveur. J'espère que cet article pourra être utile à tout le monde. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn