Linux-系统管理18-系统安装加固

                              目录

一、禁止root登录系统

1.禁止root用户登录

2.创建一个用户

3.测试远程

二、设置服务器登录邮件报警

三、系统登录日志

1.lastlog 列出所有用户最近登录的信息

2.列出当前和曾经登入系统的用户信息

3.列出失败尝试的登录信息


一、禁止root登录系统

1.禁止root用户登录

[root@Rz ~]# vim /etc/ssh/sshd_config   //进入到sshd配置文件修改yes 为 no
[root@Rz ~]# systemctl restart sshd    //重启sshd服务器

2.创建一个用户

[root@Rz ~]# useradd 用户1    //举例创建一个用户1
[root@Rz ~]# passwd 用户1     //为用户1设置登录密码

3.测试远程

[root@Rz ~]# ssh 用户1@x.x.x.x    //测试以用户1远程登录

二、设置服务器登录邮件报警

[root@Rz ~]# vim /etc/ssh/sshrc

#!/bin/bash
#获取登录者的用户名
user=$USER
#获取登录者的IP地址
ip=${SSH_CLIENT%% *}
#获取登录的时间
time=$(date +%F%t%k:%M)
#服务器的IP地址
hostname=$(hostname)
echo "content=$time,$user,$ip,$hostname" > log

python /etc/ssh/testEmail.py   "$time" "$user" "$ip" "$hostname"

[root@Rz ~]# chmo 777 /etc/ssh/sshrc
[root@Rz ~]# vim /etc/ssh/testEmail.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import smtplib
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import sys
def send_mail(dtime,duser,dip,dhostname):
	#基础信息
	# from_addr = input("From:")
	from_addr = "xiahediyijun@163.com" #需要修改
	password = "OLTKYLPJJPNOAFCV" #需要修改
	#to_addr = from_addr
	to_addr = "xiahediyijun@163.com" #需要修改
	# password = raw_input("Password:")
	# to_addr = input("To:")
	
	def _format_addr(s):
    		name, addr = parseaddr(s)
    		return formataddr((Header(name, 'utf-8').encode(), addr))
 
	smtp_server = "smtp.163.com" #需要修改
        mimetex = '您的机器:',dhostname,',于:',dtime,',被IP:',dip,'以账号',duser,'进行登录,请确认是否为您授权。'
	#构造邮件
	msg = MIMEText(''.join(mimetex), 'plain', 'utf-8')
	msg['From'] = _format_addr("zhentianxiang") #需要修改
	msg['To'] = _format_addr("xiahediyijun@163.com") #需要修改
	msg['Subject'] = Header("来自zhentianxiang", 'utf-8').encode() #需要修改
	#发送邮件
	server = smtplib.SMTP_SSL(smtp_server, 465)
	server.set_debuglevel(1)
	server.login(from_addr, password)
	server.sendmail(from_addr, [to_addr], msg.as_string())
	server.quit()
 
 
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])


[root@Rz ~]# chmo 777 /etc/ssh/testEmail.py

##测试:ssh连接服务器,并成功登录

三、系统登录日志

1.lastlog 列出所有用户最近登录的信息

[root@Rz ~]# lastlog 
用户名           端口     来自             最后登陆时间
root             pts/0                     一 12月 28 08:23:23 +0800 2020
bin                                        **从未登录过**
daemon                                     **从未登录过**
adm                                        **从未登录过**
lp                                         **从未登录过**
sync                                       **从未登录过**
shutdown                                   **从未登录过**
halt                                       **从未登录过**
mail                                       **从未登录过**
operator                                   **从未登录过**
games                                      **从未登录过**
ftp                                        **从未登录过**
nobody                                     **从未登录过**
systemd-bus-proxy                           **从未登录过**
systemd-network                            **从未登录过**
dbus                                       **从未登录过**
polkitd                                    **从未登录过**
tss                                        **从未登录过**
sshd                                       **从未登录过**
postfix                                    **从未登录过**
chrony                                     **从未登录过**
ntp                                        **从未登录过**
nscd                                       **从未登录过**
tcpdump                                    **从未登录过**
apache                                     **从未登录过**
mysql            pts/0                     三 5月  6 14:24:51 +0800 2020
named                                      **从未登录过**
mysqld                                     **从未登录过**
zabbix                                     **从未登录过**
nginx                                      **从未登录过**
zhen             pts/0    111.206.214.26   一 12月 28 08:23:13 +0800 2020

2.列出当前和曾经登入系统的用户信息

它默认读取的是/var/log/wtmp文件的信息。输出的内容包括:用户名、终端位置、登录源信息、开始时间、结束时间、持续时间。注意最后一行输出的是wtmp文件起始记录的时间。当然也可以通过last -f参数指定读取文件,可以是last /var/log/btmp、last /var/run/utmp

[root@Rz ~]# last
zhen     pts/0        111.206.214.26   Mon Dec 28 08:23   still logged in   
zhen     pts/1        111.196.212.1    Sun Dec 27 17:56 - 19:18  (01:22)    
zhen     pts/0        111.196.212.1    Sun Dec 27 17:23 - 17:25  (00:02)    
zhen     pts/1        111.196.212.1    Sun Dec 27 15:49 - 16:25  (00:35)    
zhen     pts/0        111.196.212.1    Sun Dec 27 15:11 - 15:15  (00:04)    
zhen     pts/1        111.196.212.1    Sun Dec 27 10:50 - 11:02  (00:12)    
zhen     pts/0        111.196.212.1    Sun Dec 27 10:28 - 10:29  (00:01)    
zhen     pts/0        111.196.212.1    Sun Dec 27 00:21 - 00:54  (00:33)    
zhen     pts/1        111.196.212.1    Sat Dec 26 15:51 - 22:46  (06:54)    
zhen     pts/0        111.196.212.1    Sat Dec 26 02:28 - 03:41  (01:13)    
zhen     pts/2        111.196.212.1    Sat Dec 26 01:27 - 02:07  (00:39)    
zhen     pts/1        111.196.212.1    Sat Dec 26 01:01 - 03:14  (02:13)  


语法:last [-R] [-num] [ -n num ] [-adiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name…] [tty…]

例子:last -x :显示系统关闭、用户登录和退出的历史
last -i:显示特定ip登录的情况
last -t 20181010120101: 显示20181010120101之前的登录信息

3.列出失败尝试的登录信息

和last命令功能完全相同,只不过它默认读取的是/var/log/btmp文件的信息。当然也可以通过last -f参数指定读取文件,可以是/var/log/btmp/var/run/utmp

[root@Rz ~]# lastb
test2    ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
root     ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
shr      ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
user1    ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
samba    ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
zzk      ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
root     ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
pengfan  ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
testuser ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
vagrant  ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
root     ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)    
test2    ssh:notty    104.131.43.102   Fri Dec 11 18:59 - 18:59  (00:00)   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

改名叫热炸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值