使用日志系统保护Linux安全,强制踢掉登录用户,修改用户受权sudoers文件

编程入门 行业动态 更新时间:2024-10-05 17:18:34

使用日志系统保护Linux安全,强制踢掉登录<a href=https://www.elefans.com/category/jswz/34/1771412.html style=用户,修改用户受权sudoers文件"/>

使用日志系统保护Linux安全,强制踢掉登录用户,修改用户受权sudoers文件

在Linux系统中,有三类主要的日志子系统:

1.连接时间日志: 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。

2.进程统计: 由系统内核执行,当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。

3.错误日志: 由syslogd守护程序执行,各种系统守护进程、用户程序和内核通过syslogd(3)守护程序向文件/var/log/messages报告.像HTTP和FTP这样提供网络服务也保持详细日志。

Linux下日志的使用
1.基本日志命令的使用

    utmp、 wtmp日志文件保存用户登录进入和退出记录。有关当前登录用户信息记录在文件utmp中; 登录进入和退出记录在文件wtmp中。utmp文件被各种命令文件使用,包括who、w、users和finger。不能被诸如tail(使用cat命令)。用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。具体用法如下:

    who命令: who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。使用该命令,系统管理员可以查看当前系统存在哪些不法用户,从而对其进行审计和处理。

例如: 运行who命令显示如下:

[root@working]# who

root pts/0 May 9 21:11 (10.0.2.128)  

命令who /var/log/wtmp将报告自从wtmp文件创建或删改以来的每一次登录。


users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。

[root@working]# users

root root //只登录了一个Root权限的用户


last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户,发现不法用户,并进行处理。

[root@working]# last
devin pts/1 10.0.2.221 Mon Jul 21 15:08-down (8+17:46)
devin pts/1 10.0.2.221 Mon Jul 21 14:42 - 14:53 (00:11)
changyi pts/2 10.0.2.141 Mon Jul 21 14:12 - 14:12 (00:00)
devin pts/1 10.0.2.221 Mon Jul 21 12:51 - 14:40 (01:49)
reboot system boot 2.4.18 Fri Jul 18 15:42 (11+17:13)


可通过指明用户来显示其登录信息。例如: 使用last test来显示test历史登录信息,则如下所示:
[root@working]# last test
devin pts/1 10.0.2.221 Mon Jul 21 15:08 - down (8+17:46)
devin pts/1 10.0.2.221 Mon Jul 21 14:42 - 14:53 (00:11)


ac命令根据当前的/var/log/wtmp文件中的登录进入和退出来报告用户连接的时间.


lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志  /var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。需要以root运行该命令。如下所示:

[root@working]# lastlog
Username Port From Latest
root pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005
opal pts/1 10.0.2.129 二 5月 10 10:13:26 +0800 2005


/var/log/dmesg

可以快速查看最后一次系统引导的引导日志.


/var/log/xferlog

该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件。该文件会显示用户拷贝到服务器上的用来***服务器的恶意程序,以及该用户拷贝了哪些文件供他使用。

该文件的格式为:第一个域是日期和时间,第二个域是下载文件所花费的秒数、远程系统名称、文件大小、本地路径名、传输类型(a:ASCII,b:二 进制)、与压缩相关的标志或tar,或"_"(如果没有压缩的话)、传输方向(相对于服务器而言:i代表进,o代表出)、访问模式(a:匿名,g:输入口 令,r:真实用户)、用户名、服务名(通常是ftp)、认证方法(l:RFC931,或0),认证用户的ID或"*"。


/var/log/syslog

默认不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。要让系统生成该日志文件,在/etc/syslog.conf文件中加 上:*.warning  /var/log/syslog  该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息。


/var/log/maillog

该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。


/var/log/cron

该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。CMD的一个动 作是cron派生出一个调度进程的常见情况。REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。


/var/log/boot.log

该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息


/var/log/secure

