Home > Operation and Maintenance > Linux Operation and Maintenance > How to monitor CentOS servers and detect and respond to security incidents in a timely manner

How to monitor CentOS servers and detect and respond to security incidents in a timely manner

PHPz
Release: 2023-07-07 10:53:11
Original
1360 people have browsed it

How to monitor CentOS servers and promptly discover and respond to security incidents

In the Internet era, servers play a vital role, carrying various businesses and data, so server security monitoring is particularly important. This article will introduce how to monitor CentOS servers and detect and respond to security incidents in a timely manner. We will discuss the following areas: system monitoring, network monitoring, log monitoring, and security event handling.

  1. System Monitoring
    In order to detect server anomalies in time, we can use some tools to monitor the performance and status of the server. Commonly used system monitoring tools include Zabbix, Nagios, etc. Taking Zabbix as an example, we can install and configure it through the following steps:

1) Install Zabbix Server:

yum install zabbix-server-mysql zabbix-web-mysql -y
Copy after login

2) Install Zabbix Agent:

yum install zabbix-agent -y
Copy after login

3) Configure Zabbix Server and Agent:
In the Zabbix Server configuration file /etc/zabbix/zabbix_server.conf, modify the database connection information:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
Copy after login

In In the Zabbix Agent configuration file /etc/zabbix/zabbix_agentd.conf, set the IP address of Server and ServerActive to the IP address of Zabbix Server.

Server=Zabbix_Server_IP
ServerActive=Zabbix_Server_IP
Copy after login

4) Start Zabbix Server and Agent services:

systemctl start zabbix-server
systemctl start zabbix-agent
Copy after login

Access Zabbix Server through the Web interface to configure monitoring items and set alarm rules.

  1. Network Monitoring
    In addition to system monitoring, we also need to monitor the network environment where the server is located in order to detect abnormalities in time. Commonly used network monitoring tools include NetData, Icinga, etc. Taking NetData as an example, we can install and configure it through the following steps:

1) Install NetData:

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

2) Start the NetData service:

systemctl start netdata
Copy after login

Pass Visit http://serverIP:19999 with your browser to view the server's network status and performance information.

  1. Log monitoring
    Log monitoring is very important, it can help us detect potential security issues in time. Commonly used log monitoring tools include ELK Stack (Elasticsearch, Logstash, Kibana), Graylog, etc. Taking ELK Stack as an example, we can install and configure it through the following steps:

1) Install and configure 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
Copy after login

2) Install and configure 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"]
  }
}
Copy after login

3) Install and configure 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"
Copy after login

4) Start Elasticsearch, Logstash and Kibana services:

systemctl start elasticsearch
systemctl start logstash
systemctl start kibana
Copy after login

Access via browser http://serverIP:5601, configure Kibana.

  1. Security incident processing
    Once a security incident on the server is discovered, we need to handle and respond in a timely manner. Corresponding operations can be performed according to specific circumstances, such as blocking abnormal IPs, closing vulnerable services, repairing vulnerabilities, etc. The following is a sample code for blocking abnormal IP addresses:

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

Save the above code as block_ip.sh and grant execution permissions:

chmod +x block_ip.sh
Copy after login

Execute the script to block the specified IP address:

./block_ip.sh
Copy after login

To sum up, we can achieve timely monitoring and security response to the CentOS server through system monitoring, network monitoring, log monitoring and security event processing. . Of course, these are just basic monitoring and processing methods. Depending on the specific situation and needs, we can also use more advanced tools and technologies to improve the security and stability of the server. I hope this article can be helpful to everyone.

The above is the detailed content of How to monitor CentOS servers and detect and respond to security incidents in a timely manner. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template