《Linux信息安全实用教程》学习笔记

时间:2023-02-25 10:05:19

在GRUB中设置密码

vi  /etc/grub.conf

增加:

password = 654321

或者:

password --md5 (MD5值)

使用yyd用户能以root用户执行所有命令

vi  /etc/sidoers

yyd   ALL=(ALL)ALL

 Linux自带MD5加密

/sbin/grub-md5-crypt

限制su命令的滥用

使用PAM可以对切换到超级用户的限制,PAM可以禁止除在wheel组以外的任何人使用su命令转换成root

vi  /etc/pam.d/su

去掉这两行左边的注释符“#”:

#auth sufficient /libsecurity/$ISA/pam_wheel.so trust use_uid
#auth required /lib/security/$SIA/panm_wheel.so use_uid

使用过的命令查看以及配置修改

在“~/.bash_history”文件中默认保存了500条使用过的命令,只要按方向键中的上就可以调出来

vi /etc/profile

修改HISTSIZE的值:

HISTSIZE = 10

可以保存的旧命令为10条。

访问控制

hosts.allow和hosts.deny是tcpd服务器主配置文件,tcpd服务器可以控制外部IP对本机服务的访问

vi /etc/hosts.allow

ALL:127.0.01
ftp:192.168.0.0/255.255.255.0

 

第一行是允许访问本机所以服务进程

第二行是允许192.168.0.1~192.168.0.254的IP对本机ftp的服务访问

设置FTP服务器不允许匿名登录

vi /etc/vsftpd/vsftp.conf

anonymous_enable = NO 

 

把YES改为NO便可。

配置shadow文件禁止用户登录

这方法只是实现改变此用户密码导致不能登录

vi /etc/shadow

在yyd行,在第一个冒号之后加上一个星号 * 

终端禁止yyd用户登录

usermod -L yyd

修改密码最短长度

vi  /etc/login.defs

PASS_MIN_LEN 5

 

将5改为10,则最短密码为10。

禁止系统响应ping请求(需要安装iptables)

vi /etc/rc.d/ec/local

touch /var/lock/subsys/local
echo
1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

 

运行脚本 ./rc.local

在Linux启动过程中,禁止Ctrl + Alt +Del 重新启动

vi  /ect/inittab

注释掉下面这行,用“#”:

ca::ctrlaltdel:/sbin/shutdown -tb -r now

通过中断后台启动进程格式

进程命令 &

调度启动(at命令)

日志

Linux日志存储在/var/log目录中

1、当前登录的每个用户的信息记录在utmp文件中

2、每个用户最后的登录信息记录在lastlog文件中

3、每个用户登录、注销以及系统启动、停机的时间信息记录在wtmp文件中,所以记录都包含时间戳

who、who -m、who -q查看系统中用户登录情况

last:往回搜索自从文件wtmp创建以来最近登陆过的用户。

lastlog:列出用户最后登录的时间和登录终端的地址,如果此用户从来没有登录,则显示:**Never logged in**。

sa:汇总先前命令执行的信息。

access-log:记录HTTP/web的传输。

secure:巨鹿登录系统存取资料的信息。

btmp:记录失败的记录。

messages:从syslog记录信息(又得是连接到syslog文件)。

sudolog:记录使用sudo发出的命令。

sulog: 记录使用su命令的使用。

utmp:记录当前登录的每个用户。

wtmp:一个用户每次登录进入和退出时间的永久记录。

xferlog:记录FTP会话。

启动syslog服务

service syslog start

配置文件 /etc/syslog.conf

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log

 

 syslog.conf 行的基本语法是: 

[消息类型].[优先级]     [处理方案]       --->  facility.priority  log_location
注意:中间的分隔符必须是Tab 字符!
 
消息类型 - 说明
 
authpriv -包括特权信息如用户名在内的认证活动

cron -与 cron 和 at 有关的计划任务信息 

daemon -与 inetd 守护进程有关的后台进程信息

kern -内核信息,首先通过 klogd 传递

lpr -与打印服务有关的信息

mail -与电子邮件有关的信息

mark - syslog内部功能用于生成时间戳

news -来自新闻服务器的信息 

syslog -由 syslog 生成的信息 

user -由用户程序生成的信息 

uucp -由 uucp 生成的信息 

local0-local7 -与自定义程序使用

 

优先级 - 说明

 

emerg -该系统不可用,等同panic 

alert -需要立即被修改的条件 

crit -阻止某些工具或子系统功能实现的错误条件 

err -阻止工具或某些子系统部分功能实现的错误条件,等同error 

warning -预警信息,等同warn 

notice -具有重要性的普通条件 

info -提供信息的消息 

debug -不包含函数条件或问题的其他信息 

none -没有重要级,通常用于排错

 

处理方案 - 说明

 

file - 指定文件的绝对路径

teminal -输出到终端设备

@host -输出到远程日志服务器

username -发送到指定用户 

日志管理工具

logrotate

配置文件 /etc/logotate.conf

telnet修改默认端口号

vi  /etc/services

telnet 23/tcp
telnet 23/udp

 

将23改为其他数字。

telnet安全设置

/ect/xinetd.dtelnet

ssh基于密钥的验证方法

ssh -keygen -t rsa

VNC

能够将完整的窗口画面通过网络传输到另外一台计算机屏幕上。

防火墙

iptables

 

读书心得:

用的是RED HAT 9 的 Linux 操作系统,发现其实linux的系统做服务器真心好,我现在在管理一台学校的Win2003的服务器,虽然全图形界面话,用着很容易上手,但是如果是用的apache+PHP+MYSQL的话,配置,安全保护等弄起来很复杂,而且若是IIS的话,猜测漏洞比较多,会比较难管理吧。

 

转载请注明出处:http://www.cnblogs.com/yydcdut/p/3464340.html