记录系统相关账户安全,是不是又不明IP地址尝试使用root用户登录系统。



linux系统强制踢掉登录用户

linux系统root用户可强制踢掉其它登录用户

1. w命令查看登录用户信息

# w
16:15:11 up 210 days, 12:17,  2 users,  load average: 0.13, 0.15, 0.10
USER       TTY      FROM              LOGIN@   IDLE       JCPU   PCPU  WHAT
liu       pts/1    IPADDRESS  16:14         0.00s      0.04s    0.03s   sshd: liu [priv]
fmd001_c   pts/2    IPADDRESS   16:13         52.00s   0.03s    0.02s   sshd: fmd001_cleaning [priv]

2. 踢除指定用户

# pkill -kill -t tty  //-t指定要踢的用户的TTY,如上要踢除liu用户的命令: pkill -kill -t pts/1

只有root用户才能踢人,如果同时有二个人用root用户登录,任何其中一个可以踢掉另一个。

3. 屏蔽IP

# iptables -I INPUT -s 123.45.6.7 -j DROP  //屏蔽单个IP
# iptables -I INPUT -s 123.0.0.0/8 -j DROP  //屏蔽123.0.0.1-123.255.255.254段
# iptables -I INPUT -s 124.45.0.0/16 -j DROP  //#屏蔽123.45.0.1-123.45.255.254 IP段
# iptables -I INPUT -s 123.45.6.0/24 -j DROP  //#屏蔽123.45.6.1-123.45.6.254 IP段

 

 

linux下监控用户的操作记录

linux下有一个script工具,专门记录终端会话中所有输入输出结果,并存放到指定文件中。

1、创建日志存放目录

# mkdir /opt/operation_log
# chmod 777 -R /opt/operation_log


2、设置用户登陆后自动录制

# vi /etc/profile   #末尾追加一下内容
if [ $UID -ge 500 ]; thenexec script -t 2>/opt/operation_log/$USER-$UID-`date +%F-%T`.date -a -q -f /opt/operation_log/$USER-$UID-`date +%F-%T`.log
fi 
# source /etc/profile   #刷新生效

参数说明:
-t:记录操作时序,2>将输出时序存到指定文件中,回放时用到此时间文件
-a:输出结果追加到文件中
-q:静默启动
-f:每次写完后刷新输出

3、查看生成的文件

# ll /opt/operation_log/
-rw-rw-r-- 1 test test 124 Jul  3 07:17 test-1001-2015-07-03-07:17:36.date
-rw-rw-r-- 1 test test 167 Jul  3 07:17 test-1001-2015-07-03-07:17:36.log

 可以看到,分别生成我们定义的日志格式。

当用记录日志比较多时,用more或者cat查看就比较费劲了,这时有个对应的工具叫scriptrelay,通过结合script输出的时序文件,可以自动播放。

4、操作记录回放

# scriptreplay test-1001-2015-07-03-07:17:36.date test-1001-2015-07-03-07:17:36.log

 

 

 

 

腾讯云服务器安全加固组件介绍及修复指引

1.Linux系统

第一步:登录云主机,下载安装包到云主机服务器。
如果您是 Linux 64位 镜像的用户,请使用如下命令下载安装包。

wget mirrors.tencentyun/install/sec/agent-X64.zip



返回如下结果则说明安全组件安装成功
[RESULT] sec-agent installed OK.


如果您是 Linux 32位 系统,请使用如下命令下载安装包。
第一步,登录云主机进行下载。

wget .zip


返回如下结果则说明安全组件安装成功。
[RESULT] sec-agent installed OK.

2.Windows系统

如果您是 Windows系统 用户,安装步骤如下:

第一步:请您在windows云服务器浏览器中通过以下地址下载安装包。
.zip
第二步:解压WinAgent.zip到C:\WinAgent目录下;
第三步:打开cmd命令窗口进行安装


