日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。
在Linux系统中,有三个主要的日志子系统:
连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。
进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。
错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。
常用的日志文件如下:
access-log纪录HTTP/web的传输 acct/pacct纪录用户命令 aculog纪录MODEM的活动 btmp纪录失败的纪录 lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录 messages从syslog中记录信息(有的链接到syslog文件) sudolog 纪录使用sudo发出的命令 sulog 纪录使用su命令的使用 syslog从syslog中记录信息(通常链接到messages文件) utmp纪录当前登录的每个用户 wtmp一个用户每次登录进入和退出时间的永久纪录 xferlog 纪录FTP会话
utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命名并循环使用wtmp文件。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp.7。
() [#page_#][#page_#]
2.1 Samba 组成
一个 samba 服务器实际上包含了两个服务器程序:smbd 和 nmbd。Smbd 是 samba 的核心。它负责建立对话进程、验证用户身份、提供对文件系统和打印机的访问机制。Nmbd 实现了"network browser"(网络浏览服务器)的功能。它的作用是对外发布 samba 服务器可以提供的服务。Nmbd 可以使 samba 服务器出现在 Windows 95 或 Windows NT的"Network Neighborhood"(网络邻居)中并且可以客户机浏览到可以访问的资源。完全可以不运行 nmbd 而起动 samba 服务器进程,但是也许客户除了想看到 samba 服务器的 NetBIOS 名外,还想看到 samba 服务器可以提供的服务。
2.2 Samba 配置
由于 SMB 是一个非常复杂的协议,所以配置 samba 是十分繁复的,大约有超过 170 条配置项出现在 smb.conf文 件中。在 RedHat 和 Debian 中 Smb.conf 文件缺省位置是在 /etc/ 下,所有的 samba 程序都要参照这个配置文件。其结构十分类似 Windows 的 *.ini 文件。文件中的每一节都由一个被方括号括起来的标识开始,例如:[global]、[home] 和 [printers]。
每一个配置参数或是一个全局参数(影响或控制整个服务器),或是一个服务参数(影响或控制服务器提供的某项服务)。[global] 节设置全局选项和一些缺省的服务选项。[home] 节是用来动态的映射到每个用户的 home 目录下。[printers] 节用来设置把按照系统 printcap 文件配置的打印机共享至指定用户。
2.3 一个简单的 smb.conf
下面的 smb.conf 描绘了一个简单的但能工作的配置:
[global] netbios name = ABC workgroup = WORKGROUP server string = Linux security = user printing = lprng [homes] comment = Home Directory browseable = no read only = no
在 [global] 节中设置了主机的 netbios 名,主机所在的工作组的组名和把在 browse list 出现的提示字串。安全参数提示 samba 使用"user level"(用户级) 安全级别。SMB 有两种安全级别:share(共享级,对每个特定的资源使用口令保护和指定每个用户有各自不同的访问权限)和 user level(用户级)。不过在大多数情况下,你使用的是用户级安全级别。 由于没有指定特殊的加密方式,samba 缺省使用标准的 unix 口令字验证方式既 plaintext 口令字验证方式验证每个连接。若你的 linux 使用 PAM 模块,那麽你必须修改 PAM 配置使 samba 可以通过口令字数据库验证口令字。RadHat 自动进行这些处理。
[homes] 节中的设置用来控制每个用户 home 目录的共享情况。Comment parameter(注解参数)是在 browse list 中标示该条目的字串。 browseable 参数控制是否该项服务出现在 browse list 中。
下列的配置使每个可以登录至 samba 服务器的用户使用在系统 printcap 文件中定义过的打印机。
[printers] browseable = no guest ok = yes printable = yes
完成 smb.conf 文件的配置后,可以使用 Testparm 命令来快速检查 smb.conf 文件的语法错误。 通过以上配置,在 Linux 主机上运行 Samba 服务程序:smbd 和 nmbd。Windows 与 Unix、Linux 便可以很方便地进行进行数据交换。
()