在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 行的基本语法是:
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