第四步:安装完成后,执行以下命令进行检查是否安装成功。
1)、执行 “sc query winagent ”查询状态,如果是状态为running,则说明安装成功。


2)、执行“netstat -aon |findstr 9966”,如果当前连接状态为“ESTABLISHED”,就代表安全加固组件连接后台服务器正常;如果连接不成功,请等几分钟后重试,

二、检查&&修复
Linux操作系统下,用户可以使用脚本检查组件状态,操作如下:
使用管理员帐户执行检查脚本
/usr/local/sa/agent/check.sh
返回如下结果则说明安全组件运作良好
[RESULT] sec-agent running OK.


如果返回提示”sec-agent agent connection NOT OK”,请确认是否为当天安装的agent,如果是,请等待半个小时后再检查组件,安全加固组件正在进行接入过程。返回如下结果则说明安全组件运作异常,且已经自动修复成功。
[RESULT] sec-agent running NOT OK, FIX OK


返回如下结果则说明安全组件运作异常,但修复失败,请重装安全组件再执行检测脚本,
[RESULT] sec-agent running NOT OK, FIX NOT OK

Window操作系统,请直接卸载并重装安全组件。


三:安全组件重启操作

windows:
执行:
“net stop winagent”
“net start winagent”
即可重启成功。

Linux:
以root权限执行/usr/local/sa/agent/restart.sh。
然后调用/usr/local/sa/agent/check.sh看是否重启成功。


四、卸载
Linux:
如果需要卸载安全加固组件,可执行如下脚本:
/usr/local/sa/agent/uninstall.sh
返回如下结果则说明卸载成功
[RESULT] sec-agent uninstall OK.

返回如下结果则说明修复失败
[RESULT] sec-agent uninstall NOT OK.

Windows:
使用命令行,打开到以下目录输入命令卸载:
WinAgent.exe /uninstall


如果查询没有此项服务,说明卸载正常。


五:Windows安全加固的方案或建议

11)下载安装腾讯云提供的最新版windows agent,并正确安装确保正常工作,具体检测方法如下链接查看:
.zip
2)检查系统是否已安装最新补丁:我的电脑->控制面板->windows update检测,或者安装如上杀软,进行打补丁。
3) 检测系统所有盘符根目录的隐藏文件,如下:我的电脑->工具->文件夹选项->查看(如下图所示)

4)用管理员身份打开任务管理器,查看所有进程,看是否有异常占用cpu和内存的进程;


5)用管理员身份运行cmd,执行ntstat –aon 查看系统所有的网络连接端口,看是否有异常;


6)检测系统注册表的启动项,看是否有异常的随开机启动的二进制文件:
注册表项目(病毒***常用藏身之处):
ExplorerRun注册键
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run和 HKLM\SOFTWARE\Microsoft\Windows Current\Version\Policies\Explorer\Run
RunServicesOnce注册键
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices\Once和HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
RunServices注册键
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices和 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Services
RunOnce**p注册键
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce**p和 HKEY_LOCAL_MACHINE\SOFTWARE \Microsoft\Windows\CurrentVersion\RunOnce**p
RunOnce注册键
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce和HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Run注册键
HKCU\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Load注册键
HKCU\Software\Microsoft\WindowsNT\CurrentVersion\Windows\load
Userinit注册键
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit

7)检查系统是否安装杀毒软件,建议可以安装一下杀毒软件,并扫描机器的硬盘、内存。




linux下修改用户受权sudoers文件

修改sudoers文件:
shell> vim /etc/sudoers1. 最简单的配置,让用户lenfeng具有root的所有权限
# vi /etc/sudoers
看见有
root ALL=(ALL) ALL
在下边再加一条配置:
lenfeng ALL=(ALL) ALL //就是用户lenfeng可以执行root权限的所有命令
以lenfeng用户登录之后,执行:
# sudo su -
输入lenfengt密码,就可以切换成root用户了.
配置成
9kgame ALL=(ALL)       NOPASSWD:ALL
这样执行sudo service sshd restart  不需要输入任何密码就可以执行了。2. 让普通用户lenfeng只能在某几台服务器上,执行root能执行的某些命令
首先需要配置一些Alias,这样在配置权限时,不用写大段大段的配置。Alias主要分成4种
1) Host_Alias      配置Host_Alias:就是主机的列表
Host_Alias HOST_FLAG = hostname1, hostname2, hostname32) Cmnd_Alias      配置Cmnd_Alias:就是允许执行的命令的列表
Cmnd_Alias COMMAND_FLAG = command1, command2, command33) User_Alias      配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user34) Runas_Alias     配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator35) 配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG


开始定义相关规则

root用户及wheel用户组下的所有用户都可以从任何主机连接进来以任意身份执行任意命令

root ALL = (ALL) ALL

%wheel ALL = (ALL) ALL


#FULLTIMERS这个用户别名中定义的用户可以从任何主机连接进来以任意身份执行任意命令,而且在切换用户或用户组时不需要输入密码

FULLTIMERS ALL = NOPASSWD: ALL


#PARTTIMERS这个用户别名中定义的用户可以从任何主机连接进来以root身份执行任意命令。

PARTTIMERS ALL = ALL



#lisa这个用户可以从CUNETS中定义的主机连接进来以root身份执行任意指令。

lisa CUNETS = ALL


#oprator这个用户可以从任何主机连接进来以root身份执行DUMPS, KILL, SHUTDOWN, HALT, REBOOT, PRINTING,sudoedit /etc/printcap, /usr/oper/bin/定义的指令

operator ALL = DUMPS, KILL, SHUTDOWN, HALT, REBOOT, PRINTING, sudoedit /etc/printcap, /usr/oper/bin/


#joe这个用户可以从任何主机连接进来,并且只能执行su operator指令

joe ALL = /usr/bin/su operator


#pete这个用户可以从HPPA定义的主机中连接进来并以root身份执行passwd的所有命令,除了passwd root

pete HPPA = /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root


#opers这个用户组下的所有用户可以从任何主机连接进来,并可以切换至ADMINGRP中定义的用户组进入/usr/sbin并执行命令

%opers ALL = (: ADMINGRP) /usr/sbin/


#bob这个用户可以从SPARC和SGI中定义的主机连接进来,并可以OP定义的用户执行任意指令

bob SPARC = (OP) ALL : SGI = (OP) ALL


#jim这个用户可以从biglab这个netgroup中连接进来,并执行任意指令

jim +biglab = ALL


#secretaries这个netgroup下的所有用户可以从任意主机连接进来,并以root身份执行PRINTING,/usr/bin/adduser, /usr/bin/rmuser中定义的指令

+secretaries ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser


#fred这个用户可以从任何主机连接进来并以DB别名定义的用户来执行所有指令,并且不需要输入密码

fred ALL = (DB) NOPASSWD: ALL


#john这个用户可以从ALPHA定义的主机中连接进来,并可以以root身份执行su指令,但不能执行su root和使用任何su选项

john ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*


#jen这个用户可以从任何主机(除了SERVERS中定义的主机)连接进来,并以root身份执行任意指令

jen ALL, !SERVERS = ALL


#jill这个用户可以从SERVERS定义的主机连接进来,并以root身份进入/usr/bin/执行指令,但不能执行SU和SHELLS中定义的命令

jill SERVERS = /usr/bin/, !SU, !SHELLS


#steve这个用户可以从CSNETS中定义的主机连接进来,并以operator这个用户可以进入/usr/local/op_commands/执行指令

steve CSNETS = (operator) /usr/local/op_commands/



可以参考: 

转载于:

更多推荐

使用日志系统保护Linux安全,强制踢掉登录用户,修改用户受权sudoers文件

本文发布于:2024-02-27 23:10:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1766861.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:用户   文件   踢掉   系统   日志

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!